def test_activate_multiple(self): v = Vsan(self.switch, self.vsan_id[2]) v.create() zoneset = ZoneSet(self.switch, v, self.zoneset_name[2] ) zoneset.create() zone = Zone(self.switch, v, self.zone_name[2]) zone.create() zone.add_members(self.zone_members) zoneset.add_members([zone]) zoneset.activate(True) self.assertTrue(zoneset.is_active()) zoneset1 = ZoneSet(self.switch, v, self.zoneset_name[3] ) zoneset1.create() zoneset1.add_members([zone]) zoneset1.activate(True) self.assertTrue(zoneset1.is_active()) self.assertFalse(zoneset.is_active()) zone.delete() zoneset.delete() zoneset1.delete() v.delete()
def test_add_members_typeerror(self): v = Vsan(self.switch, self.vsan_id[3]) v.create() zone = Zone(self.switch, v, self.zone_name[5]) zone.create() zoneset = ZoneSet(self.switch, v, self.zoneset_name[4]) with self.assertRaises(AttributeError) as e: zoneset.add_members(zone.name) self.assertEqual("'str' object has no attribute 'name'",str(e.exception)) v.delete()
def test_add_members_nonexisting(self): v = Vsan(self.switch, self.vsan_id[0]) v.create() zonename = self.zone_name[0] zone = Zone(self.switch, v, zonename) zoneset = ZoneSet(self.switch, v, self.zoneset_name[0]) with self.assertRaises(ZoneNotPresent) as e: zoneset.add_members([zone]) self.assertEqual("ZoneNotPresent: The given zoneset member '"+str(zonename)+"' is not present in the switch. Please create the zone first.",str(e.exception)) v.delete()
def test_active_members_read(self): self.skipTest("not a correct test case Needs to be fixed") zoneset = ZoneSet(self.switch, "test_zoneset", self.id) zoneset.create() members = [{"fcid": "0x123456"}] self.z.add_members(members) zoneset.add_members([self.z]) zoneset.activate(True) if zoneset.is_active(): self.assertEqual(members, self.z.active_members)
def test_activedb_zone_count_read(self): self.z.create() zoneset = ZoneSet(self.switch, "test_zoneset", self.id) zoneset.create() self.z.add_members([{"fcid": "0x123456"}]) zoneset.add_members([self.z]) zoneset.activate(True) if zoneset.is_active(): self.assertIsNotNone(self.z.activedb_zone_count) else: self.assertIsNone(self.z.activedb_zone_count)
def test_active_zonesets_read(self): # self.skipTest("need to check") zone = Zone(self.switch, "test_zone", self.id) zone.create() zoneset = ZoneSet(self.switch, "test_zoneset", self.id) zoneset.create() zone.add_members([{"fcid": "0x123456"}]) zoneset.add_members([zone]) zoneset.activate(True) active_zonesets = self.switch.active_zonesets self.assertIn(self.v.id, list(active_zonesets.keys()))
def test_activate_multiple(self): self.zone.add_members(self.zone_members) self.zoneset.add_members([self.zone]) self.zoneset.activate(True) self.assertTrue(self.zoneset.is_active()) zoneset1 = ZoneSet(self.switch, "test_zoneset_2", self.id) zoneset1.create() zoneset1.add_members([self.zone]) zoneset1.activate(True) self.assertTrue(zoneset1.is_active()) self.assertFalse(self.zoneset.is_active())
def test_activate_zonehasnomembers(self): v = Vsan(self.switch, self.vsan_id[1]) v.create() zoneset = ZoneSet(self.switch, v, self.zoneset_name[1] ) zoneset.create() zone = Zone(self.switch, v, self.zone_name[1]) zone.create() zoneset.add_members([zone]) zoneset.activate(True) # not activated since zone has no members self.assertFalse(zoneset.is_active()) zone.delete() zoneset.delete() v.delete()
def test_add_members(self): v = Vsan(self.switch, self.vsan_id[1]) v.create() zone1 = Zone(self.switch, v, self.zone_name[1]) zone2 = Zone(self.switch, v, self.zone_name[2]) zone1.create() zone2.create() zoneset = ZoneSet(self.switch, v, self.zoneset_name[1]) members = [zone1, zone2] zoneset.add_members(members) self.assertEqual([zone.name for zone in members],list(zoneset.members.keys())) zone1.delete() zone2.delete() zoneset.delete() v.delete()
def test_remove_members(self): v = Vsan(self.switch, self.vsan_id[1]) v.create() zone1 = Zone(self.switch, v, self.zone_name[1]) zone2 = Zone(self.switch, v, self.zone_name[2]) zone1.create() zone2.create() zoneset = ZoneSet(self.switch, v, self.zoneset_name[1]) zoneset.add_members([zone1, zone2]) self.assertIsNotNone(zoneset.members) zoneset.remove_members([zone1, zone2]) self.assertIsNone(zoneset.members) zoneset.delete() zone1.delete() zone2.delete() v.delete()
def test_add_members_samezone(self): v = Vsan(self.switch, self.vsan_id[2]) v.create() zone1 = Zone(self.switch, v, self.zone_name[3]) zone2 = Zone(self.switch, v, self.zone_name[4]) zone1.create() zone2.create() zoneset1 = ZoneSet(self.switch, v, self.zoneset_name[2]) zoneset2 = ZoneSet(self.switch, v, self.zoneset_name[3]) members = [zone1, zone2] zoneset1.add_members(members) zoneset2.add_members(members) self.assertEqual([zone.name for zone in members],list(zoneset1.members.keys())) self.assertEqual([zone.name for zone in members],list(zoneset2.members.keys()))
class TestZoneSetAddMembers(unittest.TestCase): def __init__(self, testName, sw): super().__init__(testName) self.switch = sw def setUp(self) -> None: log.debug(self.switch.version) log.debug(self.switch.ipaddr) self.vsandb = self.switch.vsans while True: self.id = get_random_id() if self.id not in self.vsandb.keys(): break self.v = Vsan(switch=self.switch, id=self.id) self.v.create() self.zoneset = ZoneSet(self.switch, "test_zoneset", self.id) self.zoneset.create() # def test_add_members_nonexisting(self): # zone = Zone(self.switch, "test_zone", self.id) # # TODO: Was working in 8.4.2a not in 8.4.2b (CSCvv59174) # with self.assertRaises(CLIError) as e: # self.zoneset.add_members([zone]) # self.assertIn("Zone not present", str(e.exception)) def test_add_members(self): zone1 = Zone(self.switch, "test_zone1", self.id) zone1.create() zone2 = Zone(self.switch, "test_zone2", self.id) zone2.create() members = [zone1, zone2] self.zoneset.add_members(members) self.assertEqual( [zone.name for zone in members], list(self.zoneset.members.keys()) ) def test_add_members_typeerror(self): with self.assertRaises(AttributeError) as e: self.zoneset.add_members("test_zone") self.assertEqual("'str' object has no attribute 'name'", str(e.exception)) def tearDown(self) -> None: self.v.delete()
class TestZoneSetAttrActiveMembers(unittest.TestCase): def __init__(self, testName, sw): super().__init__(testName) self.switch = sw def setUp(self) -> None: log.debug(self.switch.version) log.debug(self.switch.ipaddr) self.vsandb = self.switch.vsans while True: self.id = get_random_id() if self.id not in self.vsandb.keys(): break self.v = Vsan(switch=self.switch, id=self.id) self.v.create() self.z = ZoneSet(self.switch, "test_zoneset", self.id) self.z.create() def test_active_members_read(self): self.skipTest("not a correct test case Needs to be fixed") zone = Zone(self.switch, "test_zone", self.id) zone.create() zone.add_members([{"fcid": "0x123456"}]) members = [zone] self.z.add_members(members) self.z.activate(True) if self.z.is_active(): self.assertEqual([m.name for m in members], list(self.z.active_members.keys())) def test_active_members_read_nonexisting(self): self.skipTest("not a correct test case Needs to be fixed") # with self.assertRaises(CLIError) as e: # self.z.active_members # self.assertIn("Zoneset not present", str(e.exception)) def test_active_members_write_error(self): with self.assertRaises(AttributeError) as e: self.z.active_members = "asdf" self.assertEqual("can't set attribute", str(e.exception)) def tearDown(self) -> None: self.v.delete()
class TestZoneSetRemoveMembers(unittest.TestCase): def __init__(self, testName, sw): super().__init__(testName) self.switch = sw def setUp(self) -> None: log.debug(self.switch.version) log.debug(self.switch.ipaddr) self.vsandb = self.switch.vsans while True: self.id = get_random_id() if self.id not in self.vsandb.keys(): break self.v = Vsan(switch=self.switch, id=self.id) self.v.create() self.zone = Zone(self.switch, "test_zone", self.id) self.zone.create() self.zoneset = ZoneSet(self.switch, "test_zoneset", self.id) self.zoneset.create() def test_remove_members_nonexisting(self): self.assertEqual({}, self.zoneset.members) with self.assertRaises(CLIError) as e: self.zoneset.remove_members([self.zone]) self.assertEqual( 'The command " zoneset name test_zoneset vsan ' + str(self.id) + ' ; no member test_zone " gave the error " Zone not present ".', str(e.exception), ) def test_remove_members(self): zone1 = self.zone zone2 = Zone(self.switch, "test_zone2", self.id) zone2.create() self.zoneset.add_members([zone1, zone2]) self.assertIsNotNone(self.zoneset.members) self.zoneset.remove_members([zone1, zone2]) self.assertEqual({}, self.zoneset.members) def tearDown(self) -> None: self.v.delete()
class TestZoneSetAttrMembers(unittest.TestCase): def __init__(self, testName, sw): super().__init__(testName) self.switch = sw def setUp(self) -> None: log.debug(self.switch.version) log.debug(self.switch.ipaddr) self.vsandb = self.switch.vsans while True: self.id = get_random_id() if self.id not in self.vsandb.keys(): break self.v = Vsan(switch=self.switch, id=self.id) self.v.create() self.zoneset = ZoneSet(self.switch, "test_zoneset", self.id) self.zoneset.create() def test_members_read(self): zone1 = Zone(self.switch, "test_zone1", self.id) zone1.create() zone2 = Zone(self.switch, "test_zone2", self.id) zone2.create() members = [zone1, zone2] self.zoneset.add_members(members) self.assertEqual( [zone.name for zone in members], list(self.zoneset.members.keys()) ) def test_members_read_nonexisting(self): self.assertEqual({}, self.zoneset.members) def test_members_write_error(self): with self.assertRaises(AttributeError) as e: self.zoneset.members = "asdf" self.assertEqual("can't set attribute", str(e.exception)) def tearDown(self) -> None: self.v.delete()
class TestZoneSetActivate(unittest.TestCase): def __init__(self, testName, sw): super().__init__(testName) self.switch = sw def setUp(self) -> None: log.debug(self.switch.version) log.debug(self.switch.ipaddr) self.vsandb = self.switch.vsans while True: self.id = get_random_id() if self.id not in self.vsandb.keys(): break self.v = Vsan(switch=self.switch, id=self.id) self.v.create() self.zone = Zone(self.switch, "test_zone", self.id) self.zone.create() self.zoneset = ZoneSet(self.switch, "test_zoneset", self.id) self.zoneset.create() self.zone_members = members_dict def test_activate(self): self.zone.add_members(self.zone_members) self.zoneset.add_members([self.zone]) self.zoneset.activate(True) self.assertTrue(self.zoneset.is_active()) self.zoneset.activate(False) self.assertFalse(self.zoneset.is_active()) def test_activate_zonehasnomembers(self): self.zoneset.add_members([self.zone]) self.zoneset.activate(True) # not activated since zone has no members self.assertFalse(self.zoneset.is_active()) def test_activate_multiple(self): self.zone.add_members(self.zone_members) self.zoneset.add_members([self.zone]) self.zoneset.activate(True) self.assertTrue(self.zoneset.is_active()) zoneset1 = ZoneSet(self.switch, "test_zoneset_2", self.id) zoneset1.create() zoneset1.add_members([self.zone]) zoneset1.activate(True) self.assertTrue(zoneset1.is_active()) self.assertFalse(self.zoneset.is_active()) def tearDown(self) -> None: self.v.delete()
{ "fcalias": "somefcalias" }, ] # Adding members to zone z.add_members(memlist) # Instantiating ZoneSet object zoneset = ZoneSet(sw, "zoneset1", v.id) # Creating zoneset zoneset.create() # Add members to zoneset zoneset.add_members([z]) # Activating zoneset zoneset.activate(True) # Display zoneset information print("Zoneset name: " + zoneset.name) print("Vsan id: " + str(zoneset.vsan.id)) print("Zoneset members: " + str(zoneset.members)) print("Activation: " + zonese.is_active()) # Removing members from zoneset zoneset.remove_members([z]) # Deleting zoneset zoneset.delete()