cisco_node_utils 1.3.0 → 1.4.0
Sign up to get free protection for your applications and to get access to all the features.
- checksums.yaml +4 -4
- data/.gitignore +1 -0
- data/CHANGELOG.md +66 -0
- data/Gemfile +1 -0
- data/README.md +44 -43
- data/bin/.rubocop.yml +18 -0
- data/bin/show_running_yang.rb +233 -0
- data/cisco_node_utils.gemspec +1 -1
- data/docs/README-maintainers.md +1 -0
- data/docs/README-utilities.md +14 -0
- data/lib/.rubocop.yml +1 -1
- data/lib/cisco_node_utils/aaa_authentication_login_service.rb +8 -3
- data/lib/cisco_node_utils/aaa_authorization_service.rb +6 -0
- data/lib/cisco_node_utils/bfd_global.rb +300 -0
- data/lib/cisco_node_utils/bgp.rb +6 -4
- data/lib/cisco_node_utils/bgp_af.rb +2 -0
- data/lib/cisco_node_utils/bgp_neighbor.rb +14 -0
- data/lib/cisco_node_utils/bgp_neighbor_af.rb +4 -1
- data/lib/cisco_node_utils/cisco_cmn_utils.rb +126 -0
- data/lib/cisco_node_utils/client/client.rb +6 -2
- data/lib/cisco_node_utils/client/grpc/client.rb +120 -36
- data/lib/cisco_node_utils/client/nxapi/client.rb +6 -2
- data/lib/cisco_node_utils/cmd_ref/DEPRECATED.yaml +118 -0
- data/lib/cisco_node_utils/cmd_ref/aaa_authorization_service.yaml +14 -0
- data/lib/cisco_node_utils/cmd_ref/bfd_global.yaml +117 -0
- data/lib/cisco_node_utils/cmd_ref/bgp.yaml +7 -7
- data/lib/cisco_node_utils/cmd_ref/bgp_neighbor.yaml +7 -0
- data/lib/cisco_node_utils/cmd_ref/dhcp_relay_global.yaml +125 -0
- data/lib/cisco_node_utils/cmd_ref/feature.yaml +10 -0
- data/lib/cisco_node_utils/cmd_ref/interface.yaml +141 -49
- data/lib/cisco_node_utils/cmd_ref/interface_ospf.yaml +44 -0
- data/lib/cisco_node_utils/cmd_ref/interface_portchannel.yaml +6 -0
- data/lib/cisco_node_utils/cmd_ref/ospf.yaml +6 -0
- data/lib/cisco_node_utils/cmd_ref/ospf_area.yaml +91 -0
- data/lib/cisco_node_utils/cmd_ref/ospf_area_vlink.yaml +88 -0
- data/lib/cisco_node_utils/cmd_ref/overlay_global.yaml +0 -3
- data/lib/cisco_node_utils/cmd_ref/show_version.yaml +3 -3
- data/lib/cisco_node_utils/cmd_ref/snmp_community.yaml +39 -15
- data/lib/cisco_node_utils/cmd_ref/snmp_notification_receiver.yaml +43 -21
- data/lib/cisco_node_utils/cmd_ref/snmp_server.yaml +48 -19
- data/lib/cisco_node_utils/cmd_ref/snmp_user.yaml +0 -0
- data/lib/cisco_node_utils/cmd_ref/tacacs_global.yaml +30 -0
- data/lib/cisco_node_utils/cmd_ref/tacacs_server.yaml +18 -6
- data/lib/cisco_node_utils/cmd_ref/vdc.yaml +4 -0
- data/lib/cisco_node_utils/cmd_ref/virtual_service.yaml +1 -0
- data/lib/cisco_node_utils/cmd_ref/vlan.yaml +23 -10
- data/lib/cisco_node_utils/cmd_ref/vxlan_vtep.yaml +8 -2
- data/lib/cisco_node_utils/cmd_ref/yang.yaml +7 -0
- data/lib/cisco_node_utils/cmd_ref/yum.yaml +10 -1
- data/lib/cisco_node_utils/constants.rb +8 -1
- data/lib/cisco_node_utils/dhcp_relay_global.rb +302 -0
- data/lib/cisco_node_utils/exceptions.rb +29 -0
- data/lib/cisco_node_utils/feature.rb +28 -0
- data/lib/cisco_node_utils/interface.rb +493 -402
- data/lib/cisco_node_utils/interface_DEPRECATED.rb +513 -0
- data/lib/cisco_node_utils/interface_ospf.rb +126 -0
- data/lib/cisco_node_utils/interface_portchannel.rb +16 -0
- data/lib/cisco_node_utils/logger.rb +3 -0
- data/lib/cisco_node_utils/node.rb +29 -1
- data/lib/cisco_node_utils/overlay_global.rb +1 -12
- data/lib/cisco_node_utils/pim.rb +1 -0
- data/lib/cisco_node_utils/pim_group_list.rb +1 -0
- data/lib/cisco_node_utils/pim_rp_address.rb +1 -0
- data/lib/cisco_node_utils/platform.rb +9 -2
- data/lib/cisco_node_utils/router_ospf.rb +1 -1
- data/lib/cisco_node_utils/router_ospf_area.rb +416 -0
- data/lib/cisco_node_utils/router_ospf_area_vlink.rb +313 -0
- data/lib/cisco_node_utils/router_ospf_vrf.rb +17 -0
- data/lib/cisco_node_utils/snmp_notification_receiver.rb +27 -9
- data/lib/cisco_node_utils/snmpcommunity.rb +34 -8
- data/lib/cisco_node_utils/snmpserver.rb +4 -4
- data/lib/cisco_node_utils/snmpuser.rb +0 -0
- data/lib/cisco_node_utils/tacacs_global.rb +102 -0
- data/lib/cisco_node_utils/tacacs_server.rb +8 -7
- data/lib/cisco_node_utils/vdc.rb +25 -7
- data/lib/cisco_node_utils/version.rb +1 -1
- data/lib/cisco_node_utils/vlan.rb +30 -56
- data/lib/cisco_node_utils/vlan_DEPRECATED.rb +108 -0
- data/lib/cisco_node_utils/yang.rb +160 -0
- data/lib/cisco_node_utils/yum.rb +25 -32
- data/tests/.rubocop.yml +3 -0
- data/tests/ciscotest.rb +136 -19
- data/tests/cmd_config_invalid.yaml +1 -1
- data/tests/noop.rb +7 -0
- data/tests/tacacs_server.yaml.example +6 -0
- data/tests/test_aaa_authentication_login.rb +24 -1
- data/tests/test_aaa_authentication_login_service.rb +9 -16
- data/tests/test_aaa_authorization_service.rb +111 -84
- data/tests/test_bfd_global.rb +278 -0
- data/tests/test_bgp_neighbor.rb +20 -0
- data/tests/test_bridge_domain_vni.rb +2 -9
- data/tests/test_cmn_utils.rb +76 -0
- data/tests/test_dhcp_relay_global.rb +284 -0
- data/tests/test_dns_domain.rb +4 -4
- data/tests/test_domain_name.rb +2 -2
- data/tests/test_encapsulation.rb +2 -4
- data/tests/test_evpn_vni.rb +14 -7
- data/tests/test_fabricpath_global.rb +12 -13
- data/tests/test_feature.rb +35 -17
- data/tests/test_interface.rb +352 -127
- data/tests/test_interface_bdi.rb +2 -2
- data/tests/test_interface_channel_group.rb +1 -1
- data/tests/test_interface_ospf.rb +153 -23
- data/tests/test_interface_portchannel.rb +15 -6
- data/tests/test_interface_private_vlan.rb +200 -576
- data/tests/test_interface_svi.rb +5 -52
- data/tests/test_interface_switchport.rb +80 -240
- data/tests/test_itd_device_group.rb +2 -2
- data/tests/test_itd_device_group_node.rb +2 -2
- data/tests/test_itd_service.rb +1 -1
- data/tests/test_name_server.rb +3 -3
- data/tests/test_node_ext.rb +15 -17
- data/tests/test_ntp_config.rb +1 -1
- data/tests/test_ntp_server.rb +3 -3
- data/tests/test_nxapi.rb +1 -0
- data/tests/test_overlay_global.rb +15 -19
- data/tests/test_pim.rb +5 -5
- data/tests/test_pim_group_list.rb +1 -37
- data/tests/test_pim_rp_address.rb +1 -1
- data/tests/test_platform.rb +9 -11
- data/tests/test_portchannel_global.rb +43 -3
- data/tests/test_radius_server.rb +1 -1
- data/tests/test_radius_server_group.rb +1 -1
- data/tests/test_router_bgp.rb +17 -30
- data/tests/test_router_ospf_area.rb +433 -0
- data/tests/test_router_ospf_area_vlink.rb +298 -0
- data/tests/test_router_ospf_vrf.rb +17 -0
- data/tests/test_snmp_notification_receiver.rb +11 -11
- data/tests/test_snmpcommunity.rb +177 -69
- data/tests/test_snmpgroup.rb +7 -7
- data/tests/test_snmpserver.rb +164 -253
- data/tests/test_snmpuser.rb +73 -69
- data/tests/test_stp_global.rb +15 -15
- data/tests/test_syslog_settings.rb +1 -1
- data/tests/test_tacacs_global.rb +80 -0
- data/tests/test_tacacs_server.rb +129 -51
- data/tests/test_tacacs_server_group.rb +3 -29
- data/tests/test_tacacs_server_host.rb +24 -27
- data/tests/test_vlan.rb +57 -59
- data/tests/test_vlan_private.rb +271 -284
- data/tests/test_vpc.rb +10 -4
- data/tests/test_vrf.rb +2 -0
- data/tests/test_vrf_af.rb +2 -5
- data/tests/test_vtp.rb +5 -2
- data/tests/test_vxlan_vtep.rb +20 -44
- data/tests/test_vxlan_vtep_vni.rb +23 -16
- data/tests/test_yang.rb +369 -0
- data/tests/test_yum.rb +34 -42
- data/tests/yum_package.yaml +35 -0
- metadata +31 -4
- data/tests/test_vlan_mt_full.rb +0 -85
data/tests/test_snmpuser.rb
CHANGED
@@ -14,6 +14,7 @@
|
|
14
14
|
|
15
15
|
require_relative 'ciscotest'
|
16
16
|
require_relative '../lib/cisco_node_utils/snmpuser'
|
17
|
+
require 'pry'
|
17
18
|
|
18
19
|
DEFAULT_SNMP_USER_AUTH_PASSWORD = ''
|
19
20
|
DEFAULT_SNMP_USER_PRIV_PASSWORD = ''
|
@@ -23,13 +24,13 @@ DEFAULT_SNMP_USER_GROUP_NAME = 'network-operator'
|
|
23
24
|
class TestSnmpUser < CiscoTestCase
|
24
25
|
@skip_unless_supported = 'snmp_user'
|
25
26
|
|
26
|
-
@@
|
27
|
+
@@current_users = nil # rubocop:disable Style/ClassVars
|
27
28
|
|
28
29
|
def setup
|
29
30
|
super
|
30
31
|
@test_users = []
|
31
32
|
# Get the list of users that exist on the node when we first begin
|
32
|
-
@@
|
33
|
+
@@current_users = SnmpUser.users if @@current_users.nil? # rubocop:disable Style/ClassVars
|
33
34
|
end
|
34
35
|
|
35
36
|
def create_user(name, opts='')
|
@@ -42,21 +43,40 @@ class TestSnmpUser < CiscoTestCase
|
|
42
43
|
user.destroy
|
43
44
|
end
|
44
45
|
|
45
|
-
def
|
46
|
-
|
47
|
-
|
48
|
-
|
46
|
+
def remove_test_users
|
47
|
+
SnmpUser.users.values.each do |obj|
|
48
|
+
# Delete users that are in current but also added by these tests.
|
49
|
+
if @@current_users.keys.include?(obj.name) && @test_users.include?(obj.name)
|
50
|
+
obj.destroy
|
51
|
+
# Delete users that are part of test.
|
52
|
+
elsif @test_users.include? obj.name
|
53
|
+
obj.destroy
|
54
|
+
# Do not delete users in current but not in test.
|
55
|
+
elsif @@current_users.keys.include? obj.name
|
56
|
+
next
|
57
|
+
else
|
58
|
+
# Delete if not in current or test.
|
59
|
+
obj.destroy
|
60
|
+
end
|
49
61
|
end
|
62
|
+
end
|
63
|
+
|
64
|
+
def teardown
|
65
|
+
# This teardown tries to preserve any non-test snmp-server user entries
|
66
|
+
# and only teardown the entries added by this test.
|
67
|
+
remove_test_users
|
50
68
|
super
|
51
|
-
delta = SnmpUser.users.keys - @@
|
52
|
-
# User deletion can take some time, for some reason
|
69
|
+
delta = SnmpUser.users.keys - @@current_users.keys
|
53
70
|
unless delta.empty?
|
54
|
-
|
55
|
-
|
56
|
-
|
71
|
+
# Some platforms are slow, wait for snmp-server user entries to be deleted
|
72
|
+
15.times do
|
73
|
+
sleep(1)
|
74
|
+
node.cache_flush
|
75
|
+
delta = SnmpUser.users.keys - @@current_users.keys
|
76
|
+
break if delta.empty?
|
77
|
+
end
|
57
78
|
end
|
58
|
-
|
59
|
-
assert_empty(delta, 'Users not deleted after test!')
|
79
|
+
assert_empty(delta, 'teardown method did not clean up all users')
|
60
80
|
end
|
61
81
|
|
62
82
|
def user_pat(name, group='network-admin')
|
@@ -65,13 +85,13 @@ class TestSnmpUser < CiscoTestCase
|
|
65
85
|
|
66
86
|
## test cases starts here
|
67
87
|
|
68
|
-
def
|
88
|
+
def test_collection_not_empty
|
69
89
|
create_user('tester')
|
70
90
|
refute_empty(SnmpUser.users,
|
71
91
|
'SnmpUser collection is empty')
|
72
92
|
end
|
73
93
|
|
74
|
-
def
|
94
|
+
def test_create_invalid_args
|
75
95
|
args_list = [
|
76
96
|
['Empty name',
|
77
97
|
['', ['network-admin'],
|
@@ -91,17 +111,13 @@ class TestSnmpUser < CiscoTestCase
|
|
91
111
|
end
|
92
112
|
end
|
93
113
|
|
94
|
-
def
|
114
|
+
def test_create_invalid_cli
|
95
115
|
args_list = [
|
96
116
|
['Cleartext password with localized key',
|
97
117
|
['userv3testauthsha1', ['network-admin'],
|
98
118
|
:sha, 'test123456', :none, '', true, # localized key
|
99
119
|
''],
|
100
120
|
],
|
101
|
-
['NX-OS Password must be at least 8 characters',
|
102
|
-
['userv3testauthsha2', ['network-admin'],
|
103
|
-
:sha, 'test', :none, '', false, ''],
|
104
|
-
],
|
105
121
|
['Invalid group name',
|
106
122
|
['userv3test', ['network-admin123'],
|
107
123
|
:none, '', :none, '', false, ''],
|
@@ -135,7 +151,7 @@ class TestSnmpUser < CiscoTestCase
|
|
135
151
|
assert(found_tester2)
|
136
152
|
end
|
137
153
|
|
138
|
-
def
|
154
|
+
def test_noauth_nopriv
|
139
155
|
name = 'userv3test2'
|
140
156
|
groups = ['network-admin']
|
141
157
|
snmpuser = SnmpUser.new(name,
|
@@ -149,7 +165,7 @@ class TestSnmpUser < CiscoTestCase
|
|
149
165
|
snmpuser.destroy
|
150
166
|
end
|
151
167
|
|
152
|
-
def
|
168
|
+
def test_noauth_nopriv_multi
|
153
169
|
name = 'userv3test3'
|
154
170
|
groups = ['network-admin', 'vdc-admin']
|
155
171
|
snmpuser = SnmpUser.new(name,
|
@@ -165,7 +181,7 @@ class TestSnmpUser < CiscoTestCase
|
|
165
181
|
snmpuser.destroy
|
166
182
|
end
|
167
183
|
|
168
|
-
def
|
184
|
+
def test_destroy
|
169
185
|
name = 'userv3testdestroy'
|
170
186
|
group = 'network-operator'
|
171
187
|
create_user(name, group)
|
@@ -184,7 +200,7 @@ class TestSnmpUser < CiscoTestCase
|
|
184
200
|
assert_nil(SnmpUser.users[name])
|
185
201
|
end
|
186
202
|
|
187
|
-
def
|
203
|
+
def test_auth_pw_equal_invalid_param
|
188
204
|
name = 'testV3PwEqualInvalid2'
|
189
205
|
auth_pw = 'TeSt297534'
|
190
206
|
create_user(name, "network-admin auth md5 #{auth_pw}")
|
@@ -193,7 +209,7 @@ class TestSnmpUser < CiscoTestCase
|
|
193
209
|
refute(SnmpUser.users[name].auth_password_equal?('', false))
|
194
210
|
end
|
195
211
|
|
196
|
-
def
|
212
|
+
def test_auth_priv_pw_equal_invalid_param
|
197
213
|
name = 'testV3PwEqualInvalid'
|
198
214
|
auth_pw = 'XXWWPass0wrf'
|
199
215
|
create_user(name, "network-admin auth md5 #{auth_pw} priv #{auth_pw}")
|
@@ -204,7 +220,7 @@ class TestSnmpUser < CiscoTestCase
|
|
204
220
|
refute(snmpuser.priv_password_equal?('', false))
|
205
221
|
end
|
206
222
|
|
207
|
-
def
|
223
|
+
def test_auth_pw_equal_priv_invalid_param
|
208
224
|
name = 'testV3PwEqualInvalid'
|
209
225
|
auth_pw = 'XXWWPass0wrf'
|
210
226
|
create_user(name, "network-operator auth md5 #{auth_pw} priv #{auth_pw}")
|
@@ -215,7 +231,7 @@ class TestSnmpUser < CiscoTestCase
|
|
215
231
|
refute(snmpuser.priv_password_equal?('', false))
|
216
232
|
end
|
217
233
|
|
218
|
-
def
|
234
|
+
def test_auth_pw_not_equal
|
219
235
|
name = 'testV3PwEqual'
|
220
236
|
auth_pw = 'xxwwpass0r!f'
|
221
237
|
create_user(name, "network-admin auth md5 #{auth_pw}")
|
@@ -225,7 +241,7 @@ class TestSnmpUser < CiscoTestCase
|
|
225
241
|
refute(snmpuser.auth_password_equal?('xxwwpass0r!', false))
|
226
242
|
end
|
227
243
|
|
228
|
-
def
|
244
|
+
def test_auth_pw_equal
|
229
245
|
name = 'testV3PwEqual'
|
230
246
|
auth_pw = 'XXWWPass0wrf'
|
231
247
|
create_user(name, "network-admin auth md5 #{auth_pw}")
|
@@ -234,7 +250,7 @@ class TestSnmpUser < CiscoTestCase
|
|
234
250
|
assert(SnmpUser.users[name].auth_password_equal?(auth_pw, false))
|
235
251
|
end
|
236
252
|
|
237
|
-
def
|
253
|
+
def test_auth_priv_pw_equal_empty
|
238
254
|
name = 'testV3PwEmpty'
|
239
255
|
create_user(name, 'network-admin')
|
240
256
|
# nil and "" are treated interchangeably
|
@@ -244,7 +260,7 @@ class TestSnmpUser < CiscoTestCase
|
|
244
260
|
assert(SnmpUser.users[name].priv_password_equal?(nil, false))
|
245
261
|
end
|
246
262
|
|
247
|
-
def
|
263
|
+
def test_auth_pw_equal_localizedkey
|
248
264
|
name = 'testV3PwEqual'
|
249
265
|
auth_pw = '0xfe6cf9aea159c2c38e0a79ec23ed3cbb'
|
250
266
|
create_user(name, "network-admin auth md5 #{auth_pw} localizedkey")
|
@@ -256,7 +272,7 @@ class TestSnmpUser < CiscoTestCase
|
|
256
272
|
refute(snmpuser.auth_password_equal?('0xFe6c', true))
|
257
273
|
end
|
258
274
|
|
259
|
-
def
|
275
|
+
def test_auth_priv_pw_equal_localizedkey
|
260
276
|
name = 'testV3PwEqual'
|
261
277
|
auth_pw = '0xfe6cf9aea159c2c38e0a79ec23ed3cbb'
|
262
278
|
priv_pw = '0x29916eac22d90362598abef1b9045018'
|
@@ -270,7 +286,7 @@ class TestSnmpUser < CiscoTestCase
|
|
270
286
|
refute(snmpuser.priv_password_equal?('0x2291', true))
|
271
287
|
end
|
272
288
|
|
273
|
-
def
|
289
|
+
def test_auth_priv_des_pw_equal
|
274
290
|
name = 'testV3PwEqual'
|
275
291
|
auth_pw = 'XXWWPass0wrf'
|
276
292
|
priv_pw = 'WWXXPaas0wrf'
|
@@ -282,7 +298,7 @@ class TestSnmpUser < CiscoTestCase
|
|
282
298
|
assert(snmpuser.priv_password_equal?(priv_pw, false))
|
283
299
|
end
|
284
300
|
|
285
|
-
def
|
301
|
+
def test_auth_md5_nopriv
|
286
302
|
name = 'userv3test5'
|
287
303
|
groups = ['network-admin']
|
288
304
|
auth_pw = 'XXWWPass0wrf'
|
@@ -298,7 +314,7 @@ class TestSnmpUser < CiscoTestCase
|
|
298
314
|
snmpuser.destroy
|
299
315
|
end
|
300
316
|
|
301
|
-
def
|
317
|
+
def test_auth_md5_nopriv_pw_localized
|
302
318
|
name = 'userv3testauth'
|
303
319
|
groups = ['network-admin']
|
304
320
|
auth_pw = '0xfe6cf9aea159c2c38e0a79ec23ed3cbb'
|
@@ -316,7 +332,7 @@ class TestSnmpUser < CiscoTestCase
|
|
316
332
|
snmpuser.destroy
|
317
333
|
end
|
318
334
|
|
319
|
-
def
|
335
|
+
def test_auth_sha_nopriv
|
320
336
|
name = 'userv3testsha'
|
321
337
|
groups = ['network-admin']
|
322
338
|
auth_pw = 'XXWWPass0wrf'
|
@@ -334,7 +350,7 @@ class TestSnmpUser < CiscoTestCase
|
|
334
350
|
|
335
351
|
# If the auth pw is in hex and localized key param in constructor is false,
|
336
352
|
# then the pw got localized by the device again.
|
337
|
-
def
|
353
|
+
def test_auth_sha_nopriv_pw_localized_false
|
338
354
|
name = 'userv3testauthsha3'
|
339
355
|
groups = ['network-admin']
|
340
356
|
auth_pw = '0xFe6cf9aea159c2c38e0a79ec23ed3cbb'
|
@@ -351,7 +367,7 @@ class TestSnmpUser < CiscoTestCase
|
|
351
367
|
snmpuser.destroy
|
352
368
|
end
|
353
369
|
|
354
|
-
def
|
370
|
+
def test_auth_sha_nopriv_pw_localized
|
355
371
|
name = 'userv3testauthsha4'
|
356
372
|
groups = ['network-admin']
|
357
373
|
auth_pw = '0xfe6cf9aea159c2c38e0a79ec23ed3cbb'
|
@@ -367,7 +383,7 @@ class TestSnmpUser < CiscoTestCase
|
|
367
383
|
snmpuser.destroy
|
368
384
|
end
|
369
385
|
|
370
|
-
def
|
386
|
+
def test_auth_md5_priv_des
|
371
387
|
name = 'userv3test6'
|
372
388
|
groups = ['network-admin']
|
373
389
|
auth_pw = 'XXWWPass0wrf'
|
@@ -384,7 +400,7 @@ class TestSnmpUser < CiscoTestCase
|
|
384
400
|
snmpuser.destroy
|
385
401
|
end
|
386
402
|
|
387
|
-
def
|
403
|
+
def test_auth_md5_priv_des_pw_localized
|
388
404
|
name = 'userv3testauth'
|
389
405
|
groups = ['network-admin']
|
390
406
|
auth_pw = '0xfe6cf9aea159c2c38e0a79ec23ed3cbb'
|
@@ -395,15 +411,13 @@ class TestSnmpUser < CiscoTestCase
|
|
395
411
|
:des, priv_pw,
|
396
412
|
true, # localized
|
397
413
|
'')
|
398
|
-
# rubocop:disable Metrics/LineLength
|
399
414
|
assert_show_match(
|
400
415
|
pattern: /#{user_pat(name)} auth md5 #{auth_pw} priv #{priv_pw} localizedkey/,
|
401
416
|
command: "show run snmp all | in #{name} | no-more")
|
402
|
-
# rubocop:enable Metrics/LineLength
|
403
417
|
snmpuser.destroy
|
404
418
|
end
|
405
419
|
|
406
|
-
def
|
420
|
+
def test_auth_md5_priv_aes128
|
407
421
|
name = 'userv3test7'
|
408
422
|
groups = ['network-admin']
|
409
423
|
auth_pw = 'XXWWPass0wrf'
|
@@ -420,7 +434,7 @@ class TestSnmpUser < CiscoTestCase
|
|
420
434
|
snmpuser.destroy
|
421
435
|
end
|
422
436
|
|
423
|
-
def
|
437
|
+
def test_auth_md5_priv_aes128_pw_localized
|
424
438
|
name = 'userv3testauth'
|
425
439
|
groups = ['network-admin']
|
426
440
|
auth_pw = '0xfe6cf9aea159c2c38e0a79ec23ed3cbb'
|
@@ -431,15 +445,13 @@ class TestSnmpUser < CiscoTestCase
|
|
431
445
|
:aes128, priv_pw,
|
432
446
|
true, # localized
|
433
447
|
'')
|
434
|
-
# rubocop:disable Metrics/LineLength
|
435
448
|
assert_show_match(
|
436
449
|
pattern: /#{user_pat(name)} auth md5 #{auth_pw} priv aes-128 #{priv_pw} localizedkey/,
|
437
450
|
command: "show run snmp all | in #{name} | no-more")
|
438
|
-
# rubocop:enable Metrics/LineLength
|
439
451
|
snmpuser.destroy
|
440
452
|
end
|
441
453
|
|
442
|
-
def
|
454
|
+
def test_auth_sha_priv_des
|
443
455
|
name = 'userv3test8'
|
444
456
|
groups = ['network-admin']
|
445
457
|
auth_pw = 'XXWWPass0wrf'
|
@@ -456,7 +468,7 @@ class TestSnmpUser < CiscoTestCase
|
|
456
468
|
snmpuser.destroy
|
457
469
|
end
|
458
470
|
|
459
|
-
def
|
471
|
+
def test_auth_md5_priv_sha_pw_localized
|
460
472
|
name = 'userv3testauth'
|
461
473
|
groups = ['network-admin']
|
462
474
|
auth_pw = '0xfe6cf9aea159c2c38e0a79ec23ed3cbb'
|
@@ -467,15 +479,13 @@ class TestSnmpUser < CiscoTestCase
|
|
467
479
|
:des, priv_pw,
|
468
480
|
true, # localized
|
469
481
|
'')
|
470
|
-
# rubocop:disable Metrics/LineLength
|
471
482
|
assert_show_match(
|
472
483
|
pattern: /#{user_pat(name)} auth sha #{auth_pw} priv #{priv_pw} localizedkey/,
|
473
484
|
command: "show run snmp all | in #{name} | no-more")
|
474
|
-
# rubocop:enable Metrics/LineLength
|
475
485
|
snmpuser.destroy
|
476
486
|
end
|
477
487
|
|
478
|
-
def
|
488
|
+
def test_auth_sha_priv_aes128
|
479
489
|
name = 'userv3test9'
|
480
490
|
groups = ['network-admin']
|
481
491
|
auth_pw = 'XXWWPass0wrf'
|
@@ -492,7 +502,7 @@ class TestSnmpUser < CiscoTestCase
|
|
492
502
|
snmpuser.destroy
|
493
503
|
end
|
494
504
|
|
495
|
-
def
|
505
|
+
def test_auth_sha_priv_aes128_pw_localized
|
496
506
|
name = 'userv3testauth'
|
497
507
|
groups = ['network-admin']
|
498
508
|
auth_pw = '0xfe6cf9aea159c2c38e0a79ec23ed3cbb'
|
@@ -503,26 +513,22 @@ class TestSnmpUser < CiscoTestCase
|
|
503
513
|
:aes128, priv_pw,
|
504
514
|
true, # localized
|
505
515
|
'')
|
506
|
-
# rubocop:disable Metrics/LineLength
|
507
516
|
assert_show_match(
|
508
517
|
pattern: /#{user_pat(name)} auth sha #{auth_pw} priv aes-128 #{priv_pw} localizedkey/,
|
509
518
|
command: "show run snmp all | in #{name} | no-more")
|
510
|
-
# rubocop:enable Metrics/LineLength
|
511
519
|
snmpuser.destroy
|
512
520
|
end
|
513
521
|
|
514
|
-
def
|
522
|
+
def test_create_destroy_with_engine_id
|
515
523
|
name = 'test_with_engine_id'
|
516
524
|
auth_pw = 'XXWWPass0wrf'
|
517
525
|
priv_pw = 'XXWWPass0wrf'
|
518
526
|
engine_id = '128:12:12:12:12'
|
519
527
|
snmpuser = SnmpUser.new(name, [''], :md5, auth_pw, :des, priv_pw,
|
520
528
|
false, engine_id)
|
521
|
-
# rubocop:disable Metrics/LineLength
|
522
529
|
assert_show_match(
|
523
530
|
pattern: /snmp-server user #{name} auth \S+ \S+ priv .*\S+ localizedkey engineID #{engine_id}/,
|
524
531
|
command: "show run snmp all | in #{name} | no-more")
|
525
|
-
# rubocop:enable Metrics/LineLength
|
526
532
|
user = SnmpUser.users["#{name} #{engine_id}"]
|
527
533
|
refute_nil(user)
|
528
534
|
assert_equal(snmpuser.name, user.name)
|
@@ -530,15 +536,13 @@ class TestSnmpUser < CiscoTestCase
|
|
530
536
|
assert_equal(snmpuser.engine_id, engine_id)
|
531
537
|
assert_equal(snmpuser.engine_id, user.engine_id)
|
532
538
|
snmpuser.destroy
|
533
|
-
# rubocop:disable Metrics/LineLength
|
534
539
|
refute_show_match(
|
535
540
|
pattern: /snmp-server user #{name} auth \S+ \S+ priv .*\S+ localizedkey engineID #{engine_id}/,
|
536
541
|
command: "show run snmp all | in #{name} | no-more")
|
537
|
-
# rubocop:enable Metrics/LineLength
|
538
542
|
assert_nil(SnmpUser.users["#{name} #{engine_id}"])
|
539
543
|
end
|
540
544
|
|
541
|
-
def
|
545
|
+
def test_authpassword
|
542
546
|
name = 'test_authpassword'
|
543
547
|
auth_pw = '0x123456'
|
544
548
|
snmpuser = SnmpUser.new(name, [''], :md5, auth_pw, :none, '', true, '')
|
@@ -548,7 +552,7 @@ class TestSnmpUser < CiscoTestCase
|
|
548
552
|
snmpuser.destroy
|
549
553
|
end
|
550
554
|
|
551
|
-
def
|
555
|
+
def test_authpassword_with_engineid
|
552
556
|
name = 'test_authpassword'
|
553
557
|
auth_pw = '0x123456'
|
554
558
|
engine_id = '128:12:12:12:12'
|
@@ -560,7 +564,7 @@ class TestSnmpUser < CiscoTestCase
|
|
560
564
|
snmpuser.destroy
|
561
565
|
end
|
562
566
|
|
563
|
-
def
|
567
|
+
def test_privpassword
|
564
568
|
name = 'test_privpassword'
|
565
569
|
priv_password = '0x123456'
|
566
570
|
snmpuser = SnmpUser.new(name, [''], :md5, priv_password,
|
@@ -577,7 +581,7 @@ class TestSnmpUser < CiscoTestCase
|
|
577
581
|
snmpuser.destroy
|
578
582
|
end
|
579
583
|
|
580
|
-
def
|
584
|
+
def test_privpassword_with_engineid
|
581
585
|
name = 'test_privpassword2'
|
582
586
|
priv_password = '0x123456'
|
583
587
|
engine_id = '128:12:12:12:12'
|
@@ -594,7 +598,7 @@ class TestSnmpUser < CiscoTestCase
|
|
594
598
|
snmpuser.destroy
|
595
599
|
end
|
596
600
|
|
597
|
-
def
|
601
|
+
def test_auth_password_equal_with_engineid
|
598
602
|
name = 'test_authpass_equal'
|
599
603
|
auth_pass = 'XXWWPass0wrf'
|
600
604
|
engine_id = '128:12:12:12:12'
|
@@ -608,7 +612,7 @@ class TestSnmpUser < CiscoTestCase
|
|
608
612
|
snmpuser.destroy
|
609
613
|
end
|
610
614
|
|
611
|
-
def
|
615
|
+
def test_priv_password_equal_with_engineid
|
612
616
|
name = 'test_privpass_equal'
|
613
617
|
priv_pass = 'XXWWPass0wrf'
|
614
618
|
engine_id = '128:12:12:12:12'
|
@@ -626,31 +630,31 @@ class TestSnmpUser < CiscoTestCase
|
|
626
630
|
snmpuser.destroy
|
627
631
|
end
|
628
632
|
|
629
|
-
def
|
633
|
+
def test_default_groups
|
630
634
|
groups = [DEFAULT_SNMP_USER_GROUP_NAME]
|
631
635
|
assert_equal(groups, SnmpUser.default_groups,
|
632
636
|
'Error: Wrong default groups')
|
633
637
|
end
|
634
638
|
|
635
|
-
def
|
639
|
+
def test_default_auth_protocol
|
636
640
|
assert_equal(:md5,
|
637
641
|
SnmpUser.default_auth_protocol,
|
638
642
|
'Error: Wrong default auth protocol')
|
639
643
|
end
|
640
644
|
|
641
|
-
def
|
645
|
+
def test_default_auth_password
|
642
646
|
assert_equal(DEFAULT_SNMP_USER_AUTH_PASSWORD,
|
643
647
|
SnmpUser.default_auth_password,
|
644
648
|
'Error: Wrong default auth password')
|
645
649
|
end
|
646
650
|
|
647
|
-
def
|
651
|
+
def test_default_priv_protocol
|
648
652
|
assert_equal(:des,
|
649
653
|
SnmpUser.default_priv_protocol,
|
650
654
|
'Error: Wrong default priv protocol')
|
651
655
|
end
|
652
656
|
|
653
|
-
def
|
657
|
+
def test_default_priv_password
|
654
658
|
assert_equal(DEFAULT_SNMP_USER_PRIV_PASSWORD,
|
655
659
|
SnmpUser.default_priv_password,
|
656
660
|
'Error: Wrong default priv password')
|