def test_children_concrete_classes(self): """ Test ConcreteTunnel _get_children_concrete_classes returns something list-like """ node_id = '103' node = Node(node_id) concreteOverlay = ConcreteOverlay(node) concreteTunnel = ConcreteTunnel(concreteOverlay) self.assertTrue( isinstance( concreteTunnel._get_children_concrete_classes(), list)) self.assertTrue( len(concreteTunnel._get_children_concrete_classes()) == 0)
def test_get_name_from_dn(self): """ Test that ConcreteTunnel._get_name_from_dn returns the name derived from the dn provided """ dn = 'topology/pod-1/node-201/sys/tunnel-[tunnel1]' self.assertEquals(ConcreteTunnel._get_name_from_dn(dn), '[tunnel1]')
def build_switch(self, switch_id=None): """ Will build the pivot table data structure for a switch :param switch_id: """ result = {} switch = self.switches[switch_id] switch.populate_children(deep=True, include_concrete=True) result['basic'] = switch.get_table([switch]) children_modules = switch.get_children(ACI.Linecard) if children_modules: tables = children_modules[0].get_table(children_modules) else: tables = [] result['linecard'] = tables children_modules = switch.get_children(ACI.Supervisorcard) if children_modules: tables = children_modules[0].get_table(children_modules) else: tables = [] result['supervisorcard'] = tables children_modules = switch.get_children(ACI.Fantray) if children_modules: tables = children_modules[0].get_table(children_modules) else: tables = [] result['fantray'] = tables children_modules = switch.get_children(ACI.Powersupply) if children_modules: tables = children_modules[0].get_table(children_modules) else: tables = [] result['powersupply'] = tables children_modules = switch.get_children(ACI.ConcreteArp) if children_modules: tables = children_modules[0].get_table(children_modules) else: tables = [] result['arp'] = tables result['endpoint'] = self.load_table(switch, ACI.ConcreteEp) result['context'] = self.load_table(switch, ACI.ConcreteContext) result['bridgedomain'] = self.load_table(switch, ACI.ConcreteBD) result['svi'] = self.load_table(switch, ACI.ConcreteSVI) result['accessrule'] = self.load_table(switch, ACI.ConcreteAccCtrlRule) result['accessrule'].extend(self.load_table(switch, ACI.ConcreteFilter)) result['portchannel'] = self.load_table(switch, ACI.ConcretePortChannel) result['portchannel'].extend(self.load_table(switch, ACI.ConcreteVpc)) overlays = switch.get_children(ACI.ConcreteOverlay) if overlays: result['overlay'] = ACI.ConcreteOverlay.get_table(overlays) tunnels = overlays[0].get_children(ConcreteTunnel) result['overlay'].extend(ConcreteTunnel.get_table(tunnels)) return result
def test_get_table(self): """ Test ConcreteTunnel create table function """ node_id = '103' node = Node(node_id) concreteOverlay = ConcreteOverlay(node) concreteTunnel1 = ConcreteTunnel(concreteOverlay) node_id = '103' node = Node(node_id) concreteOverlay = ConcreteOverlay(node) concreteTunnel2 = ConcreteTunnel(concreteOverlay) concreteTunnels = [concreteTunnel1, concreteTunnel2] self.assertTrue( isinstance( ConcreteTunnel.get_table(concreteTunnels)[0], Table))
def test_get_parent_class(self): """ Ensure class has the correct parent class """ self.assertEquals(ConcreteTunnel._get_parent_class(), ConcreteOverlay)