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.
Files changed (151) hide show
  1. checksums.yaml +4 -4
  2. data/.gitignore +1 -0
  3. data/CHANGELOG.md +66 -0
  4. data/Gemfile +1 -0
  5. data/README.md +44 -43
  6. data/bin/.rubocop.yml +18 -0
  7. data/bin/show_running_yang.rb +233 -0
  8. data/cisco_node_utils.gemspec +1 -1
  9. data/docs/README-maintainers.md +1 -0
  10. data/docs/README-utilities.md +14 -0
  11. data/lib/.rubocop.yml +1 -1
  12. data/lib/cisco_node_utils/aaa_authentication_login_service.rb +8 -3
  13. data/lib/cisco_node_utils/aaa_authorization_service.rb +6 -0
  14. data/lib/cisco_node_utils/bfd_global.rb +300 -0
  15. data/lib/cisco_node_utils/bgp.rb +6 -4
  16. data/lib/cisco_node_utils/bgp_af.rb +2 -0
  17. data/lib/cisco_node_utils/bgp_neighbor.rb +14 -0
  18. data/lib/cisco_node_utils/bgp_neighbor_af.rb +4 -1
  19. data/lib/cisco_node_utils/cisco_cmn_utils.rb +126 -0
  20. data/lib/cisco_node_utils/client/client.rb +6 -2
  21. data/lib/cisco_node_utils/client/grpc/client.rb +120 -36
  22. data/lib/cisco_node_utils/client/nxapi/client.rb +6 -2
  23. data/lib/cisco_node_utils/cmd_ref/DEPRECATED.yaml +118 -0
  24. data/lib/cisco_node_utils/cmd_ref/aaa_authorization_service.yaml +14 -0
  25. data/lib/cisco_node_utils/cmd_ref/bfd_global.yaml +117 -0
  26. data/lib/cisco_node_utils/cmd_ref/bgp.yaml +7 -7
  27. data/lib/cisco_node_utils/cmd_ref/bgp_neighbor.yaml +7 -0
  28. data/lib/cisco_node_utils/cmd_ref/dhcp_relay_global.yaml +125 -0
  29. data/lib/cisco_node_utils/cmd_ref/feature.yaml +10 -0
  30. data/lib/cisco_node_utils/cmd_ref/interface.yaml +141 -49
  31. data/lib/cisco_node_utils/cmd_ref/interface_ospf.yaml +44 -0
  32. data/lib/cisco_node_utils/cmd_ref/interface_portchannel.yaml +6 -0
  33. data/lib/cisco_node_utils/cmd_ref/ospf.yaml +6 -0
  34. data/lib/cisco_node_utils/cmd_ref/ospf_area.yaml +91 -0
  35. data/lib/cisco_node_utils/cmd_ref/ospf_area_vlink.yaml +88 -0
  36. data/lib/cisco_node_utils/cmd_ref/overlay_global.yaml +0 -3
  37. data/lib/cisco_node_utils/cmd_ref/show_version.yaml +3 -3
  38. data/lib/cisco_node_utils/cmd_ref/snmp_community.yaml +39 -15
  39. data/lib/cisco_node_utils/cmd_ref/snmp_notification_receiver.yaml +43 -21
  40. data/lib/cisco_node_utils/cmd_ref/snmp_server.yaml +48 -19
  41. data/lib/cisco_node_utils/cmd_ref/snmp_user.yaml +0 -0
  42. data/lib/cisco_node_utils/cmd_ref/tacacs_global.yaml +30 -0
  43. data/lib/cisco_node_utils/cmd_ref/tacacs_server.yaml +18 -6
  44. data/lib/cisco_node_utils/cmd_ref/vdc.yaml +4 -0
  45. data/lib/cisco_node_utils/cmd_ref/virtual_service.yaml +1 -0
  46. data/lib/cisco_node_utils/cmd_ref/vlan.yaml +23 -10
  47. data/lib/cisco_node_utils/cmd_ref/vxlan_vtep.yaml +8 -2
  48. data/lib/cisco_node_utils/cmd_ref/yang.yaml +7 -0
  49. data/lib/cisco_node_utils/cmd_ref/yum.yaml +10 -1
  50. data/lib/cisco_node_utils/constants.rb +8 -1
  51. data/lib/cisco_node_utils/dhcp_relay_global.rb +302 -0
  52. data/lib/cisco_node_utils/exceptions.rb +29 -0
  53. data/lib/cisco_node_utils/feature.rb +28 -0
  54. data/lib/cisco_node_utils/interface.rb +493 -402
  55. data/lib/cisco_node_utils/interface_DEPRECATED.rb +513 -0
  56. data/lib/cisco_node_utils/interface_ospf.rb +126 -0
  57. data/lib/cisco_node_utils/interface_portchannel.rb +16 -0
  58. data/lib/cisco_node_utils/logger.rb +3 -0
  59. data/lib/cisco_node_utils/node.rb +29 -1
  60. data/lib/cisco_node_utils/overlay_global.rb +1 -12
  61. data/lib/cisco_node_utils/pim.rb +1 -0
  62. data/lib/cisco_node_utils/pim_group_list.rb +1 -0
  63. data/lib/cisco_node_utils/pim_rp_address.rb +1 -0
  64. data/lib/cisco_node_utils/platform.rb +9 -2
  65. data/lib/cisco_node_utils/router_ospf.rb +1 -1
  66. data/lib/cisco_node_utils/router_ospf_area.rb +416 -0
  67. data/lib/cisco_node_utils/router_ospf_area_vlink.rb +313 -0
  68. data/lib/cisco_node_utils/router_ospf_vrf.rb +17 -0
  69. data/lib/cisco_node_utils/snmp_notification_receiver.rb +27 -9
  70. data/lib/cisco_node_utils/snmpcommunity.rb +34 -8
  71. data/lib/cisco_node_utils/snmpserver.rb +4 -4
  72. data/lib/cisco_node_utils/snmpuser.rb +0 -0
  73. data/lib/cisco_node_utils/tacacs_global.rb +102 -0
  74. data/lib/cisco_node_utils/tacacs_server.rb +8 -7
  75. data/lib/cisco_node_utils/vdc.rb +25 -7
  76. data/lib/cisco_node_utils/version.rb +1 -1
  77. data/lib/cisco_node_utils/vlan.rb +30 -56
  78. data/lib/cisco_node_utils/vlan_DEPRECATED.rb +108 -0
  79. data/lib/cisco_node_utils/yang.rb +160 -0
  80. data/lib/cisco_node_utils/yum.rb +25 -32
  81. data/tests/.rubocop.yml +3 -0
  82. data/tests/ciscotest.rb +136 -19
  83. data/tests/cmd_config_invalid.yaml +1 -1
  84. data/tests/noop.rb +7 -0
  85. data/tests/tacacs_server.yaml.example +6 -0
  86. data/tests/test_aaa_authentication_login.rb +24 -1
  87. data/tests/test_aaa_authentication_login_service.rb +9 -16
  88. data/tests/test_aaa_authorization_service.rb +111 -84
  89. data/tests/test_bfd_global.rb +278 -0
  90. data/tests/test_bgp_neighbor.rb +20 -0
  91. data/tests/test_bridge_domain_vni.rb +2 -9
  92. data/tests/test_cmn_utils.rb +76 -0
  93. data/tests/test_dhcp_relay_global.rb +284 -0
  94. data/tests/test_dns_domain.rb +4 -4
  95. data/tests/test_domain_name.rb +2 -2
  96. data/tests/test_encapsulation.rb +2 -4
  97. data/tests/test_evpn_vni.rb +14 -7
  98. data/tests/test_fabricpath_global.rb +12 -13
  99. data/tests/test_feature.rb +35 -17
  100. data/tests/test_interface.rb +352 -127
  101. data/tests/test_interface_bdi.rb +2 -2
  102. data/tests/test_interface_channel_group.rb +1 -1
  103. data/tests/test_interface_ospf.rb +153 -23
  104. data/tests/test_interface_portchannel.rb +15 -6
  105. data/tests/test_interface_private_vlan.rb +200 -576
  106. data/tests/test_interface_svi.rb +5 -52
  107. data/tests/test_interface_switchport.rb +80 -240
  108. data/tests/test_itd_device_group.rb +2 -2
  109. data/tests/test_itd_device_group_node.rb +2 -2
  110. data/tests/test_itd_service.rb +1 -1
  111. data/tests/test_name_server.rb +3 -3
  112. data/tests/test_node_ext.rb +15 -17
  113. data/tests/test_ntp_config.rb +1 -1
  114. data/tests/test_ntp_server.rb +3 -3
  115. data/tests/test_nxapi.rb +1 -0
  116. data/tests/test_overlay_global.rb +15 -19
  117. data/tests/test_pim.rb +5 -5
  118. data/tests/test_pim_group_list.rb +1 -37
  119. data/tests/test_pim_rp_address.rb +1 -1
  120. data/tests/test_platform.rb +9 -11
  121. data/tests/test_portchannel_global.rb +43 -3
  122. data/tests/test_radius_server.rb +1 -1
  123. data/tests/test_radius_server_group.rb +1 -1
  124. data/tests/test_router_bgp.rb +17 -30
  125. data/tests/test_router_ospf_area.rb +433 -0
  126. data/tests/test_router_ospf_area_vlink.rb +298 -0
  127. data/tests/test_router_ospf_vrf.rb +17 -0
  128. data/tests/test_snmp_notification_receiver.rb +11 -11
  129. data/tests/test_snmpcommunity.rb +177 -69
  130. data/tests/test_snmpgroup.rb +7 -7
  131. data/tests/test_snmpserver.rb +164 -253
  132. data/tests/test_snmpuser.rb +73 -69
  133. data/tests/test_stp_global.rb +15 -15
  134. data/tests/test_syslog_settings.rb +1 -1
  135. data/tests/test_tacacs_global.rb +80 -0
  136. data/tests/test_tacacs_server.rb +129 -51
  137. data/tests/test_tacacs_server_group.rb +3 -29
  138. data/tests/test_tacacs_server_host.rb +24 -27
  139. data/tests/test_vlan.rb +57 -59
  140. data/tests/test_vlan_private.rb +271 -284
  141. data/tests/test_vpc.rb +10 -4
  142. data/tests/test_vrf.rb +2 -0
  143. data/tests/test_vrf_af.rb +2 -5
  144. data/tests/test_vtp.rb +5 -2
  145. data/tests/test_vxlan_vtep.rb +20 -44
  146. data/tests/test_vxlan_vtep_vni.rb +23 -16
  147. data/tests/test_yang.rb +369 -0
  148. data/tests/test_yum.rb +34 -42
  149. data/tests/yum_package.yaml +35 -0
  150. metadata +31 -4
  151. data/tests/test_vlan_mt_full.rb +0 -85
@@ -12,5 +12,5 @@ feature-nested_bad_syntax:
12
12
 
13
13
  feature-input_too_long:
14
14
  command: |
15
- router ospf bluethisoutputistolongwaytoolong
15
+ router ospf bluethisoutputistolongwaytoolongreallylong
16
16
 
data/tests/noop.rb ADDED
@@ -0,0 +1,7 @@
1
+ require_relative 'ciscotest'
2
+ # NOOP class for CI development use only
3
+ class Noop < CiscoTestCase
4
+ def test_noop
5
+ assert(true)
6
+ end
7
+ end
@@ -0,0 +1,6 @@
1
+ # Tacacs server configuration for test_aaa_authorization_service.rb
2
+ # Tacacs server must be set up with external access for test to run
3
+ host: '10.122.197.197'
4
+ key: 'testing123'
5
+ vrf: 'management'
6
+ intf: 'mgmt0'
@@ -16,8 +16,31 @@ require_relative 'ciscotest'
16
16
  require_relative '../lib/cisco_node_utils/aaa_authentication_login'
17
17
 
18
18
  # Test class for AAA Authentication Login
19
- class TestAaaAuthenticationLogin < CiscoTestCase
19
+ class TestAaaAuthenLogin < CiscoTestCase
20
20
  @skip_unless_supported = 'aaa_authentication_login'
21
+ @@pre_clean_needed = true # rubocop:disable Style/ClassVars
22
+
23
+ def setup
24
+ super
25
+ return unless @@pre_clean_needed
26
+ cleanup
27
+ @@pre_clean_needed = false # rubocop:disable Style/ClassVars
28
+ end
29
+
30
+ def teardown
31
+ cleanup
32
+ super
33
+ end
34
+
35
+ def cleanup
36
+ # Remove any stale commands that may conflict with this testfile
37
+ s = @device.cmd("show run | i '^aaa authentication' | sed 's/^/no /'")
38
+ s.split("\n").each do |line|
39
+ next unless line[/no aaa/]
40
+ config_no_warn(line)
41
+ end
42
+ end
43
+
21
44
  # DEFAULT(:ascii_authentication)
22
45
  # => false
23
46
  # rubocop:disable Style/MethodName
@@ -20,14 +20,13 @@ AAA_AUTH_LOGIN_SERVICE_METHOD_LOCAL = :local
20
20
  AAA_AUTH_LOGIN_SERVICE_METHOD_UNSELECTED = :unselected
21
21
 
22
22
  # Test class for AAA Authentication Login Service
23
- class TestAaaAuthenticationLoginService < CiscoTestCase
23
+ class TestAaaAuthenLoginSvc < CiscoTestCase
24
24
  @skip_unless_supported = 'aaa_auth_login_service'
25
25
 
26
26
  def setup
27
27
  super
28
- # TBD: Remove once CSCuz44696 is resolved.
29
- skip('This test is not currently supported on 7.0(3)I3 images') if
30
- node.os_version[/7.0\(3\)I3\(/]
28
+ skip_legacy_defect?('7.0.3.I3.1',
29
+ 'CSCuz44696: Cannot configure aaa group server tacacs')
31
30
  end
32
31
 
33
32
  def unconfig_tacacs
@@ -85,13 +84,12 @@ class TestAaaAuthenticationLoginService < CiscoTestCase
85
84
  aaaauthloginservice.nil?
86
85
  end
87
86
 
88
- def test_collection_with_service_default
87
+ # Test with service default
88
+ def test_collection_svc_def
89
89
  unconfig_aaa
90
90
  aaaauthloginservice_list = AaaAuthenticationLoginService.services
91
91
  refute_empty(aaaauthloginservice_list,
92
92
  'Error: service collection is not filled')
93
- assert_equal(1, aaaauthloginservice_list.size,
94
- 'Error: collection not reporting correct ')
95
93
  assert(aaaauthloginservice_list.key?('default'),
96
94
  'Error: collection does contain default')
97
95
  aaaauthloginservice_list.each do |name, aaaauthloginservice|
@@ -107,7 +105,8 @@ class TestAaaAuthenticationLoginService < CiscoTestCase
107
105
  aaaauthloginservices_default
108
106
  end
109
107
 
110
- def test_collection_with_service_default_and_console
108
+ # Test with service default and console
109
+ def test_collection_svc_def_con
111
110
  unconfig_aaa
112
111
  # preconfig console
113
112
  config('aaa authentication login console none')
@@ -143,7 +142,8 @@ class TestAaaAuthenticationLoginService < CiscoTestCase
143
142
  aaaauthloginservices_default
144
143
  end
145
144
 
146
- def test_collection_with_service_default_and_console_with_group
145
+ # Test with service default and console with group
146
+ def test_collection_svc_def_con_grp
147
147
  # preconfig servers
148
148
  servers = %w(group1 group2)
149
149
  config_tacacs_servers(servers)
@@ -655,13 +655,6 @@ class TestAaaAuthenticationLoginService < CiscoTestCase
655
655
  assert_show_match(command: 'show run aaa all | no-more',
656
656
  pattern: Regexp.new(prefix + groups.join(' ')))
657
657
 
658
- # default group and method
659
- method = aaaauthloginservice.default_method
660
- groups = aaaauthloginservice.default_groups
661
- aaaauthloginservice.groups_method_set(groups, method)
662
- refute_show_match(command: 'show run aaa all | no-more',
663
- pattern: /^aaa authentication login console local/)
664
-
665
658
  aaaauthloginservice_detach(aaaauthloginservice)
666
659
  unconfig_tacacs
667
660
  end
@@ -12,20 +12,20 @@
12
12
  # See the License for the specific language governing permissions and
13
13
  # limitations under the License.
14
14
 
15
+ require 'yaml'
15
16
  require_relative 'ciscotest'
16
17
  require_relative '../lib/cisco_node_utils/aaa_authorization_service'
17
18
 
18
19
  # TestAaaAuthorizationService - Minitest for AaaAuthorizationService util
19
- class TestAaaAuthorizationService < CiscoTestCase
20
+ class TestAaaAuthorSvc < CiscoTestCase
20
21
  @skip_unless_supported = 'aaa_authorization_service'
21
22
  @@pre_clean_needed = true # rubocop:disable Style/ClassVars
22
23
 
23
24
  def setup
24
25
  super
25
- # TBD: Remove once CSCuz44696 is resolved.
26
- skip('This test is not currently supported on 7.0(3)I3 images') if
27
- node.os_version[/7.0\(3\)I3\(/]
28
26
 
27
+ skip_legacy_defect?('7.0.3.I3.1',
28
+ 'CSCuz44696: Cannot configure aaa group server tacacs')
29
29
  cleanup_aaa if @@pre_clean_needed
30
30
  @@pre_clean_needed = false # rubocop:disable Style/ClassVars
31
31
  feature_tacacs
@@ -42,6 +42,7 @@ class TestAaaAuthorizationService < CiscoTestCase
42
42
  def cleanup_aaa
43
43
  cmds = config('show run aaa').scan(/^aaa auth.*/)
44
44
  cmds.each do |cmd|
45
+ cmd = strip_local(cmd) unless AaaAuthorizationService.remove_local_auth
45
46
  config("no #{cmd}")
46
47
  end
47
48
  end
@@ -57,6 +58,13 @@ class TestAaaAuthorizationService < CiscoTestCase
57
58
  config("#{state} feature tacacs+")
58
59
  end
59
60
 
61
+ def strip_local(config_string)
62
+ # AAA authorization method 'local' is a prerequisite for several tests in
63
+ # this suite but once configured by design is not allowed to be removed on
64
+ # certain nxos platforms.
65
+ config_string.gsub('local', '')
66
+ end
67
+
60
68
  # Helper method to get regexp for aaa authorization commands
61
69
  def get_pattern(cmd_type, service, groups, method=:unselected)
62
70
  cmd_type = cmd_type == :config_commands ? 'config-commands' : cmd_type.to_s
@@ -70,17 +78,19 @@ class TestAaaAuthorizationService < CiscoTestCase
70
78
  Regexp.new(p)
71
79
  end
72
80
 
73
- # Method to pre-configure a valid tacacs server and aaa group. This
74
- # group can be included in the testing such access to the device
75
- # never is compromised.
81
+ # Pre-configure the user-defined tacacs server in tests/tacacs_server.yaml
76
82
  def preconfig_tacacs_server_access(group_name)
77
- config('tacacs-server key testing123',
78
- 'tacacs-server host 10.122.197.197 key testing123',
83
+ path = File.expand_path('../tacacs_server.yaml', __FILE__)
84
+ skip('Cannot find tests/tacacs_server.yaml') unless File.file?(path)
85
+ cfg = YAML.load(File.read(path))
86
+ valid_cfg?(cfg)
87
+ config("tacacs-server host #{cfg['host']} key #{cfg['key']}",
79
88
  "aaa group server tacacs+ #{group_name}",
80
- 'server 10.122.197.197',
81
- 'use-vrf management',
82
- 'source-interface mgmt0',
89
+ "server #{cfg['host']}",
90
+ "use-vrf #{cfg['vrf']}",
91
+ "source-interface #{cfg['intf']}",
83
92
  'aaa authentication login ascii-authentication')
93
+ valid_server?(cfg['host'])
84
94
  end
85
95
 
86
96
  def prefix
@@ -95,57 +105,73 @@ class TestAaaAuthorizationService < CiscoTestCase
95
105
  %w(tac_group bxb100 sjc200 rtp10)
96
106
  end
97
107
 
108
+ def valid_cfg?(cfg)
109
+ skip('tests/tacacs_server.yaml file is empty') unless cfg
110
+ msg = 'Missing key in tests/tacacs_server.yaml'
111
+ %w(host key vrf intf).each do |key|
112
+ skip("#{msg}: #{key}") if cfg[key].nil?
113
+ end
114
+ end
115
+
116
+ def valid_server?(host)
117
+ test_aaa = config("test aaa server tacacs+ #{host} test test")
118
+ # Valid tacacs server will return message regarding user authentication
119
+ valid = test_aaa[/^user has \S+ authenticat(ed|ion)/]
120
+ fail "Host '#{host}' is either not a valid tacacs server " \
121
+ 'or not reachable' unless valid
122
+ end
123
+
98
124
  def test_create_unsupported_type
99
125
  assert_raises(ArgumentError) do
100
126
  AaaAuthorizationService.new(:none, 'default')
101
127
  end
102
128
  end
103
129
 
104
- def test_create_nil_type
130
+ def test_nil_type
105
131
  assert_raises(TypeError) do
106
132
  AaaAuthorizationService.new(nil, 'default')
107
133
  end
108
134
  end
109
135
 
110
- def test_create_invalid_type
136
+ def test_type_inv
111
137
  assert_raises(TypeError) do
112
138
  AaaAuthorizationService.new('test', 'default')
113
139
  end
114
140
  end
115
141
 
116
- def test_create_invalid_range_type
142
+ def test_range_type_inv
117
143
  assert_raises(TypeError) do
118
144
  AaaAuthorizationService.new(34, 'default')
119
145
  end
120
146
  end
121
147
 
122
- def test_create_invalid_service
148
+ def test_svc_inv
123
149
  assert_raises(ArgumentError) do
124
150
  AaaAuthorizationService.new(:commands, 'test')
125
151
  end
126
152
  end
127
153
 
128
- def test_create_empty_service
154
+ def test_empty_svc
129
155
  assert_raises(ArgumentError) do
130
156
  AaaAuthorizationService.new(:commands, '')
131
157
  end
132
158
  end
133
159
 
134
- def test_create_commands_default
160
+ def test_cmds_def
135
161
  aaa_a_service = AaaAuthorizationService.new(:commands, 'default')
136
162
  refute_nil(aaa_a_service,
137
163
  'Error: AaaAuthorizationService creating commands default')
138
164
  aaa_a_service.destroy unless aaa_a_service.nil?
139
165
  end
140
166
 
141
- def test_create_commands_console
167
+ def test_cmds_con
142
168
  aaa_a_service = AaaAuthorizationService.new(:commands, 'console')
143
169
  refute_nil(aaa_a_service,
144
170
  'Error: AaaAuthorizationService creating commands default')
145
171
  aaa_a_service.destroy unless aaa_a_service.nil?
146
172
  end
147
173
 
148
- def test_create_config_commands_default
174
+ def test_cfg_cmds_def
149
175
  aaa_a_service = AaaAuthorizationService.new(:config_commands, 'default')
150
176
  refute_nil(aaa_a_service,
151
177
  'Error: AaaAuthorizationService creating ' \
@@ -153,7 +179,7 @@ class TestAaaAuthorizationService < CiscoTestCase
153
179
  aaa_a_service.destroy unless aaa_a_service.nil?
154
180
  end
155
181
 
156
- def test_create_config_commands_console
182
+ def test_cfg_cmds_con
157
183
  aaa_a_service = AaaAuthorizationService.new(:config_commands, 'console')
158
184
  refute_nil(aaa_a_service,
159
185
  'Error: AaaAuthorizationService creating commands default')
@@ -174,11 +200,11 @@ class TestAaaAuthorizationService < CiscoTestCase
174
200
  aaa_a_service.destroy
175
201
  end
176
202
 
177
- def test_collection_invalid
203
+ def test_collect_inv
178
204
  assert_nil(AaaAuthorizationService.services['TEST'])
179
205
  end
180
206
 
181
- def test_collection_services_type_commands
207
+ def test_collect_svc_cmds
182
208
  type = :commands
183
209
  collection = AaaAuthorizationService.services[type]
184
210
 
@@ -210,7 +236,7 @@ class TestAaaAuthorizationService < CiscoTestCase
210
236
  end
211
237
  end
212
238
 
213
- def test_collection_services_type_config_commands
239
+ def test_collect_svc_cfg_cmds
214
240
  type = :config_commands
215
241
  collection = AaaAuthorizationService.services[type]
216
242
 
@@ -241,7 +267,7 @@ class TestAaaAuthorizationService < CiscoTestCase
241
267
  end
242
268
  end
243
269
 
244
- def test_type_commands_default_console_group
270
+ def test_type_cmds_def_con_grp
245
271
  # Preconfig AAA Authorization
246
272
  cmd1 = 'aaa authorization commands default group group2 group1 local'
247
273
  cmd2 = 'aaa authorization commands console group group1 local'
@@ -278,7 +304,7 @@ class TestAaaAuthorizationService < CiscoTestCase
278
304
 
279
305
  # only one of default or console can be configured at a time without
280
306
  # locking the CLI
281
- config("no #{cmd1}", cmd2)
307
+ config("no #{strip_local(cmd1)}", cmd2)
282
308
 
283
309
  service = 'console'
284
310
  aaa_a_service = collection[service]
@@ -290,11 +316,9 @@ class TestAaaAuthorizationService < CiscoTestCase
290
316
  assert_equal(groups, aaa_a_service.groups,
291
317
  'Error: Invalid AaaAuthorizationService groups for ' \
292
318
  'console in collection')
293
-
294
- config("no #{cmd2}")
295
319
  end
296
320
 
297
- def test_type_config_commands_default_console_group
321
+ def test_type_cfg_cmds_def_con_grp
298
322
  # Preconfig AAA Authorization
299
323
  cmd1 = 'aaa authorization config-commands default group group2 group1 local'
300
324
  cmd2 = 'aaa authorization config-commands console group group1 local'
@@ -329,7 +353,7 @@ class TestAaaAuthorizationService < CiscoTestCase
329
353
  'Error: Invalid AaaAuthorizationService groups ' \
330
354
  'for default in collection')
331
355
 
332
- config("no #{cmd1}", cmd2)
356
+ config("no #{strip_local(cmd1)}", cmd2)
333
357
 
334
358
  service = 'console'
335
359
  aaa_a_service = collection[service]
@@ -341,11 +365,9 @@ class TestAaaAuthorizationService < CiscoTestCase
341
365
  assert_equal(groups, aaa_a_service.groups,
342
366
  'Error: Invalid AaaAuthorizationService groups ' \
343
367
  'for console in collection')
344
-
345
- config("no #{cmd2}")
346
368
  end
347
369
 
348
- def test_get_default_method
370
+ def test_get_def_method
349
371
  type = :commands
350
372
  aaa_a_service = AaaAuthorizationService.new(type, 'default')
351
373
  assert_equal(:local, aaa_a_service.default_method,
@@ -373,7 +395,7 @@ class TestAaaAuthorizationService < CiscoTestCase
373
395
  aaa_a_service.destroy
374
396
  end
375
397
 
376
- def test_collection_groups_commands_default
398
+ def test_collect_grps_cmds_def
377
399
  type = :commands
378
400
  aaa_a_service = AaaAuthorizationService.new(type, 'default')
379
401
 
@@ -389,8 +411,9 @@ class TestAaaAuthorizationService < CiscoTestCase
389
411
  assert_equal(:unselected, aaa_a_service.method)
390
412
 
391
413
  # Change the config to have different groups and method
392
- config('aaa authorization commands default group ' \
393
- "#{tacacs_groups[0]} #{tacacs_groups[3]} #{tacacs_groups[1]} local")
414
+ cmd0 = 'aaa authorization commands default group ' \
415
+ "#{tacacs_groups[0]} #{tacacs_groups[3]} #{tacacs_groups[1]} local"
416
+ config(cmd0)
394
417
 
395
418
  conf_groups = [tacacs_groups[0], tacacs_groups[3], tacacs_groups[1]]
396
419
  assert_equal(conf_groups, aaa_a_service.groups)
@@ -399,17 +422,18 @@ class TestAaaAuthorizationService < CiscoTestCase
399
422
  # Mix default and console, but since our instance is for 'default'
400
423
  # service we should only get 'default' groups and not 'console'
401
424
  # groups.
402
- aaa_cmd1 = 'aaa authorization commands default group ' \
403
- "#{tacacs_groups.join(' ')} local"
404
- aaa_cmd2 = 'aaa authorization commands console group ' \
405
- "#{tacacs_groups[1..3].join(' ')} local"
406
- config(aaa_cmd1, aaa_cmd2)
425
+ cmd1 = 'aaa authorization commands default group ' \
426
+ "#{tacacs_groups.join(' ')} local"
427
+ cmd2 = 'aaa authorization commands console group ' \
428
+ "#{tacacs_groups[1..3].join(' ')} local"
429
+
430
+ config(cmd1, cmd2)
407
431
 
408
432
  assert_equal(tacacs_groups, aaa_a_service.groups)
409
433
  assert_equal(:local, aaa_a_service.method)
410
434
  end
411
435
 
412
- def test_collection_groups_commands_console
436
+ def test_collect_grps_cmds_con
413
437
  type = :commands
414
438
  aaa_a_service = AaaAuthorizationService.new(type, 'console')
415
439
 
@@ -423,8 +447,9 @@ class TestAaaAuthorizationService < CiscoTestCase
423
447
  assert_equal(:unselected, aaa_a_service.method)
424
448
 
425
449
  # Change the config to have different groups and method
426
- config('aaa authorization commands console group ' \
427
- "#{tacacs_groups[0]} #{tacacs_groups[3]} #{tacacs_groups[1]} local")
450
+ cmd0 = 'aaa authorization commands console group ' \
451
+ "#{tacacs_groups[0]} #{tacacs_groups[3]} #{tacacs_groups[1]} local"
452
+ config(cmd0)
428
453
 
429
454
  conf_groups = [tacacs_groups[0], tacacs_groups[3], tacacs_groups[1]]
430
455
  assert_equal(conf_groups, aaa_a_service.groups)
@@ -433,17 +458,17 @@ class TestAaaAuthorizationService < CiscoTestCase
433
458
  # Mix default and console, but since our instance is for 'console'
434
459
  # service we should only get 'console' groups and not 'default'
435
460
  # groups.
436
- aaa_cmd1 = 'aaa authorization commands console group ' \
461
+ cmd1 = 'aaa authorization commands console group ' \
437
462
  "#{tacacs_groups.join(' ')} local"
438
- aaa_cmd2 = 'aaa authorization commands default group ' \
463
+ cmd2 = 'aaa authorization commands default group ' \
439
464
  "#{tacacs_groups[1..3].join(' ')} local"
440
- config(aaa_cmd1, aaa_cmd2)
465
+ config(cmd1, cmd2)
441
466
 
442
467
  assert_equal(tacacs_groups, aaa_a_service.groups)
443
468
  assert_equal(:local, aaa_a_service.method)
444
469
  end
445
470
 
446
- def test_collection_groups_config_commands_default
471
+ def test_collect_grps_cfg_cmds_def
447
472
  type = :config_commands
448
473
  aaa_a_service = AaaAuthorizationService.new(type, 'default')
449
474
 
@@ -457,8 +482,9 @@ class TestAaaAuthorizationService < CiscoTestCase
457
482
  assert_equal(:unselected, aaa_a_service.method)
458
483
 
459
484
  # Change the config to have different groups and method
460
- config('aaa authorization config-commands default group ' \
461
- "#{tacacs_groups[0]} #{tacacs_groups[3]} #{tacacs_groups[1]} local")
485
+ cmd0 = 'aaa authorization config-commands default group ' \
486
+ "#{tacacs_groups[0]} #{tacacs_groups[3]} #{tacacs_groups[1]} local"
487
+ config(cmd0)
462
488
 
463
489
  conf_groups = [tacacs_groups[0], tacacs_groups[3], tacacs_groups[1]]
464
490
  assert_equal(conf_groups, aaa_a_service.groups)
@@ -467,17 +493,17 @@ class TestAaaAuthorizationService < CiscoTestCase
467
493
  # Mix default and console, but since our instance is for 'default'
468
494
  # service we should only get 'default' groups and not 'console'
469
495
  # groups.
470
- aaa_cmd1 = 'aaa authorization config-commands default group ' \
471
- "#{tacacs_groups.join(' ')} local"
472
- aaa_cmd2 = 'aaa authorization config-commands console group ' \
473
- "#{tacacs_groups[1..3].join(' ')} local"
474
- config(aaa_cmd1, aaa_cmd2)
496
+ cmd1 = 'aaa authorization config-commands default group ' \
497
+ "#{tacacs_groups.join(' ')} local"
498
+ cmd2 = 'aaa authorization config-commands console group ' \
499
+ "#{tacacs_groups[1..3].join(' ')} local"
500
+ config(cmd1, cmd2)
475
501
 
476
502
  assert_equal(tacacs_groups, aaa_a_service.groups)
477
503
  assert_equal(:local, aaa_a_service.method)
478
504
  end
479
505
 
480
- def test_collection_groups_config_commands_console
506
+ def test_collect_grps_cfg_cmds_con
481
507
  type = :config_commands
482
508
  aaa_a_service = AaaAuthorizationService.new(type, 'console')
483
509
 
@@ -491,8 +517,9 @@ class TestAaaAuthorizationService < CiscoTestCase
491
517
  assert_equal(:unselected, aaa_a_service.method)
492
518
 
493
519
  # Change the config to have different groups and method
494
- config('aaa authorization config-commands console group ' \
495
- "#{tacacs_groups[0]} #{tacacs_groups[3]} #{tacacs_groups[1]} local")
520
+ cmd0 = 'aaa authorization config-commands console group ' \
521
+ "#{tacacs_groups[0]} #{tacacs_groups[3]} #{tacacs_groups[1]} local"
522
+ config(cmd0)
496
523
 
497
524
  conf_groups = [tacacs_groups[0], tacacs_groups[3], tacacs_groups[1]]
498
525
  assert_equal(conf_groups, aaa_a_service.groups)
@@ -501,17 +528,17 @@ class TestAaaAuthorizationService < CiscoTestCase
501
528
  # Mix default and console, but since our instance is for 'console'
502
529
  # service we should only get 'console' groups and not 'default'
503
530
  # groups.
504
- aaa_cmd1 = 'aaa authorization config-commands console group ' \
505
- "#{tacacs_groups.join(' ')} local"
506
- aaa_cmd2 = 'aaa authorization config-commands default group ' \
507
- "#{tacacs_groups[1..3].join(' ')} local"
508
- config(aaa_cmd1, aaa_cmd2)
531
+ cmd1 = 'aaa authorization config-commands console group ' \
532
+ "#{tacacs_groups.join(' ')} local"
533
+ cmd2 = 'aaa authorization config-commands default group ' \
534
+ "#{tacacs_groups[1..3].join(' ')} local"
535
+ config(cmd1, cmd2)
509
536
 
510
537
  assert_equal(tacacs_groups, aaa_a_service.groups)
511
538
  assert_equal(:local, aaa_a_service.method)
512
539
  end
513
540
 
514
- def test_get_default_groups
541
+ def test_get_def_grps
515
542
  groups = []
516
543
  type = :commands
517
544
  aaa_a_service = AaaAuthorizationService.new(type, 'default')
@@ -544,7 +571,7 @@ class TestAaaAuthorizationService < CiscoTestCase
544
571
  aaa_a_service.destroy
545
572
  end
546
573
 
547
- def test_commands_default_unselected_single
574
+ def test_cmds_def_unselected_single
548
575
  aaa_a_service = AaaAuthorizationService.new(:commands, 'default')
549
576
  aaa_a_service.groups_method_set(tacacs_groups[0], :unselected)
550
577
 
@@ -552,7 +579,7 @@ class TestAaaAuthorizationService < CiscoTestCase
552
579
  assert_show_match(command: show_cmd, pattern: p)
553
580
  end
554
581
 
555
- def test_commands_default_unselected_multi
582
+ def test_cmds_def_unselected_multi
556
583
  aaa_a_service = AaaAuthorizationService.new(:commands, 'default')
557
584
  aaa_a_service.groups_method_set(tacacs_groups[0..2], :unselected)
558
585
 
@@ -560,7 +587,7 @@ class TestAaaAuthorizationService < CiscoTestCase
560
587
  assert_show_match(command: show_cmd, pattern: p)
561
588
  end
562
589
 
563
- def test_commands_default_local_multi
590
+ def test_cmds_def_local_multi
564
591
  aaa_a_service = AaaAuthorizationService.new(:commands, 'default')
565
592
  aaa_a_service.groups_method_set(tacacs_groups[0..2], :local)
566
593
 
@@ -568,7 +595,7 @@ class TestAaaAuthorizationService < CiscoTestCase
568
595
  assert_show_match(command: show_cmd, pattern: p)
569
596
  end
570
597
 
571
- def test_commands_default_all_default
598
+ def test_cmds_def_all_def
572
599
  aaa_a_service = AaaAuthorizationService.new(:commands, 'default')
573
600
  method = aaa_a_service.default_method
574
601
  groups = aaa_a_service.default_groups
@@ -578,7 +605,7 @@ class TestAaaAuthorizationService < CiscoTestCase
578
605
  assert_show_match(command: show_cmd, pattern: p)
579
606
  end
580
607
 
581
- def test_commands_console_unselected_single
608
+ def test_cmds_con_unselected_single
582
609
  aaa_a_service = AaaAuthorizationService.new(:commands, 'console')
583
610
  aaa_a_service.groups_method_set(tacacs_groups[0], :unselected)
584
611
 
@@ -586,7 +613,7 @@ class TestAaaAuthorizationService < CiscoTestCase
586
613
  assert_show_match(command: show_cmd, pattern: p)
587
614
  end
588
615
 
589
- def test_commands_console_unselected_multi
616
+ def test_cmds_con_unselected_multi
590
617
  aaa_a_service = AaaAuthorizationService.new(:commands, 'console')
591
618
  aaa_a_service.groups_method_set(tacacs_groups[0..2], :unselected)
592
619
 
@@ -594,7 +621,7 @@ class TestAaaAuthorizationService < CiscoTestCase
594
621
  assert_show_match(command: show_cmd, pattern: p)
595
622
  end
596
623
 
597
- def test_commands_console_local_multi
624
+ def test_cmds_con_local_multi
598
625
  aaa_a_service = AaaAuthorizationService.new(:commands, 'console')
599
626
  aaa_a_service.groups_method_set(tacacs_groups[0..2], :local)
600
627
 
@@ -602,7 +629,7 @@ class TestAaaAuthorizationService < CiscoTestCase
602
629
  assert_show_match(command: show_cmd, pattern: p)
603
630
  end
604
631
 
605
- def test_commans_console_all_default
632
+ def test_cmds_con_all_def
606
633
  aaa_a_service = AaaAuthorizationService.new(:commands, 'console')
607
634
  method = aaa_a_service.default_method
608
635
  groups = aaa_a_service.default_groups
@@ -612,7 +639,7 @@ class TestAaaAuthorizationService < CiscoTestCase
612
639
  assert_show_match(command: show_cmd, pattern: p)
613
640
  end
614
641
 
615
- def test_config_commands_default_unselected_single
642
+ def test_cfg_cmds_def_unselected_single
616
643
  aaa_a_service = AaaAuthorizationService.new(:config_commands, 'default')
617
644
  aaa_a_service.groups_method_set(tacacs_groups[0], :unselected)
618
645
 
@@ -620,7 +647,7 @@ class TestAaaAuthorizationService < CiscoTestCase
620
647
  assert_show_match(command: show_cmd, pattern: p)
621
648
  end
622
649
 
623
- def test_config_commands_default_unselected_multi
650
+ def test_cfg_cmds_def_unselected_multi
624
651
  aaa_a_service = AaaAuthorizationService.new(:config_commands, 'default')
625
652
  aaa_a_service.groups_method_set(tacacs_groups[0..2], :unselected)
626
653
 
@@ -628,7 +655,7 @@ class TestAaaAuthorizationService < CiscoTestCase
628
655
  assert_show_match(command: show_cmd, pattern: p)
629
656
  end
630
657
 
631
- def test_config_commands_default_local_multi
658
+ def test_cfg_cmds_def_local_multi
632
659
  aaa_a_service = AaaAuthorizationService.new(:config_commands, 'default')
633
660
  aaa_a_service.groups_method_set(tacacs_groups[0..2], :local)
634
661
 
@@ -636,7 +663,7 @@ class TestAaaAuthorizationService < CiscoTestCase
636
663
  assert_show_match(command: show_cmd, pattern: p)
637
664
  end
638
665
 
639
- def test_config_commands_default_all_default
666
+ def test_cfg_cmds_def_all_def
640
667
  aaa_a_service = AaaAuthorizationService.new(:config_commands, 'default')
641
668
 
642
669
  method = aaa_a_service.default_method
@@ -647,7 +674,7 @@ class TestAaaAuthorizationService < CiscoTestCase
647
674
  assert_show_match(command: show_cmd, pattern: p)
648
675
  end
649
676
 
650
- def test_config_commands_console_unselected_single
677
+ def test_cfg_cmds_con_unselected_single
651
678
  aaa_a_service = AaaAuthorizationService.new(:config_commands, 'console')
652
679
  aaa_a_service.groups_method_set(tacacs_groups[0], :unselected)
653
680
 
@@ -655,7 +682,7 @@ class TestAaaAuthorizationService < CiscoTestCase
655
682
  assert_show_match(command: show_cmd, pattern: p)
656
683
  end
657
684
 
658
- def test_config_commands_console_unselected_multi
685
+ def test_cfg_cmds_con_unselected_multi
659
686
  aaa_a_service = AaaAuthorizationService.new(:config_commands, 'console')
660
687
  aaa_a_service.groups_method_set(tacacs_groups[0..2], :unselected)
661
688
 
@@ -663,7 +690,7 @@ class TestAaaAuthorizationService < CiscoTestCase
663
690
  assert_show_match(command: show_cmd, pattern: p)
664
691
  end
665
692
 
666
- def test_config_commands_console_local_multi
693
+ def test_cfg_cmds_con_local_multi
667
694
  aaa_a_service = AaaAuthorizationService.new(:config_commands, 'console')
668
695
  aaa_a_service.groups_method_set(tacacs_groups[0..2], :local)
669
696
 
@@ -671,7 +698,7 @@ class TestAaaAuthorizationService < CiscoTestCase
671
698
  assert_show_match(command: show_cmd, pattern: p)
672
699
  end
673
700
 
674
- def test_config_commands_console_all_default
701
+ def test_cfg_cmds_con_all_def
675
702
  aaa_a_service = AaaAuthorizationService.new(:config_commands, 'console')
676
703
  method = aaa_a_service.default_method
677
704
  groups = aaa_a_service.default_groups
@@ -681,7 +708,7 @@ class TestAaaAuthorizationService < CiscoTestCase
681
708
  assert_show_match(command: show_cmd, pattern: p)
682
709
  end
683
710
 
684
- def test_commands_invalid_groups_method_set_groups
711
+ def test_cmds_grps_method_set_inv
685
712
  # Commands, with service default
686
713
  type = :commands
687
714
  service = 'default'
@@ -725,7 +752,7 @@ class TestAaaAuthorizationService < CiscoTestCase
725
752
  aaa_a_service.destroy
726
753
  end
727
754
 
728
- def test_config_commands_invalid_set_groups
755
+ def test_cfg_cmds_set_grps_inv
729
756
  # Commands, with service default
730
757
  type = :config_commands
731
758
  service = 'default'
@@ -769,7 +796,7 @@ class TestAaaAuthorizationService < CiscoTestCase
769
796
  aaa_a_service.destroy
770
797
  end
771
798
 
772
- def test_commands_invalid_method
799
+ def test_cmds_method_inv
773
800
  # Commands, with service default
774
801
  type = :commands
775
802
  service = 'default'
@@ -807,7 +834,7 @@ class TestAaaAuthorizationService < CiscoTestCase
807
834
  aaa_a_service.destroy
808
835
  end
809
836
 
810
- def test_config_commands_invalid_method
837
+ def test_cfg_cmds_method_inv
811
838
  # Commands, with service default
812
839
  type = :config_commands
813
840
  service = 'default'