class TestZoneAttrFulldbZoneCount(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) def test_fulldb_zone_count_read(self): self.z.create() log.debug("Full DB Zone Count : " + str(self.z.fulldb_zone_count)) self.assertEqual(1, self.z.fulldb_zone_count) def test_fulldb_zone_count_read_nonexisting(self): log.debug("Full DB Zone Count(nonexisting) : " + str(self.z.fulldb_zone_count)) self.assertEqual(0, self.z.fulldb_zone_count) def test_fulldb_zone_count_write_error(self): with self.assertRaises(AttributeError) as e: self.z.fulldb_zone_count = "asdf" self.assertEqual("can't set attribute", str(e.exception)) def tearDown(self) -> None: self.v.delete()
def test_effectivedb_size_percentage_read_nonexisting(self): v = Vsan(self.switch, self.vsan_id[1]) v.create() z = Zone(self.switch, v, self.zone_name[1]) print("Effective DB Size Percentage(nonexisting) : " + str(z.effectivedb_size_percentage)) v.delete()
def test_id_write_error(self): v = Vsan(switch=self.switch, id=self.vsan_id) v.create() with self.assertRaises(AttributeError) as e: v.id = 4 self.assertEqual("can't set attribute", str(e.exception)) v.delete()
class TestZoneAttrEffectivedbSize(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) def test_effectivedb_size_read(self): self.z.create() log.debug("Effective DB Size : " + str(self.z.effectivedb_size)) self.assertIsNotNone(self.z.effectivedb_size) def test_effectivedb_size_read_nonexisting(self): log.debug("Effective DB Size(nonexisting) : " + str(self.z.effectivedb_size)) self.assertIsNotNone(self.z.effectivedb_size) def test_effectivedb_size_write_error(self): with self.assertRaises(AttributeError) as e: self.z.effectivedb_size = "asdf" self.assertEqual("can't set attribute", str(e.exception)) def tearDown(self) -> None: self.v.delete()
def test_effectivedb_size_read(self): v = Vsan(self.switch, self.vsan_id[0]) v.create() z = Zone(self.switch, v, self.zone_name[0]) z.create() print("Effective DB Size : " + str(z.effectivedb_size)) v.delete()
def test_status_read(self): v = Vsan(self.switch, self.vsan_id[0]) v.create() z = Zone(self.switch, v, self.zone_name[0]) z.create() print("Status : " + str(z.status)) v.delete()
def test_activedb_zoneset_name_read(self): v = Vsan(self.switch, self.vsan_id[0]) v.create() z = Zone(self.switch, v, self.zone_name[0]) z.create() print("Active DB Zoneset Name : " + str(z.activedb_zoneset_name)) v.delete()
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()
class TestVsanAttrState(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) def test_state_read(self): self.v.create() self.assertIn(self.v.state, ["active", "suspended"]) self.v.delete() def test_state_read_nonexistingvsan(self): self.assertIsNone(self.v.state) def test_state_write_error(self): with self.assertRaises(AttributeError) as e: self.v.state = "active" self.assertEqual("can't set attribute", str(e.exception)) def tearDown(self) -> None: if self.v.id is not None: self.v.delete() self.assertEqual(self.vsandb.keys(), self.switch.vsans.keys())
def test_suspend_read(self): v = Vsan(switch=self.switch, id=self.vsan_id[1]) v.create() with self.assertRaises(AttributeError) as e: print(v.suspend) self.assertEqual("unreadable attribute", str(e.exception)) v.delete()
def test_maxdb_size_read(self): v = Vsan(self.switch, self.vsan_id[0]) v.create() z = Zone(self.switch, v, self.zone_name[0]) z.create() print("Max DB Size : " + str(z.maxdb_size)) v.delete()
def test_locked_read(self): v = Vsan(self.switch, self.vsan_id[0]) v.create() z = Zone(self.switch, v, self.zone_name[0]) z.create() self.assertIn(z.locked, [True, False]) v.delete()
def test_mode_read(self): v = Vsan(self.switch, self.vsan_id[0]) v.create() z = Zone(self.switch, v, self.zone_name[0]) z.create() self.assertIn(z.mode, [BASIC, ENHANCED]) v.delete()
class TestSwitchAttrActiveZonesets(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 = random.randint(2, 400) if self.id not in self.vsandb.keys(): break self.v = Vsan(switch=self.switch, id=self.id) self.v.create() 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_active_zonesets_write_error(self): with self.assertRaises(AttributeError) as e: self.switch.active_zonesets = "asdf" self.assertEqual("can't set attribute", str(e.exception)) def tearDown(self) -> None: self.v.delete()
def test_fulldb_zoneset_count_read(self): v = Vsan(self.switch, self.vsan_id[0]) v.create() z = Zone(self.switch, v, self.zone_name[0]) z.create() print("Full DB Zoneset Count : " + str(z.fulldb_zoneset_count)) v.delete()
class TestZoneSetDelete(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) def test_delete(self): self.zoneset.create() self.assertEqual("test_zoneset", self.zoneset.name) self.zoneset.delete() with self.assertRaises(CLIError) as e: self.zoneset.name self.assertIn("Zoneset not present", str(e.exception)) def test_delete_nonexisting(self): with self.assertRaises(CLIError) as e: self.zoneset.delete() self.assertIn("Zoneset not present", str(e.exception)) def tearDown(self) -> None: self.v.delete()
def test_name_write_max32(self): v = Vsan(switch=self.switch, id=self.vsan_id[3]) v.create() name = self.max32_name v.name = name self.assertEqual(name, v.name) v.delete()
def test_fulldb_zoneset_count_read_nonexisting(self): v = Vsan(self.switch, self.vsan_id[1]) v.create() z = Zone(self.switch, v, self.zone_name[1]) print("Full DB Zoneset Count(nonexisting) : " + str(z.fulldb_zoneset_count)) v.delete()
def test_activedb_zoneset_name_read_nonexisting(self): v = Vsan(self.switch, self.vsan_id[1]) v.create() z = Zone(self.switch, v, self.zone_name[1]) print("Active DB Zoneset Name(nonexisting) : " + str(z.activedb_zoneset_name)) v.delete()
class TestZoneAttrName(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) def test_name_read(self): self.z.create() self.assertEqual("test_zone", self.z.name) def test_name_read_nonexisting(self): # TODO: Was working in 8.4.2a not in 8.4.2b (CSCvv59174) # with self.assertRaises(CLIError) as c: # self.z.name # self.assertIn("Zone not present", str(c.exception)) self.assertIsNone(self.z.name) def test_name_write_error(self): with self.assertRaises(AttributeError) as e: self.z.name = "asdf" self.assertEqual("can't set attribute", str(e.exception)) def tearDown(self) -> None: self.v.delete()
def test_default_zone_read(self): v = Vsan(self.switch, self.vsan_id[0]) v.create() z = Zone(self.switch, v, self.zone_name[0]) z.create() self.assertIn(z.default_zone, [PERMIT, DENY]) v.delete()
def test_smart_zone_read(self): v = Vsan(self.switch, self.vsan_id[0]) v.create() z = Zone(self.switch, v, self.zone_name[0]) z.create() self.assertIn(z.smart_zone, ['enabled', 'disabled']) v.delete()
class TestZoneAttrVsan(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) def test_vsan_read(self): self.assertEqual(self.id, self.z.vsan.id) def test_vsan_write_error(self): with self.assertRaises(AttributeError) as e: self.z.vsan = 5 self.assertEqual("can't set attribute", str(e.exception)) def tearDown(self) -> None: self.v.delete()
def test_name_write_error(self): v = Vsan(self.switch, self.vsan_id[2]) v.create() z = ZoneSet(self.switch, v, self.zoneset_name[2]) with self.assertRaises(AttributeError) as e: z.name = "asdf" self.assertEqual('can\'t set attribute', str(e.exception)) v.delete()
def test_delete(self): v = Vsan(self.switch, self.vsan_id[0]) v.create() z = ZoneSet(self.switch, v, self.zoneset_name[0]) z.create() z.delete() self.assertIsNone(z.name) v.delete()
def test_delete(self): i = self.delete_id v = Vsan(switch=self.switch, id=i) if v.id is None: v.create() self.assertEqual(i, v.id) v.delete() self.assertIsNone(v.id)
def test_suspend_write(self): v = Vsan(switch=self.switch, id=self.vsan_id[0]) v.create() v.suspend = True self.assertEqual("suspended", v.state) v.suspend = False self.assertEqual("active", v.state) v.delete()
def test_suspend_write_invalid(self): v = Vsan(switch=self.switch, id=self.vsan_id[3]) v.create() with self.assertRaises(TypeError) as e: v.suspend = "asdf" self.assertEqual("Only bool value(true/false) supported.", str(e.exception)) v.delete()
def test_vsan_read(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.assertEqual(i, z.vsan.id) v.delete()
def test_create_boundary(self): for i in self.boundary_id: v = Vsan(switch=self.switch, id=i) with self.assertRaises(CLIError) as e: v.create() self.assertEqual( 'The command " vsan database ; vsan ' + str(i) + ' " gave the error " % Invalid command ".', str(e.exception))