3 # Copyright (c) 2016-2017 Intel Corporation
5 # Licensed under the Apache License, Version 2.0 (the "License");
6 # you may not use this file except in compliance with the License.
7 # You may obtain a copy of the License at
9 # http://www.apache.org/licenses/LICENSE-2.0
11 # Unless required by applicable law or agreed to in writing, software
12 # distributed under the License is distributed on an "AS IS" BASIS,
13 # WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
14 # See the License for the specific language governing permissions and
15 # limitations under the License.
18 # Unittest for yardstick.benchmark.contexts.standalone
20 from __future__ import absolute_import
25 from yardstick.benchmark.contexts import standalone
26 from yardstick.benchmark.contexts import sriov
27 from yardstick.benchmark.contexts import ovsdpdk
30 'yardstick.benchmark.contexts': mock.MagicMock(),
31 'yardstick.benchmark.contexts.sriov': mock.MagicMock(),
32 'yardstick.benchmark.contexts.ovsdpdk': mock.MagicMock(),
33 'yardstick.benchmark.contexts.standalone': mock.MagicMock(),
37 @mock.patch('yardstick.benchmark.contexts.ovsdpdk.time')
38 @mock.patch('yardstick.benchmark.contexts.standalone.time')
39 @mock.patch('yardstick.benchmark.contexts.sriov.time')
40 class StandaloneContextTestCase(unittest.TestCase):
41 NODES_SAMPLE = "nodes_sample_new.yaml"
42 NODES_SAMPLE_SRIOV = "nodes_sample_new_sriov.yaml"
43 NODES_DUPLICATE_SAMPLE = "nodes_duplicate_sample_new.yaml"
45 NODES_SAMPLE_OVSDPDK = "nodes_sample_ovs.yaml"
46 NODES_SAMPLE_OVSDPDK_ROLE = "nodes_sample_ovsdpdk.yaml"
47 NODES_DUPLICATE_OVSDPDK = "nodes_duplicate_sample_ovs.yaml"
50 self.test_context = standalone.StandaloneContext()
52 def test_construct(self, mock_sriov_time, mock_standlalone_time, mock_ovsdpdk_time):
53 self.assertIsNone(self.test_context.name)
54 self.assertIsNone(self.test_context.file_path)
55 self.assertEqual(self.test_context.nodes, [])
56 self.assertEqual(self.test_context.nfvi_node, [])
58 def test_unsuccessful_init(self, mock_sriov_time, mock_standlalone_time, mock_ovsdpdk_time):
61 'file': self._get_file_abspath("error_file")
63 self.assertRaises(IOError, self.test_context.init, attrs)
65 def test_successful_init_sriov(self, mock_sriov_time, mock_standlalone_time,
69 'file': self._get_file_abspath(self.NODES_SAMPLE)
71 self.test_context.nfvi_node = [{
73 'vf_macs': ['00:00:00:71:7d:25', '00:00:00:71:7d:26'],
74 'ip': '10.223.197.140',
77 'images': '/var/lib/libvirt/images/ubuntu1.img',
79 'password': 'intel123',
80 'phy_ports': ['0000:06:00.0', '0000:06:00.1']}]
81 self.test_context.get_nfvi_obj = mock.Mock()
82 self.test_context.init(attrs_sriov)
83 self.assertEqual(self.test_context.name, "sriov")
84 self.assertEqual(len(self.test_context.nodes), 2)
85 self.assertEqual(len(self.test_context.nfvi_node), 2)
86 self.assertEqual(self.test_context.nfvi_node[0]["name"], "sriov")
88 def test_successful_init_ovs(self, mock_sriov_time, mock_standlalone_time, mock_ovsdpdk_time):
91 'file': self._get_file_abspath(self.NODES_SAMPLE_OVSDPDK)
93 self.test_context.nfvi_node = [{
95 'vports_mac': ['00:00:00:00:00:03', '00:00:00:00:00:04'],
96 'ip': '10.223.197.140',
99 'vpath': '/usr/local/',
100 'images': '/var/lib/libvirt/images/ubuntu1.img',
101 'phy_driver': 'i40e',
102 'password': 'password',
103 'phy_ports': ['0000:06:00.0', '0000:06:00.1']}]
104 self.test_context.get_nfvi_obj = mock.Mock()
105 self.test_context.init(attrs_ovs)
106 self.assertEqual(self.test_context.name, "ovs")
107 self.assertEqual(len(self.test_context.nodes), 2)
108 self.assertEqual(len(self.test_context.nfvi_node), 2)
109 self.assertEqual(self.test_context.nfvi_node[0]["name"], "ovs")
111 def test__get_server_with_dic_attr_name_sriov(self, mock_sriov_time, mock_standlalone_time,
115 'file': self._get_file_abspath(self.NODES_SAMPLE)
117 self.test_context.nfvi_node = [{
119 'vf_macs': ['00:00:00:71:7d:25', '00:00:00:71:7d:26'],
120 'ip': '10.223.197.140',
123 'images': '/var/lib/libvirt/images/ubuntu1.img',
124 'phy_driver': 'i40e',
125 'password': 'intel123',
126 'phy_ports': ['0000:06:00.0', '0000:06:00.1']}]
127 self.test_context.init(attrs_sriov)
128 attr_name = {'name': 'foo.bar'}
129 result = self.test_context._get_server(attr_name)
130 self.assertEqual(result, None)
132 def test__get_server_with_dic_attr_name_ovs(self, mock_sriov_time, mock_standlalone_time,
136 'file': self._get_file_abspath(self.NODES_SAMPLE_OVSDPDK)
138 self.test_context.nfvi_node = [{
140 'vports_mac': ['00:00:00:00:00:03', '00:00:00:00:00:04'],
141 'ip': '10.223.197.140',
144 'vpath': '/usr/local/',
145 'images': '/var/lib/libvirt/images/ubuntu1.img',
146 'phy_driver': 'i40e',
147 'password': 'intel123',
148 'phy_ports': ['0000:06:00.0', '0000:06:00.1']}]
149 self.test_context.init(attrs_ovs)
150 attr_name = {'name': 'foo.bar'}
151 result = self.test_context._get_server(attr_name)
152 self.assertEqual(result, None)
154 def test__get_server_not_found_sriov(self, mock_sriov_time, mock_standlalone_time,
158 'file': self._get_file_abspath(self.NODES_SAMPLE)
160 self.test_context.nfvi_node = [{
162 'vf_macs': ['00:00:00:71:7d:25', '00:00:00:71:7d:26'],
163 'ip': '10.223.197.140',
166 'images': '/var/lib/libvirt/images/ubuntu1.img',
167 'phy_driver': 'i40e',
168 'password': 'password',
169 'phy_ports': ['0000:06:00.0', '0000:06:00.1']}]
170 self.test_context.init(attrs)
171 attr_name = 'bar.foo'
172 result = self.test_context._get_server(attr_name)
173 self.assertEqual(result, None)
175 def test__get_server_not_found_ovs(self, mock_sriov_time, mock_standlalone_time,
179 'file': self._get_file_abspath(self.NODES_SAMPLE_OVSDPDK)
181 self.test_context.nfvi_node = [{
183 'vports_mac': ['00:00:00:00:00:03', '00:00:00:00:00:04'],
184 'ip': '10.223.197.140',
187 'vpath': '/usr/local/',
188 'images': '/var/lib/libvirt/images/ubuntu1.img',
189 'phy_driver': 'i40e',
190 'password': 'password',
191 'phy_ports': ['0000:06:00.0', '0000:06:00.1']}]
192 self.test_context.init(attrs)
193 attr_name = 'bar.foo'
194 result = self.test_context._get_server(attr_name)
195 self.assertEqual(result, None)
197 def test__get_server_duplicate_sriov(self, mock_sriov_time, mock_standlalone_time,
201 'file': self._get_file_abspath(self.NODES_DUPLICATE_SAMPLE)
203 self.test_context.nfvi_node = [{
205 'vf_macs': ['00:00:00:71:7d:25', '00:00:00:71:7d:26'],
206 'ip': '10.223.197.140',
209 'images': '/var/lib/libvirt/images/ubuntu1.img',
210 'phy_driver': 'i40e',
211 'password': 'password',
212 'phy_ports': ['0000:06:00.0', '0000:06:00.1']}]
213 self.test_context.get_nfvi_obj = mock.Mock(return_value="sriov")
214 self.test_context.init(attrs)
215 attr_name = 'sriov.foo'
216 # self.test_context.name = "sriov"
217 self.assertRaises(ValueError, self.test_context._get_server, attr_name)
219 def test__get_server_duplicate_ovs(self, mock_sriov_time, mock_standlalone_time,
223 'file': self._get_file_abspath(self.NODES_DUPLICATE_OVSDPDK)
225 self.test_context.nfvi_node = [{
227 'vports_mac': ['00:00:00:00:00:03', '00:00:00:00:00:04'],
228 'ip': '10.223.197.140',
231 'vpath': '/usr/local/',
232 'images': '/var/lib/libvirt/images/ubuntu1.img',
233 'phy_driver': 'i40e',
234 'password': 'intel123',
235 'phy_ports': ['0000:06:00.0', '0000:06:00.1']}]
237 self.test_context.get_nfvi_obj = mock.Mock(return_value="OvsDpdk")
238 self.test_context.init(attrs)
240 attr_name = 'ovs.foo'
243 self.test_context._get_server,
246 def test__get_server_found_sriov(self, mock_sriov_time, mock_standlalone_time,
250 'file': self._get_file_abspath(self.NODES_SAMPLE_SRIOV)
252 self.test_context.nfvi_node = [{
254 'vf_macs': ['00:00:00:71:7d:25', '00:00:00:71:7d:26'],
255 'ip': '10.223.197.140',
258 'images': '/var/lib/libvirt/images/ubuntu1.img',
259 'phy_driver': 'i40e',
260 'password': 'intel123',
261 'phy_ports': ['0000:06:00.0', '0000:06:00.1']}]
263 self.test_context.get_nfvi_obj = mock.Mock(return_value="OvsDpdk")
264 self.test_context.init(attrs)
265 attr_name = 'sriov.foo'
266 result = self.test_context._get_server(attr_name)
267 self.assertEqual(result['ip'], '10.123.123.122')
268 self.assertEqual(result['name'], 'sriov.foo')
269 self.assertEqual(result['user'], 'root')
271 def test__get_server_found_ovs(self, mock_sriov_time, mock_standlalone_time,
275 'file': self._get_file_abspath(self.NODES_SAMPLE_OVSDPDK_ROLE)
277 self.test_context.nfvi_node = [{
279 'vports_mac': ['00:00:00:00:00:03', '00:00:00:00:00:04'],
280 'ip': '10.223.197.140',
283 'vpath': '/usr/local/',
284 'images': '/var/lib/libvirt/images/ubuntu1.img',
285 'phy_driver': 'i40e',
286 'password': 'password',
287 'phy_ports': ['0000:06:00.0', '0000:06:00.1']}]
288 self.test_context.get_nfvi_obj = mock.Mock(return_value="OvsDpdk")
289 self.test_context.init(attrs)
290 attr_name = 'ovs.foo'
291 result = self.test_context._get_server(attr_name)
292 self.assertEqual(result['ip'], '10.223.197.222')
293 self.assertEqual(result['name'], 'ovs.foo')
294 self.assertEqual(result['user'], 'root')
296 def test__deploy_unsuccessful(self, mock_sriov_time, mock_standlalone_time, mock_ovsdpdk_time):
297 self.test_context.vm_deploy = False
299 def test__deploy_sriov_firsttime(self, mock_sriov_time, mock_standlalone_time,
303 'file': self._get_file_abspath(self.NODES_SAMPLE)
305 self.test_context.nfvi_node = [{
307 'vf_macs': ['00:00:00:71:7d:25', '00:00:00:71:7d:26'],
308 'ip': '10.223.197.140',
311 'images': '/var/lib/libvirt/images/ubuntu1.img',
312 'phy_driver': 'i40e',
313 'password': 'intel123',
314 'phy_ports': ['0000:06:00.0', '0000:06:00.1']}]
318 'vf_macs': ['00:00:00:71:7d:25', '00:00:00:71:7d:26'],
319 'ip': '10.223.197.140',
322 'images': '/var/lib/libvirt/images/ubuntu1.img',
323 'phy_driver': 'i40e',
324 'password': 'intel123',
325 'phy_ports': ['0000:06:00.0', '0000:06:00.1']}]
327 self.test_context.vm_deploy = True
329 self.test_context.get_nfvi_obj = mock.MagicMock()
330 self.test_context.init(attrs)
331 self.test_context.nfvi_obj.sriov = MYSRIOV
332 self.test_context.nfvi_obj.ssh_remote_machine = mock.Mock()
333 self.test_context.nfvi_obj.first_run = True
334 self.test_context.nfvi_obj.install_req_libs()
335 self.test_context.nfvi_obj.get_nic_details = mock.Mock()
336 PORTS = ['0000:06:00.0', '0000:06:00.1']
338 'interface': {0: 'enp6s0f0', 1: 'enp6s0f1'},
339 'vf_macs': ['00:00:00:71:7d:25', '00:00:00:71:7d:26'],
340 'pci': ['0000:06:00.0', '0000:06:00.1'],
341 'phy_driver': 'i40e'}
343 result = self.test_context.nfvi_obj.setup_sriov_context(
347 print("{0}".format(result))
348 self.assertIsNone(self.test_context.deploy())
350 def test__deploy_sriov_notfirsttime(self, mock_sriov_time, mock_standlalone_time,
354 'file': self._get_file_abspath(self.NODES_SAMPLE)
357 self.test_context.nfvi_node = [{
359 'vf_macs': ['00:00:00:71:7d:25', '00:00:00:71:7d:26'],
360 'ip': '10.223.197.140',
363 'images': '/var/lib/libvirt/images/ubuntu1.img',
364 'phy_driver': 'i40e',
365 'password': 'intel123',
366 'phy_ports': ['0000:06:00.0', '0000:06:00.1']}]
369 'vf_macs': ['00:00:00:71:7d:25', '00:00:00:71:7d:26'],
370 'ip': '10.223.197.140',
373 'images': '/var/lib/libvirt/images/ubuntu1.img',
374 'phy_driver': 'i40e',
375 'password': 'intel123',
376 'phy_ports': ['0000:06:00.0', '0000:06:00.1']}]
378 self.test_context.vm_deploy = True
379 self.test_context.get_nfvi_obj = mock.MagicMock()
380 self.test_context.init(attrs)
381 self.test_context.nfvi_obj.sriov = MYSRIOV
382 self.test_context.nfvi_obj.ssh_remote_machine = mock.Mock()
383 self.test_context.nfvi_obj.first_run = False
384 self.test_context.nfvi_obj.get_nic_details = mock.Mock()
385 PORTS = ['0000:06:00.0', '0000:06:00.1']
387 'interface': {0: 'enp6s0f0', 1: 'enp6s0f1'},
388 'vf_macs': ['00:00:00:71:7d:25', '00:00:00:71:7d:26'],
389 'pci': ['0000:06:00.0', '0000:06:00.1'],
390 'phy_driver': 'i40e'}
392 result = self.test_context.nfvi_obj.setup_sriov_context(
396 print("{0}".format(result))
397 self.assertIsNone(self.test_context.deploy())
399 def test__deploy_ovs_firsttime(self, mock_sriov_time, mock_standlalone_time,
403 'file': self._get_file_abspath(self.NODES_SAMPLE_OVSDPDK)
406 self.test_context.nfvi_node = [{
408 'vports_mac': ['00:00:00:00:00:03', '00:00:00:00:00:04'],
409 'ip': '10.223.197.140',
412 'vpath': '/usr/local/',
413 'images': '/var/lib/libvirt/images/ubuntu1.img',
414 'phy_driver': 'i40e',
415 'password': 'password',
416 'phy_ports': ['0000:06:00.0', '0000:06:00.1']}]
420 'vports_mac': ['00:00:00:00:00:03', '00:00:00:00:00:04'],
421 'ip': '10.223.197.140',
424 'vpath': '/usr/local/',
425 'images': '/var/lib/libvirt/images/ubuntu1.img',
426 'phy_driver': 'i40e',
427 'password': 'password',
428 'flow': ['ovs-ofctl add-flow br0 in_port=1,action=output:3',
429 'ovs-ofctl add-flow br0 in_port=3,action=output:1'
430 'ovs-ofctl add-flow br0 in_port=4,action=output:2'
431 'ovs-ofctl add-flow br0 in_port=2,action=output:4'],
432 'phy_ports': ['0000:06:00.0', '0000:06:00.1']}]
434 self.test_context.vm_deploy = True
435 self.test_context.get_nfvi_obj = mock.MagicMock()
436 self.test_context.init(attrs)
437 self.test_context.ovs = MYOVS
438 self.test_context.nfvi_obj.ssh_remote_machine = mock.Mock()
439 self.test_context.nfvi_obj.first_run = True
440 self.test_context.nfvi_obj.install_req_libs()
441 self.test_context.nfvi_obj.get_nic_details = mock.Mock()
442 PORTS = ['0000:06:00.0', '0000:06:00.1']
444 'interface': {0: 'enp6s0f0', 1: 'enp6s0f1'},
445 'vports_mac': ['00:00:00:00:00:05', '00:00:00:00:00:06'],
446 'pci': ['0000:06:00.0', '0000:06:00.1'],
447 'phy_driver': 'i40e'}
450 self.test_context.nfvi_obj.setup_ovs = mock.Mock()
451 self.test_context.nfvi_obj.start_ovs_serverswitch = mock.Mock()
452 self.test_context.nfvi_obj.setup_ovs_bridge = mock.Mock()
453 self.test_context.nfvi_obj.add_oflows = mock.Mock()
455 result = self.test_context.nfvi_obj.setup_ovs_context(
459 print("{0}".format(result))
460 self.assertIsNone(self.test_context.deploy())
462 def test__deploy_ovs_notfirsttime(self, mock_sriov_time, mock_standlalone_time,
466 'file': self._get_file_abspath(self.NODES_SAMPLE_OVSDPDK)
468 self.test_context.nfvi_node = [{
470 'vports_mac': ['00:00:00:00:00:03', '00:00:00:00:00:04'],
471 'ip': '10.223.197.140',
474 'vpath': '/usr/local/',
475 'images': '/var/lib/libvirt/images/ubuntu1.img',
476 'phy_driver': 'i40e',
477 'password': 'password',
478 'phy_ports': ['0000:06:00.0', '0000:06:00.1']}]
482 'vports_mac': ['00:00:00:00:00:03', '00:00:00:00:00:04'],
483 'ip': '10.223.197.140',
486 'vpath': '/usr/local/',
487 'images': '/var/lib/libvirt/images/ubuntu1.img',
488 'phy_driver': 'i40e',
489 'password': 'password',
490 'flow': ['ovs-ofctl add-flow br0 in_port=1,action=output:3',
491 'ovs-ofctl add-flow br0 in_port=3,action=output:1'
492 'ovs-ofctl add-flow br0 in_port=4,action=output:2'
493 'ovs-ofctl add-flow br0 in_port=2,action=output:4'],
494 'phy_ports': ['0000:06:00.0', '0000:06:00.1']}]
496 self.test_context.vm_deploy = True
497 self.test_context.get_nfvi_obj = mock.MagicMock()
498 self.test_context.init(attrs)
499 self.test_context.ovs = MYOVS
500 self.test_context.nfvi_obj.ssh_remote_machine = mock.Mock()
501 self.test_context.nfvi_obj.first_run = False
502 self.test_context.nfvi_obj.get_nic_details = mock.Mock()
503 PORTS = ['0000:06:00.0', '0000:06:00.1']
505 'interface': {0: 'enp6s0f0', 1: 'enp6s0f1'},
506 'vports_mac': ['00:00:00:00:00:05', '00:00:00:00:00:06'],
507 'pci': ['0000:06:00.0', '0000:06:00.1'],
508 'phy_driver': 'i40e'}
511 self.test_context.nfvi_obj.setup_ovs(PORTS)
512 self.test_context.nfvi_obj.start_ovs_serverswitch()
513 self.test_context.nfvi_obj.setup_ovs_bridge()
514 self.test_context.nfvi_obj.add_oflows()
516 result = self.test_context.nfvi_obj.setup_ovs_context(
520 print("{0}".format(result))
521 self.assertIsNone(self.test_context.deploy())
523 def test_undeploy_sriov(self, mock_sriov_time, mock_standlalone_time, mock_ovsdpdk_time):
526 'file': self._get_file_abspath(self.NODES_SAMPLE)
528 self.test_context.nfvi_node = [{
530 'vf_macs': ['00:00:00:71:7d:25', '00:00:00:71:7d:26'],
531 'ip': '10.223.197.140',
534 'images': '/var/lib/libvirt/images/ubuntu1.img',
535 'phy_driver': 'i40e',
536 'password': 'intel123',
537 'phy_ports': ['0000:06:00.0', '0000:06:00.1']}]
538 self.test_context.get_nfvi_obj = mock.MagicMock()
539 self.test_context.init(attrs)
540 self.test_context.nfvi_obj.destroy_vm = mock.Mock()
541 self.assertIsNone(self.test_context.undeploy())
543 def test_undeploy_ovs(self, mock_sriov_time, mock_standlalone_time, mock_ovsdpdk_time):
546 'file': self._get_file_abspath(self.NODES_SAMPLE_OVSDPDK)
549 self.test_context.nfvi_node = [{
551 'vports_mac': ['00:00:00:00:00:03', '00:00:00:00:00:04'],
552 'ip': '10.223.197.140',
555 'vpath': '/usr/local/',
556 'images': '/var/lib/libvirt/images/ubuntu1.img',
557 'phy_driver': 'i40e',
558 'password': 'password',
559 'phy_ports': ['0000:06:00.0', '0000:06:00.1']}]
561 self.test_context.get_nfvi_obj = mock.MagicMock()
562 self.test_context.init(attrs)
563 self.test_context.nfvi_obj.destroy_vm = mock.Mock()
564 self.assertIsNone(self.test_context.undeploy())
566 def test_get_nfvi_obj_sriov(self, mock_sriov_time, mock_standlalone_time, mock_ovsdpdk_time):
567 with mock.patch('yardstick.benchmark.contexts.sriov'):
570 'file': self._get_file_abspath(self.NODES_SAMPLE)
572 self.test_context.init(attrs)
573 self.test_context.nfvi_obj.file_path = self._get_file_abspath(
575 self.test_context.nfvi_node = [{
577 'vf_macs': ['00:00:00:71:7d:25', '00:00:00:71:7d:26'],
578 'ip': '10.223.197.140',
581 'images': '/var/lib/libvirt/images/ubuntu1.img',
582 'phy_driver': 'i40e',
583 'password': 'intel123',
584 'phy_ports': ['0000:06:00.0', '0000:06:00.1']}]
585 self.test_context.get_nfvi_obj = mock.MagicMock()
586 self.test_context.init(attrs)
587 self.test_context.get_context_impl = mock.Mock(
588 return_value=sriov.Sriov)
589 self.assertIsNotNone(self.test_context.get_nfvi_obj())
591 def test_get_nfvi_obj_ovs(self, mock_sriov_time, mock_standlalone_time, mock_ovsdpdk_time):
592 with mock.patch('yardstick.benchmark.contexts.ovsdpdk'):
595 'file': self._get_file_abspath(self.NODES_SAMPLE_OVSDPDK)
597 self.test_context.init(attrs)
598 self.test_context.nfvi_obj.file_path = self._get_file_abspath(
600 self.test_context.nfvi_node = [{
602 'vports_mac': ['00:00:00:00:00:03', '00:00:00:00:00:04'],
603 'ip': '10.223.197.140',
606 'vpath': '/usr/local/',
607 'images': '/var/lib/libvirt/images/ubuntu1.img',
608 'phy_driver': 'i40e',
609 'password': 'password',
610 'phy_ports': ['0000:06:00.0', '0000:06:00.1']}]
611 self.test_context.get_nfvi_obj = mock.MagicMock()
612 self.test_context.init(attrs)
613 self.test_context.get_context_impl = mock.Mock(
614 return_value=ovsdpdk.Ovsdpdk)
615 self.assertIsNotNone(self.test_context.get_nfvi_obj())
617 def test_get_context_impl_correct_obj(self, mock_sriov_time, mock_standlalone_time,
619 with mock.patch.dict("sys.modules", MOCKS):
620 self.assertIsNotNone(self.test_context.get_context_impl('Sriov'))
622 def test_get_context_impl_wrong_obj(self, mock_sriov_time, mock_standlalone_time,
624 with mock.patch.dict("sys.modules", MOCKS):
627 lambda: self.test_context.get_context_impl('wrong_object'))
629 def _get_file_abspath(self, filename):
630 curr_path = os.path.dirname(os.path.abspath(__file__))
631 file_path = os.path.join(curr_path, filename)
634 def test__get_network(self, mock_sriov_time, mock_standlalone_time, mock_ovsdpdk_time):
638 'segmentation_id': 'seg54',
639 'network_type': 'type_a',
640 'physical_network': 'phys',
646 self.test_context.networks = {
652 self.assertIsNone(self.test_context._get_network(attr_name))
655 self.assertIsNone(self.test_context._get_network(attr_name))
657 attr_name = {'vld_id': 'vld777'}
658 self.assertIsNone(self.test_context._get_network(attr_name))
661 self.assertIsNone(self.test_context._get_network(attr_name))
663 attr_name = {'vld_id': 'vld999'}
667 "segmentation_id": None,
668 "network_type": None,
669 "physical_network": None,
671 result = self.test_context._get_network(attr_name)
672 self.assertDictEqual(result, expected)
676 result = self.test_context._get_network(attr_name)
677 self.assertDictEqual(result, expected)
679 if __name__ == '__main__':