def test_crt_sea(self): vswitch_file = pvmhttp.PVMFile('fake_vswitch_feed.txt') vswitch_resp = pvmhttp.PVMResp(pvmfile=vswitch_file).get_response() vsw_wrap = net.VSwitch.wrap(vswitch_resp.feed.entries[0]) # Create mocked data sea = net.SEA.bld(self.adpt, pvid=1, vios_href='127.0.0.1', adpt_name='ent0', vswitch=vsw_wrap) self.assertIsNotNone(sea) self.assertEqual(1, sea.pvid) self.assertEqual('127.0.0.1', sea.vio_uri) self.assertEqual('ent0', sea.backing_device.dev_name) ta = sea.primary_adpt self.assertTrue(ta._required) self.assertEqual(1, ta.pvid) self.assertFalse(ta.has_tag_support) self.assertEqual(vsw_wrap.switch_id, ta.vswitch_id) self.assertEqual(1, ta.trunk_pri) self.assertEqual(vsw_wrap.related_href, ta.associated_vswitch_uri)
def test_contrl_channel(self): vios_file = pvmhttp.PVMFile('fake_vios_feed.txt') vios_resp = pvmhttp.PVMResp(pvmfile=vios_file).get_response() vios_wrap = vios.VIOS.wrap(vios_resp.feed.entries[0]) self.assertEqual('ent5', vios_wrap.seas[0].control_channel)
def setUp(self): super(TestWrapper, self).setUp() self.adptfx = None self.adpt = None adptfx_args = self.mock_adapter_fx_args or {} self.adptfx = self.useFixture(fx.AdapterFx(**adptfx_args)) self.adpt = self.adptfx.adpt # Load the file just once... if self.__class__._pvmfile is None: self.__class__._pvmfile = pvmhttp.PVMFile(self.file) # ...but reconstruct the PVMResp every time self.resp = pvmhttp.PVMResp(pvmfile=self.__class__._pvmfile, adapter=self.adpt).get_response() # Some wrappers don't support etag. Subclasses testing those wrappers # should not be using self.entries, so ignore. try: self.entries = self.wrapper_class_to_test.wrap(self.resp) except TypeError: pass if self.resp.feed: self.dwrap = self.wrapper_class_to_test.wrap( self.resp.feed.entries[0]) else: self.dwrap = self.wrapper_class_to_test.wrap(self.resp.entry)
def main(argv): new_response = pvmhttp.PVMResp() output_file = None file_to_refresh = None aindex = 0 while aindex < len(argv): if argv[aindex] == '-path': aindex += 1 new_response.path = argv[aindex] elif argv[aindex] == '-comment': aindex += 1 new_response.comment = argv[aindex] elif argv[aindex] == '-output': aindex += 1 output_file = argv[aindex] elif argv[aindex] == '-refresh': aindex += 1 file_to_refresh = argv[aindex] else: print("Unknown argument ", argv[aindex]) usage() aindex += 1 if file_to_refresh: rc = refresh_response(file_to_refresh) exit(rc) if new_response.path is None or output_file is None: usage() print("Connecting.") adap = adp.Adapter() print("Reading path: ", new_response.path) new_response.response = adap.read(new_response.path) print("Received ", new_response.response) orig_file_name = output_file dirname = os.path.dirname(output_file) if dirname is None or dirname == '': dirname = os.path.dirname(__file__) output_file = os.path.join(dirname, output_file) new_response.save(output_file) print("Response has been saved in ", output_file) print("Use the pvmhttp.load_pvm_resp('%s') method " "to load it in your testcase " % orig_file_name) print("You can have the %s file rebuilt by running: " "create_httpresp -refresh %s" % (orig_file_name, orig_file_name))
def test_crt_net_bridge(self): vswitch_file = pvmhttp.PVMFile('fake_vswitch_feed.txt') vswitch_resp = pvmhttp.PVMResp(pvmfile=vswitch_file).get_response() vsw_wrap = net.VSwitch.wrap(vswitch_resp.feed.entries[0]) # Create mocked data nb = net.NetBridge.bld(self.adpt, pvid=1, vios_to_backing_adpts=[('vio_href1', 'ent0'), ('vio_href2', 'ent2')], vswitch=vsw_wrap, load_balance=True) self.assertIsNotNone(nb) self.assertEqual(1, nb.pvid) self.assertEqual(2, len(nb.seas)) self.assertEqual(0, len(nb.load_grps)) self.assertTrue(nb.load_balance) # First SEA. Should be the primary sea1 = nb.seas[0] self.assertIsNotNone(sea1) self.assertEqual(1, sea1.pvid) self.assertEqual('vio_href1', sea1.vio_uri) self.assertEqual('ent0', sea1.backing_device.dev_name) self.assertTrue(sea1.is_primary) # Validate the trunk. ta = sea1.primary_adpt self.assertTrue(ta._required) self.assertEqual(1, ta.pvid) self.assertFalse(ta.has_tag_support) self.assertEqual(vsw_wrap.switch_id, ta.vswitch_id) self.assertEqual(1, ta.trunk_pri) self.assertEqual(vsw_wrap.related_href, ta.associated_vswitch_uri) # Check that the second SEA is similar but not primary. sea2 = nb.seas[1] self.assertIsNotNone(sea2) self.assertEqual(1, sea2.pvid) self.assertEqual('vio_href2', sea2.vio_uri) self.assertEqual('ent2', sea2.backing_device.dev_name) self.assertFalse(sea2.is_primary) self.assertIsNone(sea2.ha_mode) # Validate the second SEA trunk. ta = sea2.primary_adpt self.assertTrue(ta._required) self.assertEqual(1, ta.pvid) self.assertFalse(ta.has_tag_support) self.assertEqual(vsw_wrap.switch_id, ta.vswitch_id) self.assertEqual(2, ta.trunk_pri) self.assertEqual(vsw_wrap.related_href, ta.associated_vswitch_uri)
def test_sea_modification(self): """Verifies that the SEA can have a Trunk Adapter added to it.""" vswitch_file = pvmhttp.PVMFile('fake_vswitch_feed.txt') vswitch_resp = pvmhttp.PVMResp(pvmfile=vswitch_file).get_response() vsw_wrap = net.VSwitch.wrap(vswitch_resp.feed.entries[0]) # Create mocked data ta = net.TrunkAdapter.bld(self.adpt, pvid=1, vlan_ids=[1, 2, 3], vswitch=vsw_wrap) self.assertEqual(1, len(self.dwrap.seas[0].addl_adpts)) self.dwrap.seas[0].addl_adpts.append(ta) self.assertEqual(2, len(self.dwrap.seas[0].addl_adpts)) # Check that the total trunks is now three elements self.assertEqual(3, len(self.dwrap.seas[0]._get_trunks()))
def test_crt_trunk_adapter(self): vswitch_file = pvmhttp.PVMFile('fake_vswitch_feed.txt') vswitch_resp = pvmhttp.PVMResp(pvmfile=vswitch_file).get_response() vsw_wrap = net.VSwitch.wrap(vswitch_resp.feed.entries[0]) # Create mocked data ta = net.TrunkAdapter.bld(self.adpt, pvid=1, vlan_ids=[1, 2, 3], vswitch=vsw_wrap) self.assertIsNotNone(ta) self.assertTrue(ta._required) self.assertEqual(1, ta.pvid) self.assertEqual([1, 2, 3], ta.tagged_vlans) self.assertTrue(ta.has_tag_support) self.assertEqual(vsw_wrap.switch_id, ta.vswitch_id) self.assertEqual(1, ta.trunk_pri) self.assertEqual(vsw_wrap.related_href, ta.associated_vswitch_uri) # Try adding a VLAN to the trunk adapter. ta.tagged_vlans.append(4) self.assertEqual([1, 2, 3, 4], ta.tagged_vlans)