@@ -121,6 +121,124 @@ def test__format_commands(self):
121121 ['interface vlan 33' , 'no tagged 3333' , 'exit' ])
122122
123123
124+ class TestNetmikoDellOS10 (test_netmiko_base .NetmikoSwitchTestBase ):
125+
126+ def _make_switch_device (self , extra_cfg = {}):
127+ device_cfg = {'device_type' : 'netmiko_dell_os10' }
128+ device_cfg .update (extra_cfg )
129+ return dell .DellOS10 (device_cfg )
130+
131+ def test_constants (self ):
132+ self .assertIsNone (self .switch .SAVE_CONFIGURATION )
133+
134+ @mock .patch ('networking_generic_switch.devices.netmiko_devices.'
135+ 'NetmikoSwitch.send_commands_to_device' )
136+ def test_add_network (self , m_exec ):
137+ self .switch .add_network (33 , '0ae071f5-5be9-43e4-80ea-e41fefe85b21' )
138+ m_exec .assert_called_with (
139+ ['interface vlan 33' ,
140+ 'description 0ae071f55be943e480eae41fefe85b21' ,
141+ 'exit' ]
142+ )
143+
144+ @mock .patch ('networking_generic_switch.devices.netmiko_devices.'
145+ 'NetmikoSwitch.send_commands_to_device' )
146+ def test_add_network_with_trunk_ports (self , mock_exec ):
147+ switch = self ._make_switch_device ({'ngs_trunk_ports' : 'port1, port2' })
148+ switch .add_network (33 , '0ae071f5-5be9-43e4-80ea-e41fefe85b21' )
149+ mock_exec .assert_called_with (
150+ ['interface vlan 33' ,
151+ 'description 0ae071f55be943e480eae41fefe85b21' ,
152+ 'exit' ,
153+ 'interface port1' , 'switchport mode trunk' ,
154+ 'switchport trunk allowed vlan 33' , 'exit' ,
155+ 'interface port2' , 'switchport mode trunk' ,
156+ 'switchport trunk allowed vlan 33' , 'exit' ]
157+ )
158+
159+ @mock .patch ('networking_generic_switch.devices.netmiko_devices.'
160+ 'NetmikoSwitch.send_commands_to_device' )
161+ def test_del_network (self , mock_exec ):
162+ self .switch .del_network (33 , '0ae071f5-5be9-43e4-80ea-e41fefe85b21' )
163+ mock_exec .assert_called_with (['no interface vlan 33' , 'exit' ])
164+
165+ @mock .patch ('networking_generic_switch.devices.netmiko_devices.'
166+ 'NetmikoSwitch.send_commands_to_device' )
167+ def test_del_network_with_trunk_ports (self , mock_exec ):
168+ switch = self ._make_switch_device ({'ngs_trunk_ports' : 'port1, port2' })
169+ switch .del_network (33 , '0ae071f55be943e480eae41fefe85b21' )
170+ mock_exec .assert_called_with (
171+ ['interface port1' , 'no switchport trunk allowed vlan 33' , 'exit' ,
172+ 'interface port2' , 'no switchport trunk allowed vlan 33' , 'exit' ,
173+ 'no interface vlan 33' , 'exit' ])
174+
175+ @mock .patch ('networking_generic_switch.devices.netmiko_devices.'
176+ 'NetmikoSwitch.send_commands_to_device' )
177+ def test_plug_port_to_network (self , mock_exec ):
178+ self .switch .plug_port_to_network (3333 , 33 )
179+ mock_exec .assert_called_with (
180+ ['interface 3333' , 'switchport mode access' ,
181+ 'switchport access vlan 33' ,
182+ 'exit' ]
183+ )
184+
185+ @mock .patch ('networking_generic_switch.devices.netmiko_devices.'
186+ 'NetmikoSwitch.send_commands_to_device' )
187+ def test_delete_port (self , mock_exec ):
188+ self .switch .delete_port (3333 , 33 )
189+ mock_exec .assert_called_with (
190+ ['interface 3333' , 'no switchport access vlan' , 'exit' ]
191+ )
192+
193+ def test__format_commands (self ):
194+ cmd_set = self .switch ._format_commands (
195+ dell .DellOS10 .ADD_NETWORK ,
196+ segmentation_id = 22 ,
197+ network_id = 22 ,
198+ network_name = 'vlan-22' )
199+ self .assertEqual (cmd_set ,
200+ ['interface vlan 22' ,
201+ 'description vlan-22' ,
202+ 'exit' ]
203+ )
204+
205+ cmd_set = self .switch ._format_commands (
206+ dell .DellOS10 .DELETE_NETWORK ,
207+ segmentation_id = 22 )
208+ self .assertEqual (cmd_set , ['no interface vlan 22' , 'exit' ])
209+
210+ cmd_set = self .switch ._format_commands (
211+ dell .DellOS10 .PLUG_PORT_TO_NETWORK ,
212+ port = 3333 ,
213+ segmentation_id = 33 )
214+ self .assertEqual (cmd_set , ['interface 3333' , 'switchport mode access' ,
215+ 'switchport access vlan 33' , 'exit' ])
216+ cmd_set = self .switch ._format_commands (
217+ dell .DellOS10 .DELETE_PORT ,
218+ port = 3333 ,
219+ segmentation_id = 33 )
220+ self .assertEqual (cmd_set ,
221+ ['interface 3333' , 'no switchport access vlan' ,
222+ 'exit' ])
223+
224+ cmd_set = self .switch ._format_commands (
225+ dell .DellOS10 .ADD_NETWORK_TO_TRUNK ,
226+ port = 3333 ,
227+ segmentation_id = 33 )
228+ self .assertEqual (cmd_set ,
229+ ['interface 3333' , 'switchport mode trunk' ,
230+ 'switchport trunk allowed vlan 33' ,
231+ 'exit' ])
232+ cmd_set = self .switch ._format_commands (
233+ dell .DellOS10 .REMOVE_NETWORK_FROM_TRUNK ,
234+ port = 3333 ,
235+ segmentation_id = 33 )
236+ self .assertEqual (cmd_set ,
237+ ['interface 3333' ,
238+ 'no switchport trunk allowed vlan 33' ,
239+ 'exit' ])
240+
241+
124242class TestNetmikoDellPowerConnect (test_netmiko_base .NetmikoSwitchTestBase ):
125243
126244 def _make_switch_device (self , extra_cfg = {}):
0 commit comments