def test_service_with_topology_created(self) -> None: location = add_location( self.client, [("Room", "Room 201")], {"Contact": "*****@*****.**"}, 10, 20 ) router1 = add_equipment( self.client, "TPLinkRouter1", "Tp-Link T1600G", location, {"IP": "192.688.0.1"}, ) router2 = add_equipment( self.client, "TPLinkRouter2", "Tp-Link T1600G", location, {"IP": "192.688.0.2"}, ) router3 = add_equipment( self.client, "TPLinkRouter3", "Tp-Link T1600G", location, {"IP": "192.688.0.3"}, ) link1 = add_link(self.client, router1, "Port 1", router2, "Port 1") link2 = add_link(self.client, router2, "Port 2", router3, "Port 1") endpoint_port = get_port(self.client, router1, "Port 2") service = add_service( self.client, name="Room 201 Internet Access", external_id="S3232", service_type="Internet Access", customer=None, properties_dict={"Address Family": "v4"}, links=[link1, link2], ) add_service_endpoint( self.client, service, endpoint_port, ServiceEndpointRole.CONSUMER ) service = get_service(self.client, service.id) self.assertEqual([endpoint_port.id], [e.port.id for e in service.endpoints]) self.assertEqual([link1.id, link2.id], [s.id for s in service.links])
def test_service_with_topology_created(self) -> None: location = add_location( client=self.client, location_hirerchy=[("Room", "Room 201")], properties_dict={"Contact": "*****@*****.**"}, lat=10, long=20, ) router1 = add_equipment( client=self.client, name="TPLinkRouter1", equipment_type="Tp-Link T1600G", location=location, properties_dict={"IP": "192.688.0.1"}, ) router2 = add_equipment( client=self.client, name="TPLinkRouter2", equipment_type="Tp-Link T1600G", location=location, properties_dict={"IP": "192.688.0.2"}, ) router3 = add_equipment( client=self.client, name="TPLinkRouter3", equipment_type="Tp-Link T1600G", location=location, properties_dict={"IP": "192.688.0.3"}, ) link1 = add_link( client=self.client, equipment_a=router1, port_name_a="Port 1", equipment_b=router2, port_name_b="Port 1", ) link2 = add_link( client=self.client, equipment_a=router2, port_name_a="Port 2", equipment_b=router3, port_name_b="Port 1", ) endpoint_port = get_port(client=self.client, equipment=router1, port_name="Port 2") service = add_service( self.client, name="Room 201 Internet Access", external_id="S3232", service_type="Internet Access", customer=None, properties_dict={"Address Family": "v4"}, links=[link1, link2], ) # TODO add service_endpoint_type api add_service_endpoint(client=self.client, service=service, port=endpoint_port) service = get_service(client=self.client, id=service.id if service is not None else "") ports = [e.port for e in service.endpoints] self.assertEqual([endpoint_port.id], [p.id if p is not None else None for p in ports]) self.assertEqual([link1.id, link2.id], [s.id for s in service.links])
def test_service_endpoint_added(self) -> None: add_equipment_port_type( self.client, name="port type 1", properties=[ PropertyDefinition( property_name="port property", property_kind=PropertyKind.string, default_raw_value="port property value", is_fixed=False, ) ], link_properties=[ PropertyDefinition( property_name="link property", property_kind=PropertyKind.string, default_raw_value="link property value", is_fixed=False, ) ], ) add_location_type( client=self.client, name="Room", properties=[ PropertyDefinition( property_name="Contact", property_kind=PropertyKind.email, default_raw_value=None, is_fixed=False, ) ], ) location = add_location( client=self.client, location_hirerchy=[("Room", "Room 201")], properties_dict={"Contact": "*****@*****.**"}, lat=10, long=20, ) equipment_type = add_equipment_type( client=self.client, name="Tp-Link T1600G", category="Router", properties=[ PropertyDefinition( property_name="IP", property_kind=PropertyKind.string, default_raw_value=None, is_fixed=False, ) ], ports_dict={ "Port 1": "port type 1", "Port 2": "port type 1" }, position_list=[], ) router1 = add_equipment( client=self.client, name="TPLinkRouter1", equipment_type=equipment_type.name, location=location, properties_dict={"IP": "192.688.0.1"}, ) edit_service_type( client=self.client, service_type=self.service_type, new_endpoints=[ ServiceEndpointDefinition( id=None, name="EndpointDefinition", role="CPE", endpoint_definition_index=0, equipment_type_id=equipment_type.id, ) ], ) endpoint_definitions = SERVICE_TYPES[ self.service_type.name].endpoint_definitions endpoints = get_service_endpoints(client=self.client, service_id=self.service.id) self.assertFalse(endpoints) endpoint_definition_id = endpoint_definitions[0].id assert (endpoint_definition_id is not None ), f"service type {self.service_type.name} has no endpoints" add_service_endpoint( client=self.client, service=self.service, equipment_id=router1.id, endpoint_definition_id=endpoint_definition_id, ) endpoints = get_service_endpoints(client=self.client, service_id=self.service.id) self.assertEqual(len(endpoints), 1)
def test_service_with_topology_created(self) -> None: add_equipment_port_type( self.client, name="port type 1", properties=[ PropertyDefinition( property_name="port property", property_kind=PropertyKind.string, default_value="port property value", is_fixed=False, ) ], link_properties=[ PropertyDefinition( property_name="link property", property_kind=PropertyKind.string, default_value="link property value", is_fixed=False, ) ], ) add_location_type( client=self.client, name="Room", properties=[("Contact", "email", None, True)], ) location = add_location( client=self.client, location_hirerchy=[("Room", "Room 201")], properties_dict={"Contact": "*****@*****.**"}, lat=10, long=20, ) add_equipment_type( client=self.client, name="Tp-Link T1600G", category="Router", properties=[("IP", "string", None, True)], ports_dict={ "Port 1": "port type 1", "Port 2": "port type 1" }, position_list=[], ) router1 = add_equipment( client=self.client, name="TPLinkRouter1", equipment_type="Tp-Link T1600G", location=location, properties_dict={"IP": "192.688.0.1"}, ) router2 = add_equipment( client=self.client, name="TPLinkRouter2", equipment_type="Tp-Link T1600G", location=location, properties_dict={"IP": "192.688.0.2"}, ) router3 = add_equipment( client=self.client, name="TPLinkRouter3", equipment_type="Tp-Link T1600G", location=location, properties_dict={"IP": "192.688.0.3"}, ) link1 = add_link( client=self.client, equipment_a=router1, port_name_a="Port 1", equipment_b=router2, port_name_b="Port 1", ) link2 = add_link( client=self.client, equipment_a=router2, port_name_a="Port 2", equipment_b=router3, port_name_b="Port 1", ) endpoint_port = get_port(client=self.client, equipment=router1, port_name="Port 2") for link in [link1, link2]: add_service_link(client=self.client, service_id=self.service.id, link_id=link.id) # TODO add service_endpoint_defintion api add_service_endpoint( client=self.client, service_id=self.service.id, equipment_id="1", endpoint_definition_id="1", ) ports = [e.port for e in self.service.endpoints] self.assertEqual([endpoint_port.id], [p.id if p is not None else None for p in ports]) self.assertEqual([link1.id, link2.id], [s.id for s in self.service.links])