cisco_node_utils 1.3.0 → 1.4.0

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
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
@@ -0,0 +1,298 @@
1
+ # Copyright (c) 2016 Cisco and/or its affiliates.
2
+ #
3
+ # Licensed under the Apache License, Version 2.0 (the "License");
4
+ # you may not use this file except in compliance with the License.
5
+ # You may obtain a copy of the License at
6
+ #
7
+ # http://www.apache.org/licenses/LICENSE-2.0
8
+ #
9
+ # Unless required by applicable law or agreed to in writing, software
10
+ # distributed under the License is distributed on an "AS IS" BASIS,
11
+ # WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
12
+ # See the License for the specific language governing permissions and
13
+ # limitations under the License.
14
+
15
+ require_relative 'ciscotest'
16
+ require_relative '../lib/cisco_node_utils/router_ospf'
17
+ require_relative '../lib/cisco_node_utils/router_ospf_vrf'
18
+ require_relative '../lib/cisco_node_utils/router_ospf_area_vlink'
19
+
20
+ # TestRouterOspfAreaVirtualLink - Minitest for RouterOspfAreaVirtualLink
21
+ # node utility class
22
+ class TestRouterOspfAreaVirtualLink < CiscoTestCase
23
+ @skip_unless_supported = 'ospf_area_vlink'
24
+ @@pre_clean_needed = true # rubocop:disable Style/ClassVars
25
+
26
+ def setup
27
+ super
28
+ remove_all_ospfs if @@pre_clean_needed
29
+ @@pre_clean_needed = false # rubocop:disable Style/ClassVars
30
+ end
31
+
32
+ def teardown
33
+ remove_all_ospfs
34
+ super
35
+ end
36
+
37
+ def create_routerospfarea_default_virtual_link(router='Wolfpack',
38
+ name='default',
39
+ area_id='1.1.1.1',
40
+ vl='2.2.2.2')
41
+ RouterOspfAreaVirtualLink.new(router, name, area_id, vl)
42
+ end
43
+
44
+ def create_routerospfarea_vrf_virtual_link(router='Wolfpack',
45
+ name='blue',
46
+ area_id='1450',
47
+ vl='3.3.3.3')
48
+ RouterOspfAreaVirtualLink.new(router, name, area_id, vl)
49
+ end
50
+
51
+ def test_collection_size
52
+ dvl1 = create_routerospfarea_default_virtual_link
53
+ assert_equal(1, RouterOspfAreaVirtualLink.virtual_links['Wolfpack']['default']['1.1.1.1'].size)
54
+ dvl2 = create_routerospfarea_default_virtual_link('Wolfpack', 'default', '1.1.1.1', '5.5.5.5')
55
+ assert_equal(2, RouterOspfAreaVirtualLink.virtual_links['Wolfpack']['default']['1.1.1.1'].size)
56
+ dvl3 = create_routerospfarea_default_virtual_link('Wolfpack', 'default', '6.6.6.6', '5.5.5.5')
57
+ assert_equal(1, RouterOspfAreaVirtualLink.virtual_links['Wolfpack']['default']['6.6.6.6'].size)
58
+ vvl1 = create_routerospfarea_vrf_virtual_link
59
+ assert_equal(1, RouterOspfAreaVirtualLink.virtual_links['Wolfpack']['blue']['0.0.5.170'].size)
60
+ vvl2 = create_routerospfarea_vrf_virtual_link('Wolfpack', 'blue', '1000', '5.5.5.5')
61
+ assert_equal(1, RouterOspfAreaVirtualLink.virtual_links['Wolfpack']['blue']['0.0.3.232'].size)
62
+ vvl3 = create_routerospfarea_vrf_virtual_link('Wolfpack', 'red', '1000', '5.5.5.5')
63
+ assert_equal(1, RouterOspfAreaVirtualLink.virtual_links['Wolfpack']['red']['0.0.3.232'].size)
64
+ vvl4 = create_routerospfarea_vrf_virtual_link('Wolfpack', 'red', '2000', '5.5.5.5')
65
+ assert_equal(1, RouterOspfAreaVirtualLink.virtual_links['Wolfpack']['red']['0.0.7.208'].size)
66
+ vvl5 = create_routerospfarea_vrf_virtual_link('Wolfpack', 'red', '2000', '2.2.2.2')
67
+ assert_equal(2, RouterOspfAreaVirtualLink.virtual_links['Wolfpack']['red']['0.0.7.208'].size)
68
+ dvl1.destroy
69
+ dvl2.destroy
70
+ dvl3.destroy
71
+ vvl1.destroy
72
+ vvl2.destroy
73
+ vvl3.destroy
74
+ vvl4.destroy
75
+ vvl5.destroy
76
+ assert_empty(RouterOspfAreaVirtualLink.virtual_links)
77
+ end
78
+
79
+ def test_dead_interval
80
+ dvl = create_routerospfarea_default_virtual_link
81
+ assert_equal(dvl.default_dead_interval, dvl.dead_interval)
82
+ dvl.dead_interval = 500
83
+ assert_equal(500, dvl.dead_interval)
84
+ dvl.dead_interval = dvl.default_dead_interval
85
+ assert_equal(dvl.default_dead_interval, dvl.dead_interval)
86
+ vvl = create_routerospfarea_vrf_virtual_link
87
+ assert_equal(vvl.default_dead_interval, vvl.dead_interval)
88
+ vvl.dead_interval = 1000
89
+ assert_equal(1000, vvl.dead_interval)
90
+ vvl.dead_interval = vvl.default_dead_interval
91
+ assert_equal(vvl.default_dead_interval, vvl.dead_interval)
92
+ end
93
+
94
+ def test_hello_interval
95
+ dvl = create_routerospfarea_default_virtual_link
96
+ assert_equal(dvl.default_hello_interval, dvl.hello_interval)
97
+ dvl.hello_interval = 1500
98
+ assert_equal(1500, dvl.hello_interval)
99
+ dvl.hello_interval = dvl.default_hello_interval
100
+ assert_equal(dvl.default_hello_interval, dvl.hello_interval)
101
+ vvl = create_routerospfarea_vrf_virtual_link
102
+ assert_equal(vvl.default_hello_interval, vvl.hello_interval)
103
+ vvl.hello_interval = 2000
104
+ assert_equal(2000, vvl.hello_interval)
105
+ vvl.hello_interval = vvl.default_hello_interval
106
+ assert_equal(vvl.default_hello_interval, vvl.hello_interval)
107
+ end
108
+
109
+ def test_retransmit_interval
110
+ dvl = create_routerospfarea_default_virtual_link
111
+ assert_equal(dvl.default_retransmit_interval, dvl.retransmit_interval)
112
+ dvl.retransmit_interval = 200
113
+ assert_equal(200, dvl.retransmit_interval)
114
+ dvl.retransmit_interval = dvl.default_retransmit_interval
115
+ assert_equal(dvl.default_retransmit_interval, dvl.retransmit_interval)
116
+ vvl = create_routerospfarea_vrf_virtual_link
117
+ assert_equal(vvl.default_retransmit_interval, vvl.retransmit_interval)
118
+ vvl.retransmit_interval = 10_000
119
+ assert_equal(10_000, vvl.retransmit_interval)
120
+ vvl.retransmit_interval = vvl.default_retransmit_interval
121
+ assert_equal(vvl.default_retransmit_interval, vvl.retransmit_interval)
122
+ end
123
+
124
+ def test_transmit_delay
125
+ dvl = create_routerospfarea_default_virtual_link
126
+ assert_equal(dvl.default_transmit_delay, dvl.transmit_delay)
127
+ dvl.transmit_delay = 250
128
+ assert_equal(250, dvl.transmit_delay)
129
+ dvl.transmit_delay = dvl.default_transmit_delay
130
+ assert_equal(dvl.default_transmit_delay, dvl.transmit_delay)
131
+ vvl = create_routerospfarea_vrf_virtual_link
132
+ assert_equal(vvl.default_transmit_delay, vvl.transmit_delay)
133
+ vvl.transmit_delay = 400
134
+ assert_equal(400, vvl.transmit_delay)
135
+ vvl.transmit_delay = vvl.default_transmit_delay
136
+ assert_equal(vvl.default_transmit_delay, vvl.transmit_delay)
137
+ end
138
+
139
+ def test_auth_key_chain
140
+ dvl = create_routerospfarea_default_virtual_link
141
+ assert_equal(dvl.default_auth_key_chain, dvl.auth_key_chain)
142
+ dvl.auth_key_chain = 'testing123'
143
+ assert_equal('testing123', dvl.auth_key_chain)
144
+ dvl.auth_key_chain = dvl.default_auth_key_chain
145
+ assert_equal(dvl.default_auth_key_chain, dvl.auth_key_chain)
146
+ vvl = create_routerospfarea_vrf_virtual_link
147
+ assert_equal(vvl.default_auth_key_chain, vvl.auth_key_chain)
148
+ vvl.auth_key_chain = 'awesome'
149
+ assert_equal('awesome', vvl.auth_key_chain)
150
+ vvl.auth_key_chain = vvl.default_auth_key_chain
151
+ assert_equal(vvl.default_auth_key_chain, vvl.auth_key_chain)
152
+ end
153
+
154
+ def test_authentication
155
+ dvl = create_routerospfarea_default_virtual_link
156
+ assert_equal(dvl.default_authentication, dvl.authentication)
157
+ dvl.authentication = 'md5'
158
+ assert_equal('md5', dvl.authentication)
159
+ dvl.authentication = 'cleartext'
160
+ assert_equal('cleartext', dvl.authentication)
161
+ dvl.authentication = 'null'
162
+ assert_equal('null', dvl.authentication)
163
+ dvl.authentication = dvl.default_authentication
164
+ assert_equal(dvl.default_authentication, dvl.authentication)
165
+ vvl = create_routerospfarea_vrf_virtual_link
166
+ assert_equal(vvl.default_authentication, vvl.authentication)
167
+ vvl.authentication = 'md5'
168
+ assert_equal('md5', vvl.authentication)
169
+ vvl.authentication = 'cleartext'
170
+ assert_equal('cleartext', vvl.authentication)
171
+ vvl.authentication = 'null'
172
+ assert_equal('null', vvl.authentication)
173
+ vvl.authentication = vvl.default_authentication
174
+ assert_equal(vvl.default_authentication, vvl.authentication)
175
+ end
176
+
177
+ def test_authentication_key
178
+ dvl = create_routerospfarea_default_virtual_link
179
+ assert_equal(dvl.default_authentication_key_encryption_type,
180
+ dvl.authentication_key_encryption_type)
181
+ assert_equal(dvl.default_authentication_key_password,
182
+ dvl.authentication_key_password)
183
+ encr = :"3des"
184
+ encr_pw = '762bc328e3bdf235'
185
+ dvl.authentication_key_set(encr, encr_pw)
186
+ assert_equal(encr, dvl.authentication_key_encryption_type)
187
+ assert_equal(encr_pw, dvl.authentication_key_password)
188
+ encr = :cisco_type_7
189
+ encr_pw = '12345678901234567890'
190
+ dvl.authentication_key_set(encr, encr_pw)
191
+ assert_equal(encr, dvl.authentication_key_encryption_type)
192
+ assert_equal(encr_pw, dvl.authentication_key_password)
193
+ dvl.authentication_key_set(dvl.default_authentication_key_encryption_type,
194
+ dvl.default_authentication_key_password)
195
+ assert_equal(dvl.default_authentication_key_encryption_type,
196
+ dvl.authentication_key_encryption_type)
197
+ assert_equal(dvl.default_authentication_key_password,
198
+ dvl.authentication_key_password)
199
+ vvl = create_routerospfarea_vrf_virtual_link
200
+ assert_equal(vvl.default_authentication_key_encryption_type,
201
+ vvl.authentication_key_encryption_type)
202
+ assert_equal(vvl.default_authentication_key_password,
203
+ vvl.authentication_key_password)
204
+ encr = :"3des"
205
+ encr_pw = '1347c56888deb142'
206
+ vvl.authentication_key_set(encr, encr_pw)
207
+ assert_equal(encr, vvl.authentication_key_encryption_type)
208
+ assert_equal(encr_pw, vvl.authentication_key_password)
209
+ encr = :cisco_type_7
210
+ encr_pw = '046E1803362E595C260E0B240619050A2D'
211
+ vvl.authentication_key_set(encr, encr_pw)
212
+ assert_equal(encr, vvl.authentication_key_encryption_type)
213
+ assert_equal(encr_pw, vvl.authentication_key_password)
214
+ vvl.authentication_key_set(vvl.default_authentication_key_encryption_type,
215
+ vvl.default_authentication_key_password)
216
+ assert_equal(vvl.default_authentication_key_encryption_type,
217
+ vvl.authentication_key_encryption_type)
218
+ assert_equal(vvl.default_authentication_key_password,
219
+ vvl.authentication_key_password)
220
+ end
221
+
222
+ def test_message_digest_key
223
+ dvl = create_routerospfarea_default_virtual_link
224
+ assert_equal(dvl.default_message_digest_algorithm_type,
225
+ dvl.message_digest_algorithm_type)
226
+ assert_equal(dvl.default_message_digest_encryption_type,
227
+ dvl.message_digest_encryption_type)
228
+ assert_equal(dvl.default_message_digest_key_id,
229
+ dvl.message_digest_key_id)
230
+ assert_equal(dvl.default_message_digest_password,
231
+ dvl.message_digest_password)
232
+ key = 45
233
+ alg = :md5
234
+ encr = :"3des"
235
+ encr_pw = '1347c56888deb142'
236
+ dvl.message_digest_key_set(key, alg, encr, encr_pw)
237
+ assert_equal(key, dvl.message_digest_key_id)
238
+ assert_equal(alg, dvl.message_digest_algorithm_type)
239
+ assert_equal(encr, dvl.message_digest_encryption_type)
240
+ assert_equal(encr_pw, dvl.message_digest_password)
241
+ key = 200
242
+ encr = :cisco_type_7
243
+ encr_pw = '046E1803362E595C260E0B240619050A2D'
244
+ dvl.message_digest_key_set(key, alg, encr, encr_pw)
245
+ assert_equal(key, dvl.message_digest_key_id)
246
+ assert_equal(alg, dvl.message_digest_algorithm_type)
247
+ assert_equal(encr, dvl.message_digest_encryption_type)
248
+ assert_equal(encr_pw, dvl.message_digest_password)
249
+ dvl.message_digest_key_set(dvl.message_digest_key_id,
250
+ dvl.default_message_digest_algorithm_type,
251
+ dvl.default_message_digest_encryption_type,
252
+ dvl.default_message_digest_password)
253
+ assert_equal(dvl.default_message_digest_algorithm_type,
254
+ dvl.message_digest_algorithm_type)
255
+ assert_equal(dvl.default_message_digest_encryption_type,
256
+ dvl.message_digest_encryption_type)
257
+ assert_equal(dvl.default_message_digest_key_id,
258
+ dvl.message_digest_key_id)
259
+ assert_equal(dvl.default_message_digest_password,
260
+ dvl.message_digest_password)
261
+ vvl = create_routerospfarea_vrf_virtual_link
262
+ assert_equal(vvl.default_message_digest_algorithm_type,
263
+ vvl.message_digest_algorithm_type)
264
+ assert_equal(vvl.default_message_digest_encryption_type,
265
+ vvl.message_digest_encryption_type)
266
+ assert_equal(vvl.default_message_digest_key_id,
267
+ vvl.message_digest_key_id)
268
+ assert_equal(vvl.default_message_digest_password,
269
+ vvl.message_digest_password)
270
+ key = 82
271
+ encr = :"3des"
272
+ encr_pw = '762bc328e3bdf235'
273
+ vvl.message_digest_key_set(key, alg, encr, encr_pw)
274
+ assert_equal(key, vvl.message_digest_key_id)
275
+ assert_equal(alg, vvl.message_digest_algorithm_type)
276
+ assert_equal(encr, vvl.message_digest_encryption_type)
277
+ assert_equal(encr_pw, vvl.message_digest_password)
278
+ key = 5
279
+ encr = :cisco_type_7
280
+ encr_pw = '12345678901234567890'
281
+ vvl.message_digest_key_set(key, alg, encr, encr_pw)
282
+ assert_equal(key, vvl.message_digest_key_id)
283
+ assert_equal(alg, vvl.message_digest_algorithm_type)
284
+ assert_equal(encr, vvl.message_digest_encryption_type)
285
+ assert_equal(encr_pw, vvl.message_digest_password)
286
+ vvl.message_digest_key_set(key, vvl.default_message_digest_algorithm_type,
287
+ vvl.default_message_digest_encryption_type,
288
+ vvl.default_message_digest_password)
289
+ assert_equal(vvl.default_message_digest_algorithm_type,
290
+ vvl.message_digest_algorithm_type)
291
+ assert_equal(vvl.default_message_digest_encryption_type,
292
+ vvl.message_digest_encryption_type)
293
+ assert_equal(vvl.default_message_digest_key_id,
294
+ vvl.message_digest_key_id)
295
+ assert_equal(vvl.default_message_digest_password,
296
+ vvl.message_digest_password)
297
+ end
298
+ end
@@ -274,6 +274,23 @@ class TestRouterOspfVrf < CiscoTestCase
274
274
  vrf.parent.destroy
275
275
  end
276
276
 
277
+ def test_bfd
278
+ routerospf = create_routerospf
279
+ vrf = create_routerospfvrf(routerospf.name)
280
+ vrf1 = create_routerospfvrf(routerospf.name, 'testvrf')
281
+ assert_equal(vrf.default_bfd, vrf.bfd)
282
+ assert_equal(vrf1.default_bfd, vrf1.bfd)
283
+ vrf.bfd = true
284
+ vrf1.bfd = true
285
+ assert_equal(true, vrf.bfd)
286
+ assert_equal(true, vrf1.bfd)
287
+ vrf.bfd = vrf.default_bfd
288
+ vrf1.bfd = vrf1.default_bfd
289
+ assert_equal(vrf.default_bfd, vrf.bfd)
290
+ assert_equal(vrf1.default_bfd, vrf1.bfd)
291
+ routerospf.destroy
292
+ end
293
+
277
294
  def test_default_metric
278
295
  vrf = create_routerospfvrf
279
296
  metric = 30_000
@@ -20,20 +20,20 @@ require_relative '../lib/cisco_node_utils/snmp_notification_receiver'
20
20
 
21
21
  # TestSnmpNotificationReceiver - Minitest for SnmpNotificationReceiver
22
22
  # node utility.
23
- class TestSnmpNotificationReceiver < CiscoTestCase
23
+ class TestSnmpNotifRcvr < CiscoTestCase
24
24
  @skip_unless_supported = 'snmp_notification_receiver'
25
25
 
26
26
  def setup
27
27
  # setup runs at the beginning of each test
28
28
  super
29
29
  no_snmpnotificationreceiver
30
- config('vrf context red')
30
+ config('vrf context red') if platform == :nexus
31
31
  end
32
32
 
33
33
  def teardown
34
34
  # teardown runs at the end of each test
35
35
  no_snmpnotificationreceiver
36
- config('no vrf context red')
36
+ config('no vrf context red') if platform == :nexus
37
37
  super
38
38
  end
39
39
 
@@ -58,13 +58,13 @@ class TestSnmpNotificationReceiver < CiscoTestCase
58
58
  username: 'ab',
59
59
  port: '45',
60
60
  vrf: 'red',
61
- source_interface: interfaces[0].downcase) # rubocop:disable Metrics/LineLength
61
+ source_interface: interfaces[0].downcase)
62
62
 
63
63
  assert_includes(Cisco::SnmpNotificationReceiver.receivers, id)
64
64
  assert_equal(receiver, Cisco::SnmpNotificationReceiver.receivers[id])
65
65
 
66
66
  assert_equal(interfaces[0].downcase,
67
- Cisco::SnmpNotificationReceiver.receivers[id].source_interface) # rubocop:disable Metrics/LineLength
67
+ Cisco::SnmpNotificationReceiver.receivers[id].source_interface)
68
68
  assert_equal('45', Cisco::SnmpNotificationReceiver.receivers[id].port)
69
69
  assert_equal('informs', Cisco::SnmpNotificationReceiver.receivers[id].type)
70
70
  assert_equal('ab', Cisco::SnmpNotificationReceiver.receivers[id].username)
@@ -89,13 +89,13 @@ class TestSnmpNotificationReceiver < CiscoTestCase
89
89
  username: 'ab',
90
90
  port: '45',
91
91
  vrf: 'red',
92
- source_interface: interfaces[0].downcase) # rubocop:disable Metrics/LineLength
92
+ source_interface: interfaces[0].downcase)
93
93
 
94
94
  assert_includes(Cisco::SnmpNotificationReceiver.receivers, id)
95
95
  assert_equal(receiver, Cisco::SnmpNotificationReceiver.receivers[id])
96
96
 
97
97
  assert_equal(interfaces[0].downcase,
98
- Cisco::SnmpNotificationReceiver.receivers[id].source_interface) # rubocop:disable Metrics/LineLength
98
+ Cisco::SnmpNotificationReceiver.receivers[id].source_interface)
99
99
  assert_equal('45', Cisco::SnmpNotificationReceiver.receivers[id].port)
100
100
  assert_equal('informs', Cisco::SnmpNotificationReceiver.receivers[id].type)
101
101
  assert_equal('ab', Cisco::SnmpNotificationReceiver.receivers[id].username)
@@ -123,7 +123,7 @@ class TestSnmpNotificationReceiver < CiscoTestCase
123
123
  username: 'ab',
124
124
  port: '45',
125
125
  vrf: 'red',
126
- source_interface: interfaces[0].downcase) # rubocop:disable Metrics/LineLength
126
+ source_interface: interfaces[0].downcase)
127
127
 
128
128
  receiver2 = \
129
129
  Cisco::SnmpNotificationReceiver.new(id2,
@@ -134,13 +134,13 @@ class TestSnmpNotificationReceiver < CiscoTestCase
134
134
  username: 'cd',
135
135
  port: '46',
136
136
  vrf: 'red',
137
- source_interface: interfaces[1].downcase) # rubocop:disable Metrics/LineLength
137
+ source_interface: interfaces[1].downcase)
138
138
 
139
139
  assert_includes(Cisco::SnmpNotificationReceiver.receivers, id)
140
140
  assert_equal(receiver, Cisco::SnmpNotificationReceiver.receivers[id])
141
141
 
142
142
  assert_equal(interfaces[0].downcase,
143
- Cisco::SnmpNotificationReceiver.receivers[id].source_interface) # rubocop:disable Metrics/LineLength
143
+ Cisco::SnmpNotificationReceiver.receivers[id].source_interface) if platform == :nexus
144
144
  assert_equal('45', Cisco::SnmpNotificationReceiver.receivers[id].port)
145
145
  assert_equal('informs', Cisco::SnmpNotificationReceiver.receivers[id].type)
146
146
  assert_equal('ab', Cisco::SnmpNotificationReceiver.receivers[id].username)
@@ -152,7 +152,7 @@ class TestSnmpNotificationReceiver < CiscoTestCase
152
152
  assert_equal(receiver2, Cisco::SnmpNotificationReceiver.receivers[id2])
153
153
 
154
154
  assert_equal(interfaces[1].downcase,
155
- Cisco::SnmpNotificationReceiver.receivers[id2].source_interface) # rubocop:disable Metrics/LineLength
155
+ Cisco::SnmpNotificationReceiver.receivers[id2].source_interface)
156
156
  assert_equal('46', Cisco::SnmpNotificationReceiver.receivers[id2].port)
157
157
  assert_equal('traps', Cisco::SnmpNotificationReceiver.receivers[id2].type)
158
158
  assert_equal('cd', Cisco::SnmpNotificationReceiver.receivers[id2].username)
@@ -34,116 +34,156 @@ class TestSnmpCommunity < CiscoTestCase
34
34
 
35
35
  def setup
36
36
  super
37
- @default_show_command = 'show run snmp all | no-more'
37
+ if platform != :ios_xr
38
+ @default_show_command = 'show run snmp all | no-more'
39
+ else
40
+ @default_show_command = 'show running-config snmp'
41
+ end
38
42
  end
39
43
 
40
- def test_snmpcommunity_collection_empty
44
+ def test_collection_empty
41
45
  # This test requires all the snmp communities removed from device
42
- s = @device.cmd('show run snmp all | no-more')
43
- cmd_prefix = 'snmp-server community'
44
- # puts "s : #{s}"
45
- pattern = /#{cmd_prefix}\s\S+\sgroup\s\S+/
46
- until (md = pattern.match(s)).nil?
47
- # puts "md : #{md}"
48
- config("no #{md}")
49
- s = md.post_match
50
- end
46
+ original_list = SnmpCommunity.communities
47
+ cleanup_snmp_communities(original_list)
48
+
51
49
  snmpcommunities = SnmpCommunity.communities
52
50
  assert_equal(true, snmpcommunities.empty?,
53
51
  'SnmpCommunity collection is not empty')
54
52
  end
55
53
 
56
- def test_snmpcommunity_collection_not_empty
54
+ def test_collection_not_empty
55
+ snmpcommunities = SnmpCommunity.communities
56
+ cleanup_snmp_communities(snmpcommunities)
57
+
57
58
  # This test require some snmp community exist in device
58
- config('snmp-server community com1 group network-admin',
59
- 'snmp-server community com2')
59
+ if platform != :ios_xr
60
+ config('snmp-server community com1 group network-admin',
61
+ 'snmp-server community com2')
62
+ else
63
+ config('snmp-server community com1',
64
+ 'snmp-server community com2')
65
+ end
60
66
  snmpcommunities = SnmpCommunity.communities
67
+
61
68
  assert_equal(false, snmpcommunities.empty?,
62
69
  'SnmpCommunity collection is empty')
63
70
  cleanup_snmp_communities(snmpcommunities)
64
71
  end
65
72
 
66
- def test_snmpcommunity_collection_valid
73
+ def test_collection_valid
67
74
  # This test require some snmp community exist in device
68
- config('snmp-server community com12 group network-operator',
69
- 'snmp-server community com22 group network-admin')
75
+ if platform != :ios_xr
76
+ config('snmp-server community com12 group network-operator',
77
+ 'snmp-server community com22 group network-admin')
78
+ else
79
+ config('snmp-server community com12',
80
+ 'snmp-server community com22')
81
+ end
70
82
  # get collection
83
+
71
84
  snmpcommunities = SnmpCommunity.communities
72
- s = @device.cmd('show run snmp all | no-more')
85
+ if platform != :ios_xr
86
+ s = @device.cmd('show run snmp all | no-more')
87
+ else
88
+ s = @device.cmd('show running-config snmp')
89
+ end
73
90
  cmd = 'snmp-server community'
74
- snmpcommunities.each do |name, snmpcommunity|
75
- line = /#{cmd}\s#{name}\sgroup\s#{snmpcommunity.group}/.match(s)
91
+ snmpcommunities.each do |name, _snmpcommunity|
92
+ line = /#{cmd}\s#{name}\s.*/.match(s)
76
93
  # puts "line: #{line}"
77
94
  assert_equal(false, line.nil?)
78
95
  end
79
96
  cleanup_snmp_communities(snmpcommunities)
80
97
  end
81
98
 
82
- def test_snmpcommunity_create_name_nil
99
+ def test_create_name_nil
83
100
  assert_raises(TypeError) do
84
101
  SnmpCommunity.new(nil, 'network-operator')
85
102
  end
86
103
  end
87
104
 
88
- def test_snmpcommunity_create_group_nil
105
+ def test_create_group_nil
89
106
  assert_raises(TypeError) do
90
107
  SnmpCommunity.new('test', nil)
91
108
  end
92
109
  end
93
110
 
94
- def test_snmpcommunity_create_name_zero_length
111
+ def test_create_name_zero_length
95
112
  assert_raises(Cisco::CliError) do
96
113
  SnmpCommunity.new('', 'network-operator')
97
114
  end
98
115
  end
99
116
 
100
- def test_snmpcommunity_create_group_zero_length
117
+ def test_create_group_zero_length
101
118
  assert_raises(Cisco::CliError) do
102
119
  SnmpCommunity.new('test', '')
103
120
  end
104
121
  end
105
122
 
106
- def test_snmpcommunity_create_name_too_long
123
+ def test_create_name_too_long
107
124
  name = 'co' + 'c' * SNMP_COMMUNITY_NAME_STR
108
125
  assert_raises(Cisco::CliError) do
109
- SnmpCommunity.new(name, 'network-operator')
126
+ if platform != :ios_xr
127
+ SnmpCommunity.new(name, 'network-operator')
128
+ else
129
+ SnmpCommunity.new(name, '')
130
+ end
110
131
  end
111
132
  end
112
133
 
113
- def test_snmpcommunity_create_group_too_long
134
+ def test_create_group_too_long
114
135
  group = 'gr' + 'g' * SNMP_GROUP_NAME_STR
115
136
  assert_raises(Cisco::CliError) do
116
137
  SnmpCommunity.new('test', group)
117
138
  end
118
139
  end
119
140
 
120
- def test_snmpcommunity_create_group_invalid
141
+ def test_create_group_invalid
121
142
  name = 'ciscotest'
122
143
  group = 'network-operator-invalid'
144
+ skip if platform == :ios_xr
123
145
  assert_raises(Cisco::CliError) do
124
146
  SnmpCommunity.new(name, group)
125
147
  end
126
148
  end
127
149
 
128
- def test_snmpcommunity_create_valid
150
+ def test_create_valid
129
151
  name = 'cisco'
130
152
  group = 'network-operator'
131
153
  snmpcommunity = SnmpCommunity.new(name, group)
132
- assert_show_match(
133
- pattern: /snmp-server community\s#{name}\sgroup\s#{group}/)
154
+ if platform != :ios_xr
155
+ assert_show_match(
156
+ pattern: /snmp-server community\s#{name}\sgroup\s#{group}/)
157
+ else
158
+ assert_show_match(
159
+ pattern: /snmp-server community\s#{name}/)
160
+ assert_show_match(
161
+ pattern: /snmp-server group\s#{group}/)
162
+ assert_show_match(
163
+ pattern: /snmp-server community-map\s#{name}\starget-list\s#{group}/)
164
+ end
134
165
  cleanup_snmpcommunity(snmpcommunity)
135
166
  end
136
167
 
137
- def test_snmpcommunity_create_with_name_alphanumeric_char
168
+ def test_name_alpha
138
169
  name = 'cisco128lab'
139
170
  group = 'network-operator'
140
171
  snmpcommunity = SnmpCommunity.new(name, group)
141
- assert_show_match(
142
- pattern: /snmp-server community\s#{name}\sgroup\s#{group}/)
172
+ if platform != :ios_xr
173
+ assert_show_match(
174
+ pattern: /snmp-server community\s#{name}\sgroup\s#{group}/)
175
+ else
176
+ assert_show_match(
177
+ pattern: /snmp-server community\s#{name}/)
178
+ assert_show_match(
179
+ pattern: /snmp-server group\s#{group}/)
180
+ assert_show_match(
181
+ pattern: /snmp-server community-map\s#{name}\starget-list\s#{group}/)
182
+ end
143
183
  cleanup_snmpcommunity(snmpcommunity)
144
184
  end
145
185
 
146
- def test_snmpcommunity_get_group
186
+ def test_get_group
147
187
  name = 'ciscogetgrp'
148
188
  group = 'network-operator'
149
189
  snmpcommunity = SnmpCommunity.new(name, group)
@@ -151,7 +191,7 @@ class TestSnmpCommunity < CiscoTestCase
151
191
  cleanup_snmpcommunity(snmpcommunity)
152
192
  end
153
193
 
154
- def test_snmpcommunity_group_set_zero_length
194
+ def test_group_set_zero_length
155
195
  name = 'ciscogroupsetcom'
156
196
  group = 'network-operator'
157
197
  snmpcommunity = SnmpCommunity.new(name, group)
@@ -161,7 +201,8 @@ class TestSnmpCommunity < CiscoTestCase
161
201
  cleanup_snmpcommunity(snmpcommunity)
162
202
  end
163
203
 
164
- def test_snmpcommunity_group_set_too_long
204
+ def test_group_set_too_long
205
+ skip if platform == :ios_xr
165
206
  name = 'ciscogroupsetcom'
166
207
  group = 'network-operator'
167
208
  snmpcommunity = SnmpCommunity.new(name, group)
@@ -171,7 +212,8 @@ class TestSnmpCommunity < CiscoTestCase
171
212
  cleanup_snmpcommunity(snmpcommunity)
172
213
  end
173
214
 
174
- def test_snmpcommunity_group_set_invalid
215
+ def test_group_set_invalid
216
+ skip if platform == :ios_xr
175
217
  name = 'ciscogroupsetcom'
176
218
  group = 'network-operator'
177
219
  snmpcommunity = SnmpCommunity.new(name, group)
@@ -181,47 +223,80 @@ class TestSnmpCommunity < CiscoTestCase
181
223
  cleanup_snmpcommunity(snmpcommunity)
182
224
  end
183
225
 
184
- def test_snmpcommunity_group_set_valid
226
+ def test_group_set_valid
185
227
  name = 'ciscogroupsetcom'
186
228
  group = 'network-operator'
187
229
  snmpcommunity = SnmpCommunity.new(name, group)
188
230
  # new group
189
231
  group = 'network-admin'
190
232
  snmpcommunity.group = group
191
- assert_show_match(
192
- pattern: /snmp-server community\s#{name}\sgroup\s#{group}/)
233
+ if platform != :ios_xr
234
+ assert_show_match(
235
+ pattern: /snmp-server community\s#{name}\sgroup\s#{group}/)
236
+ else
237
+ assert_show_match(
238
+ pattern: /snmp-server community\s#{name}/)
239
+ assert_show_match(
240
+ pattern: /snmp-server group\s#{group}/)
241
+ assert_show_match(
242
+ pattern: /snmp-server community-map\s#{name}\starget-list\s#{group}/)
243
+ end
244
+
193
245
  cleanup_snmpcommunity(snmpcommunity)
194
246
  end
195
247
 
196
- def test_snmpcommunity_group_set_default
248
+ def test_group_set_default
197
249
  name = 'ciscogroupsetcom'
198
250
  group = 'network-operator'
199
251
  snmpcommunity = SnmpCommunity.new(name, group)
200
252
  # new group identity
201
253
  group = 'vdc-admin'
202
254
  snmpcommunity.group = group
203
- assert_show_match(
204
- pattern: /snmp-server community\s#{name}\sgroup\s#{group}/)
255
+ if platform != :ios_xr
256
+ assert_show_match(
257
+ pattern: /snmp-server community\s#{name}\sgroup\s#{group}/)
258
+ else
259
+ assert_show_match(
260
+ pattern: /snmp-server community\s#{name}/)
261
+ assert_show_match(
262
+ pattern: /snmp-server group\s#{group}/)
263
+ assert_show_match(
264
+ pattern: /snmp-server community-map\s#{name}\starget-list\s#{group}/)
265
+ end
205
266
 
206
267
  # Restore group default
207
268
  group = SnmpCommunity.default_group
208
269
  snmpcommunity.group = group
209
- assert_show_match(
210
- pattern: /snmp-server community\s#{name}\sgroup\s#{group}/)
270
+ if platform != :ios_xr
271
+ assert_show_match(
272
+ pattern: /snmp-server community\s#{name}\sgroup\s#{group}/)
273
+ else
274
+ assert_show_match(
275
+ pattern: /snmp-server community\s#{name}/)
276
+ assert_show_match(
277
+ pattern: /snmp-server group\s#{group}/)
278
+ assert_show_match(
279
+ pattern: /snmp-server community-map\s#{name}\starget-list\s#{group}/)
280
+ end
211
281
 
212
282
  cleanup_snmpcommunity(snmpcommunity)
213
283
  end
214
284
 
215
- def test_snmpcommunity_destroy_valid
285
+ def test_destroy_valid
216
286
  name = 'ciscotest'
217
287
  group = 'network-operator'
218
288
  snmpcommunity = SnmpCommunity.new(name, group)
219
289
  snmpcommunity.destroy
220
- refute_show_match(
221
- pattern: /snmp-server community\s#{name}\sgroup\s#{group}/)
290
+ if platform != :ios_xr
291
+ refute_show_match(
292
+ pattern: /snmp-server community\s#{name}\sgroup\s#{group}/)
293
+ else
294
+ refute_show_match(
295
+ pattern: /snmp-server community\s#{name}/)
296
+ end
222
297
  end
223
298
 
224
- def test_snmpcommunity_acl_get_no_acl
299
+ def test_acl_get_no_acl
225
300
  name = 'cisconoaclget'
226
301
  group = 'network-operator'
227
302
  snmpcommunity = SnmpCommunity.new(name, group)
@@ -229,19 +304,26 @@ class TestSnmpCommunity < CiscoTestCase
229
304
  cleanup_snmpcommunity(snmpcommunity)
230
305
  end
231
306
 
232
- def test_snmpcommunity_acl_get
307
+ def test_acl_get
233
308
  name = 'ciscoaclget'
234
309
  group = 'network-operator'
235
310
  snmpcommunity = SnmpCommunity.new(name, group)
236
311
  snmpcommunity.acl = 'ciscoacl'
237
- line = assert_show_match(
238
- pattern: /snmp-server community\s#{name}\suse-acl\s\S+/)
239
- acl = line.to_s.gsub(/snmp-server community\s#{name}\suse-acl\s/, '').strip
240
- assert_equal(snmpcommunity.acl, acl)
312
+ if platform != :ios_xr
313
+ line = assert_show_match(
314
+ pattern: /snmp-server community\s#{name}\suse-acl\s\S+/)
315
+ acl = line.to_s.gsub(/snmp-server community\s#{name}\suse-acl\s/, '').strip
316
+ assert_equal(snmpcommunity.acl, acl)
317
+ else
318
+ line = assert_show_match(
319
+ pattern: /snmp-server community\s#{name}\sIPv4\s\S+/)
320
+ acl = line.to_s.gsub(/snmp-server community\s#{name}\sIPv4\s/, '').strip
321
+ assert_equal(snmpcommunity.acl, acl)
322
+ end
241
323
  cleanup_snmpcommunity(snmpcommunity)
242
324
  end
243
325
 
244
- def test_snmpcommunity_acl_set_nil
326
+ def test_acl_set_nil
245
327
  name = 'cisco'
246
328
  group = 'network-operator'
247
329
  snmpcommunity = SnmpCommunity.new(name, group)
@@ -251,41 +333,61 @@ class TestSnmpCommunity < CiscoTestCase
251
333
  cleanup_snmpcommunity(snmpcommunity)
252
334
  end
253
335
 
254
- def test_snmpcommunity_acl_set_valid
336
+ def test_acl_set_valid
255
337
  name = 'ciscoadmin'
256
338
  group = 'network-admin'
257
339
  acl = 'ciscoadminacl'
258
340
  snmpcommunity = SnmpCommunity.new(name, group)
259
341
  snmpcommunity.acl = acl
260
- assert_show_match(
261
- pattern: /snmp-server community\s#{name}\suse-acl\s#{acl}/)
342
+ if platform != :ios_xr
343
+ assert_show_match(
344
+ pattern: /snmp-server community\s#{name}\suse-acl\s#{acl}/)
345
+ else
346
+ assert_show_match(
347
+ pattern: /snmp-server community\s#{name}\sIPv4\s#{acl}/)
348
+ end
262
349
  cleanup_snmpcommunity(snmpcommunity)
263
350
  end
264
351
 
265
- def test_snmpcommunity_acl_set_zero_length
352
+ def test_acl_set_zero_length
266
353
  name = 'ciscooper'
267
354
  group = 'network-operator'
268
355
  acl = 'ciscooperacl'
269
356
  snmpcommunity = SnmpCommunity.new(name, group)
270
357
  # puts "set acl #{acl}"
271
358
  snmpcommunity.acl = acl
272
- assert_show_match(
273
- pattern: /snmp-server community\s#{name}\suse-acl\s#{acl}/)
359
+ if platform != :ios_xr
360
+ assert_show_match(
361
+ pattern: /snmp-server community\s#{name}\suse-acl\s#{acl}/)
362
+ else
363
+ assert_show_match(
364
+ pattern: /snmp-server community\s#{name}\sIPv4\s#{acl}/)
365
+ end
274
366
  # remove acl
275
367
  snmpcommunity.acl = ''
276
- refute_show_match(
277
- pattern: /snmp-server community\s#{name}\suse-acl\s#{acl}/)
368
+ if platform != :ios_xr
369
+ refute_show_match(
370
+ pattern: /snmp-server community\s#{name}\suse-acl\s#{acl}/)
371
+ else
372
+ refute_show_match(
373
+ pattern: /snmp-server community\s#{name}\sIPv4\s#{acl}/)
374
+ end
278
375
  cleanup_snmpcommunity(snmpcommunity)
279
376
  end
280
377
 
281
- def test_snmpcommunity_acl_set_default
378
+ def test_acl_set_default
282
379
  name = 'cisco'
283
380
  group = 'network-operator'
284
381
  acl = 'cisco_test_acl'
285
382
  snmpcommunity = SnmpCommunity.new(name, group)
286
383
  snmpcommunity.acl = acl
287
- assert_show_match(
288
- pattern: /snmp-server community\s#{name}\suse-acl\s#{acl}/)
384
+ if platform != :ios_xr
385
+ assert_show_match(
386
+ pattern: /snmp-server community\s#{name}\suse-acl\s#{acl}/)
387
+ else
388
+ assert_show_match(
389
+ pattern: /snmp-server community\s#{name}\sIPv4\s#{acl}/)
390
+ end
289
391
 
290
392
  # Check default_acl
291
393
  assert_equal(DEFAULT_SNMP_COMMUNITY_ACL,
@@ -295,8 +397,14 @@ class TestSnmpCommunity < CiscoTestCase
295
397
  # Set acl to default
296
398
  acl = SnmpCommunity.default_acl
297
399
  snmpcommunity.acl = acl
298
- refute_show_match(
299
- pattern: /snmp-server community\s#{name}\suse-acl\s#{acl}/)
400
+ if platform != :ios_xr
401
+ refute_show_match(
402
+ pattern: /snmp-server community\s#{name}\suse-acl\s#{acl}/)
403
+ else
404
+ refute_show_match(
405
+ pattern: /snmp-server community\s#{name}\sIPv4\s#{acl}/)
406
+ end
407
+
300
408
  cleanup_snmpcommunity(snmpcommunity)
301
409
  end
302
410
  end