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()
示例#2
0
 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()
示例#3
0
 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()
示例#4
0
 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()))
示例#7
0
    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()
示例#9
0
 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()
示例#10
0
 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()
示例#11
0
    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()
示例#13
0
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()
示例#15
0
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()
示例#16
0
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()
示例#17
0
    {
        "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()