def test_remove_members(self): v = Vsan(self.switch,self.vsan_id[1]) v.create() z = Zone(self.switch, v, self.zone_name[1]) z.create() members = self.members_list z.add_members(members) self.assertIsNotNone(z.members) z.remove_members(members) self.assertIsNone(z.members) z.delete() v.delete()
def test_remove_members_dict(self): i = self.vsan_id[0] v = Vsan(self.switch, i) v.create() z = Zone(self.switch, v, self.zone_name[0]) z.create() self.switch.config('fcalias name somefcalias vsan '+str(i)) members = self.members_dict z.add_members(members) self.assertIsNotNone(z.members) z.remove_members(members) self.assertIsNone(z.members) z.delete() v.delete()
class TestZoneRemoveMembers(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 = Zone(self.switch, "test_zone", self.id) self.z.create() def test_remove_members_dict(self): fc_name = "" for k, v in list(self.switch.interfaces.items()): if type(v) is Fc: fc_name = k break while True: pc_id = get_random_id(1, 256) if "port-channel" + str(pc_id) not in self.switch.interfaces.keys(): break pc = PortChannel(self.switch, pc_id) d = DeviceAlias(self.switch) olddb = d.database if olddb is None: da_name = get_random_string() da_pwwn = get_random_pwwn() else: while True: da_name = get_random_string() da_pwwn = get_random_pwwn() if da_name not in olddb.keys() and da_pwwn not in olddb.values(): break d.create({da_name: da_pwwn}) members = [ {"pwwn": "50:08:01:60:08:9f:4d:00"}, {"interface": fc_name}, {"device-alias": da_name}, {"ip-address": "1.1.1.1"}, {"symbolic-nodename": "symbnodename"}, {"fwwn": "11:12:13:14:15:16:17:18"}, {"fcid": "0x123456"}, {"interface": pc.name}, {"fcalias": "somefcalias"}, ] self.switch.config("fcalias name somefcalias vsan " + str(self.id)) self.z.add_members(members) mem = self.z.members self.assertIsNotNone(self.z.members) self.z.remove_members(members) self.assertEqual([], self.z.members) d.delete(da_name) def test_remove_members_list(self): members = [] for v in list(self.switch.interfaces.values()): if type(v) is Fc: members.append(v) break while True: pc_id = get_random_id(1, 256) if "port-channel" + str(pc_id) not in self.switch.interfaces.keys(): break members.append(PortChannel(self.switch, pc_id)) members.append("10:99:88:90:76:88:99:ef") self.z.add_members(members) self.assertIsNotNone(self.z.members) self.z.remove_members(members) self.assertEqual([], self.z.members) self.z.delete() def test_remove_members_notpresent(self): members = ["10:99:88:90:76:88:99:ef"] self.assertEqual([], self.z.members) with self.assertRaises(CLIError) as e: self.z.remove_members(members) self.assertIn("Member not present", str(e.exception)) self.z.delete() def test_remove_members_zone_notpresent(self): self.z.delete() members = ["10:99:88:90:76:88:99:ef"] with self.assertRaises(CLIError) as e: self.z.remove_members(members) self.assertIn("Zone not present", str(e.exception)) def tearDown(self) -> None: self.v.delete()
{ "ip-address": "1.1.1.1" }, { "symbolic-nodename": "symbnodename" }, { "fwwn": "11:12:13:14:15:16:17:18" }, { "fcid": "0x123456" }, ] # Adding members to zone z.add_members(memlist) # Display zone name, vsan id, members print("Zone name: " + z.name) print("Vsan id: " + str(z.vsan.id)) print("Zone members: " + str(z.members)) # Removing members from zone z.remove_members(memlist) # Deleting zone z.delete() # Deleting vsan v.delete()