def test_create_name_max(self):
     v = Vsan(self.switch, self.vsan_id[5])
     v.create()
     name = self.zone_name_max
     z = Zone(self.switch, v, name)
     z.create()
     self.assertEqual(name, z.name)
     z.delete()
     v.delete()
 def test_create(self):
     v = Vsan(self.switch, self.vsan_id[1])
     v.create()
     zonename = self.zone_name[0]
     z = Zone(self.switch, v, zonename)
     z.create()
     self.assertEqual(zonename, z.name)
     z.delete()
     v.delete()
Esempio n. 3
0
 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_locked_write_error(self):
     v = Vsan(self.switch, self.vsan_id[2])
     v.create()
     z = Zone(self.switch, v, self.zone_name[2])
     z.create()
     with self.assertRaises(AttributeError) as e:
         z.locked = "asdf"
     self.assertEqual('can\'t set attribute', str(e.exception))
     v.delete()
Esempio n. 5
0
 def test_create_name_beyondmax(self):
     name = "zo123456789123456789123456789123456789123456789123456789123456789"
     z = Zone(self.switch, name, self.id)
     with self.assertRaises(CLIError) as e:
         z.create()
     self.assertEqual(
         'The command " zone name ' + str(name) + " vsan " + str(self.id) +
         ' " gave the error " % String exceeded max length of (64) ".',
         str(e.exception),
     )
Esempio n. 6
0
 def test_create_name_invalid(self):
     name = "zone1*!"
     z = Zone(self.switch, name, self.id)
     with self.assertRaises(CLIError) as e:
         z.create()
     self.assertEqual(
         'The command " zone name ' + str(name) + " vsan " + str(self.id) +
         ' " gave the error " Illegal character present in the name ".',
         str(e.exception),
     )
Esempio n. 7
0
 def test_mode_write_invalid(self):
     v = Vsan(self.switch,self.vsan_id[3])
     v.create()
     z = Zone(self.switch, v, self.zone_name[3])
     z.create()
     mode = 'asdf'
     with self.assertRaises(InvalidZoneMode) as e:
         z.mode = mode
     self.assertEqual('InvalidZoneMode: Invalid zone mode '+str(mode)+' . Valid values are: basic,enhanced',str(e.exception))
     v.delete()
Esempio n. 8
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()
Esempio n. 9
0
 def test_create_name_invalidfirstchar(self):
     name = "1zone"
     z = Zone(self.switch, name, self.id)
     with self.assertRaises(CLIError) as e:
         z.create()
     self.assertEqual(
         'The command " zone name ' + str(name) + " vsan " + str(self.id) +
         ' " gave the error " Illegal first character (name must start with a letter) ".',
         str(e.exception),
     )
 def test_add_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.assertEqual(len(members),len(z.members))
     print("Zone Members : "+str(z.members))
     z.delete()
     v.delete()
 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()))
Esempio n. 12
0
 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_smart_zone_write(self):
     v = Vsan(self.switch, self.vsan_id[2])
     v.create()
     z = Zone(self.switch, v, self.zone_name[2])
     z.create()
     old = z.smart_zone
     z.smart_zone = True
     self.assertEqual('enabled', z.smart_zone)
     z.smart_zone = False
     self.assertEqual('disabled', z.smart_zone)
     z.smart_zone = old
     v.delete()
Esempio n. 14
0
 def test_mode_write(self):
     v = Vsan(self.switch,self.vsan_id[2])
     v.create()
     z = Zone(self.switch, v, self.zone_name[2])
     z.create()
     old = z.mode
     z.mode = BASIC
     self.assertEqual(BASIC,z.mode)
     z.mode = ENHANCED
     self.assertEqual(ENHANCED,z.mode)
     z.mode = old
     v.delete()
 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()
Esempio n. 16
0
 def test_default_zone_write(self):
     v = Vsan(self.switch, self.vsan_id[2])
     v.create()
     z = Zone(self.switch, v, self.zone_name[2])
     z.create()
     old = z.default_zone
     z.default_zone = DENY
     self.assertEqual(DENY, z.default_zone)
     z.default_zone = PERMIT
     self.assertEqual(PERMIT, z.default_zone)
     z.default_zone = old
     v.delete()
Esempio n. 17
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()
 def test_create_name_invalidfirstchar(self):
     i = self.vsan_id[3]
     v = Vsan(self.switch, i)
     v.create()
     name = self.zone_name_invalidfirstchar
     z = Zone(self.switch, v, name)
     with self.assertRaises(CLIError) as e:
         z.create()
     self.assertEqual(
         "The command \" zone name " + str(name) + " vsan " + str(i) +
         " \" gave the error \" Illegal first character (name must start with a letter) \".",
         str(e.exception))
     v.delete()
 def test_add_members_error_ip(self):
     i = self.vsan_id[3]
     v = Vsan(self.switch,i)
     v.create()
     name = self.zone_name[3]
     z = Zone(self.switch, v, name)
     z.create()
     members = [{'ip-address': '1.1.1.1.1'}]
     with self.assertRaises(CLIError) as e:
         z.add_members(members)
     self.assertEqual('The command " zone name '+str(name)+' vsan '+str(i)+' ; member ip-address 1.1.1.1.1 " gave the error " % Invalid ip address ".',str(e.exception))
     z.delete()
     v.delete()
 def test_add_members_error_fcalias(self):
     i = self.vsan_id[6]
     v = Vsan(self.switch,i)
     v.create()
     name = self.zone_name[6]
     z = Zone(self.switch, v, name)
     z.create()
     members = [{'fcalias': 'somefcalias'}]
     with self.assertRaises(CLIError) as e:
         z.add_members(members)
     self.assertEqual('The command " zone name '+str(name)+' vsan '+str(i)+' ; member fcalias somefcalias " gave the error " Alias not present ".',str(e.exception))
     z.delete()
     v.delete()
 def test_add_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()
     members = self.members_dict
     self.switch.config('fcalias name somefcalias vsan '+str(i))
     z.add_members(members)
     self.assertEqual(len(members),len(z.members))
     print("Zone Members : "+str(z.members))
     z.delete()
     v.delete()
 def test_add_members_error_fwwn(self):
     i = self.vsan_id[5]
     v = Vsan(self.switch,i)
     v.create()
     name = self.zone_name[5]
     z = Zone(self.switch, v, name)
     z.create()
     members = [{'fwwn': '11:12:13:14:15:16:17:18:19'}]
     with self.assertRaises(CLIError) as e:
         z.add_members(members)
     self.assertEqual('The command " zone name '+str(name)+' vsan '+str(i)+' ; member fwwn 11:12:13:14:15:16:17:18:19 " gave the error " % Invalid command ".',str(e.exception))
     z.delete()
     v.delete()
 def test_add_members_error_fcid(self):
     i = self.vsan_id[4]
     v = Vsan(self.switch,i)
     v.create()
     name = self.zone_name[4]
     z = Zone(self.switch, v, name)
     z.create()
     members = [{'fcid': '0x123'}]
     with self.assertRaises(CLIError) as e:
         z.add_members(members)
     self.assertEqual('The command " zone name '+str(name)+' vsan '+str(i)+' ; member fcid 0x123 " gave the error " Invalid FCID ".',str(e.exception))
     z.delete()
     v.delete()
 def test_create_name_invalid(self):
     i = self.vsan_id[2]
     v = Vsan(self.switch, i)
     v.create()
     name = self.zone_name_invalid
     z = Zone(self.switch, v, name)
     with self.assertRaises(CLIError) as e:
         z.create()
     self.assertEqual(
         "The command \" zone name " + str(name) + " vsan " + str(i) +
         " \" gave the error \" Illegal character present in the name \".",
         str(e.exception))
     v.delete()
 def test_add_members_error_pwwn(self):
     i = self.vsan_id[2]
     v = Vsan(self.switch,i)
     v.create()
     name = self.zone_name[2]
     z = Zone(self.switch, v, name)
     z.create()
     members = [{'pwwn': '50:08:01:60:08:9f:4d:00:01'}]
     with self.assertRaises(CLIError) as e:
         z.add_members(members)
     self.assertEqual('The command " zone name '+str(name)+' vsan '+str(i)+' ; member pwwn 50:08:01:60:08:9f:4d:00:01 " gave the error " % Invalid command ".',str(e.exception))
     z.delete()
     v.delete()
Esempio n. 26
0
 def test_default_zone_write_invalid(self):
     v = Vsan(self.switch, self.vsan_id[3])
     v.create()
     z = Zone(self.switch, v, self.zone_name[3])
     z.create()
     default_zone = 'asdf'
     with self.assertRaises(CLIError) as e:
         z.default_zone = default_zone
     self.assertEqual(
         'The command " No cmd sent " gave the error " Invalid default-zone value '
         + str(default_zone) + ' . Valid values are: permit,deny ".',
         str(e.exception))
     v.delete()
Esempio n. 27
0
 def test_remove_members_nonexisting(self):
     i = self.vsan_id[0]
     v = Vsan(self.switch, i)
     v.create()
     zone = Zone(self.switch, v, self.zone_name[0])
     zone.create()
     zoneset = ZoneSet(self.switch, v, self.zoneset_name[0])
     self.assertIsNone(zoneset.members)
     with self.assertRaises(CLIError) as e:
         zoneset.remove_members([zone])
     self.assertEqual('The command " zoneset name '+str(zoneset.name)+' vsan '+str(i)+' ; no member '+str(zone.name)+' " gave the error " Zone not present ".',str(e.exception))
     zone.delete()
     zoneset.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()
 def test_create_name_beyondmax(self):
     i = self.vsan_id[4]
     v = Vsan(self.switch, i)
     v.create()
     name = self.zone_name_beyondmax
     z = Zone(self.switch, v, name)
     with self.assertRaises(CLIError) as e:
         z.create()
     self.maxDiff = 1000
     self.assertEqual(
         "The command \" zone name " + str(name) + " vsan " + str(i) +
         " \" gave the error \" % String exceeded max length of (64) \".",
         str(e.exception))
     v.delete()
    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()