Exemplo n.º 1
0
    def test_node_type(self):
        """
        Test node type

        :return: None
        """
        node = Node('1', '2', 'Leaf1', role='leaf')
        self.assertEqual(node.get_type(), 'node')
Exemplo n.º 2
0
 def test_pod_invalid_parent(self):
     """
     Tests that the parent class of the pod
     :return:
     """
     session = self.login_to_apic()
     parent = Node('1', '101', 'Switch')
     self.assertRaises(TypeError, Pod.get, session, parent)
Exemplo n.º 3
0
    def test_invalid_session_populate_children(self):
        """
        Test node invalid populate_children

        :return: None
        """
        pod1 = Pod('1')
        node = Node('1', '2', 'Spine1', 'spine', pod1)
        self.assertRaises(TypeError, node.populate_children)
Exemplo n.º 4
0
    def test_node_role(self):
        """
        Test node role

        :return: None
        """
        node_name = 'Leaf1'
        node_pod = '1'
        node_node = '3'
        node_role = 'leaf'
        node = Node(node_pod, node_node, node_name, role=node_role)
        self.assertEqual(node.role, node_role)
        node_role = 'controller'
        node = Node(node_pod, node_node, node_name, role=node_role)
        self.assertEqual(node.role, node_role)
        node_role = 'bogus'
        self.assertRaises(ValueError, Node, node_pod, node_node, node_name,
                          node_role)
Exemplo n.º 5
0
    def test_get_endpoint_objects(self):
        pod_id = '1'
        node1_id = '2'
        node2_id = '3'
        slot1_id = '4'
        slot2_id = '5'
        port1_id = '6'
        port2_id = '7'
        link_id = '101'

        pod = Pod(pod_id)
        node1 = Node(pod_id, node1_id, 'Spine', 'spine', pod)
        node2 = Node(pod_id, node2_id, 'Leaf', 'leaf', pod)
        linecard1 = Linecard(slot1_id, node1)
        linecard2 = Linecard(slot2_id, node2)
        interface1 = Interface(interface_type='eth',
                               pod=pod_id,
                               node=node1_id,
                               module=slot1_id,
                               port=port1_id,
                               parent=linecard1)
        interface2 = Interface(interface_type='eth',
                               pod=pod_id,
                               node=node2_id,
                               module=slot2_id,
                               port=port2_id,
                               parent=linecard2)
        link1 = Link(pod)
        link1.pod = pod_id
        link1.link = link_id
        link1.node1 = node1_id
        link1.slot1 = slot1_id
        link1.port1 = port1_id
        link1.node2 = node2_id
        link1.slot2 = slot2_id
        link1.port2 = port2_id

        self.assertEqual(node1, link1.get_node1())
        self.assertEqual(node2, link1.get_node2())
        self.assertEqual(linecard1, link1.get_slot1())
        self.assertEqual(linecard2, link1.get_slot2())
        self.assertEqual(interface1, link1.get_port1())
        self.assertEqual(interface2, link1.get_port2())
Exemplo n.º 6
0
    def test_node_parent(self):
        """
        Test node parent

        :return: None
        """
        pod_id = '1'
        pod1 = Pod(pod_id)
        node = Node('1', '2', 'Spine1', role='leaf', parent=pod1)
        self.assertEqual(pod1, node.get_parent())
Exemplo n.º 7
0
    def test_node_id(self):
        """
        Test node id

        :return: None
        """
        node = Node('1', '2', 'Leaf1', role='leaf')
        self.assertEqual(node.get_pod(), '1')
        self.assertEqual(node.get_node(), '2')
        self.assertEqual(node.get_name(), 'Leaf1')
Exemplo n.º 8
0
    def test_node_get_fabric_state(self):
        """
        Test node get fabric state

        :return: None
        """
        node_name = 'Leaf1'
        node_pod = '1'
        node_node = '3'
        node_role = 'leaf'
        node1 = Node(node_pod, node_node, node_name, node_role)
Exemplo n.º 9
0
    def test_node_model(self):
        """
        Test node model

        :return: None
        """
        node = Node('1', '2', 'Leaf1', role='leaf')
        self.assertEqual(node.get_chassis_type(), None)
        node.model = 'N9K-C9396PX'
        self.assertEqual(node.model, 'N9K-C9396PX')
        self.assertEqual(node.get_chassis_type(), 'n9k')
Exemplo n.º 10
0
    def test_node_equal(self):
        """
        Test node equal

        :return: None
        """
        node_name = 'Leaf1'
        node_pod = '1'
        node_node = '3'
        node_role = 'leaf'
        node1 = Node(node_pod, node_node, node_name, node_role)

        node_name = 'Leaf2'
        node2 = Node(node_pod, node_node, node_name, node_role)
        self.assertNotEqual(node1, node2)
        node_name = 'Leaf1'
        node_pod = '2'
        node2 = Node(node_pod, node_node, node_name, node_role)
        self.assertNotEqual(node1, node2)
        node_pod = '1'
        node_node = '4'
        node2 = Node(node_pod, node_node, node_name, node_role)
        self.assertNotEqual(node1, node2)
        node_node = '3'
        node_role = 'controller'
        node2 = Node(node_pod, node_node, node_name, node_role)
        self.assertNotEqual(node1, node2)
        node_role = 'leaf'
        node2 = Node(node_pod, node_node, node_name, node_role)
        self.assertEqual(node1, node2)

        node2 = Pod(node_pod)
        self.assertNotEqual(node1, node2)
Exemplo n.º 11
0
    def test_eNode_parent(self):
        pod = Pod('1')
        node = ExternalSwitch(parent=pod)
        self.assertEqual(node.role, 'external_switch')
        self.assertEqual(node._parent, pod)
        children = pod.get_children()
        self.assertEqual(len(children), 1)
        for child in children:
            self.assertEqual(child, node)

        pod = Node('1', '101', 'Spine2', 'leaf')

        self.assertRaises(TypeError, ExternalSwitch, pod)
Exemplo n.º 12
0
    def test_find(self):
        pod_id = '1'
        node1_id = '2'
        node2_id = '3'
        slot1_id = '4'
        slot2_id = '5'
        port2_id = '7'

        pod = Pod(pod_id)
        node1 = Node(pod_id, node1_id, 'Spine', 'spine', pod)
        node2 = Node(pod_id, node2_id, 'Leaf', 'leaf', pod)
        linecard1 = Linecard(slot1_id, node1)
        linecard2 = Linecard(slot2_id, node2)
        linecard1.serial = 'SerialNumber1'
        linecard2.serial = 'SerialNumber2'
        interface2 = Interface(interface_type='eth',
                               pod=pod_id,
                               node=node2_id,
                               module=slot2_id,
                               port=port2_id,
                               parent=linecard2)
        so = Search()
        so.node = node2_id
        results = pod.find(so)
        self.assertIn(node2, results)
        self.assertIn(linecard2, results)
        self.assertIn(interface2, results)
        self.assertEqual(len(results), 3)
        for result in results:
            self.assertEqual(result.node, node2_id)

        so = Search()
        so.serial = 'SerialNumber1'
        results = pod.find(so)
        self.assertIn(linecard1, results)
        self.assertEqual(len(results), 1)
        self.assertEqual(results[0].serial, 'SerialNumber1')
Exemplo n.º 13
0
    def test_pod_equal(self):
        """
        Test pods are equal

        :return: None
        """
        pod_id = '1'
        pod1 = Pod(pod_id)

        # check different IDs
        pod_id = '2'
        pod2 = Pod(pod_id)
        self.assertNotEqual(pod1, pod2)

        # check same
        pod_id = '1'
        pod2 = Pod(pod_id)
        self.assertEqual(pod1, pod2)

        # check different types
        pod2 = Node(pod_id, '2', 'Leaf1', role='leaf')
        self.assertNotEqual(pod1, pod2)
Exemplo n.º 14
0
    def check_mod_parent(self, mod_class):
        """

        :param self:
        :param mod_class:
        """
        mod_pod = '1'
        mod_node = '5'
        mod_slot = '2'
        node = Node(mod_pod, mod_node, 'Spine2', 'spine')
        mod1 = mod_class(mod_pod, mod_node, mod_slot, node)
        self.assertEqual(mod1.get_parent(), node)
        self.assertEqual(node.get_children(), [mod1])
        mod2 = mod_class(mod_pod, mod_node, mod_slot, node)
        self.assertEqual(node.get_children(), [mod2])
        mod_slot = '3'
        mod3 = mod_class(mod_pod, mod_node, mod_slot, node)
        self.assertEqual(node.get_children(), [mod2, mod3])
        self.assertEqual(node.get_children(mod_class), [mod2, mod3])

        # test illegal parent type
        self.assertRaises(TypeError, mod_class, mod_pod, mod_node, mod_slot,
                          mod1)
Exemplo n.º 15
0
    def check_module(self, mod_class, mod_name_prefix, mod_type):
        """

        :param self:
        :param mod_class:
        :param mod_name_prefix:
        :param mod_type:
        """
        mod_pod = '1'
        mod_node = '5'
        mod_slot = '2'
        node = Node(mod_pod, mod_node, 'Spine2', 'leaf')
        mod = mod_class(mod_pod, mod_node, mod_slot)
        name = mod_name_prefix + '-' + '/'.join([mod_pod, mod_node, mod_slot])

        self.assertNotEqual(mod, node)
        self.assertEqual(mod.get_pod(), mod_pod)
        self.assertEqual(mod.get_node(), mod_node)
        self.assertEqual(mod.get_slot(), mod_slot)
        self.assertEqual(mod.get_parent(), None)
        self.assertEqual(mod.get_type(), mod_type)
        self.assertEqual(mod.get_name(), name)
        self.assertEqual(str(mod), name)
        self.assertEqual(mod._session, None)