Commit b7b386c0 authored by Lluis Gifre Renom's avatar Lluis Gifre Renom
Browse files

Common - Tests - Mock Context component:

- Add support for managing optical links
parent d9816fd0
Loading
Loading
Loading
Loading
+30 −8
Original line number Diff line number Diff line
@@ -135,8 +135,12 @@ class MockServicerImpl_Context(ContextServiceServicer):
        reply.topology_id.CopyFrom(_reply.topology_id) # pylint: disable=no-member
        reply.name = _reply.name
        if context_uuid == DEFAULT_CONTEXT_NAME and topology_uuid == DEFAULT_TOPOLOGY_NAME:
            for device in self.obj_db.get_entries('device'): reply.devices.append(device)   # pylint: disable=no-member
            for link   in self.obj_db.get_entries('link'  ): reply.links  .append(link  )   # pylint: disable=no-member
            for device in self.obj_db.get_entries('device'):
                reply.devices.append(device)                # pylint: disable=no-member
            for link in self.obj_db.get_entries('link'):
                reply.links.append(link)                    # pylint: disable=no-member
            for optical_link in self.obj_db.get_entries('optical_link'):
                reply.optical_links.append(optical_link)    # pylint: disable=no-member
        else:
            # TODO: to be improved; Mock does not associate devices/links to topologies automatically
            for device_id in _reply.device_ids:
@@ -145,6 +149,9 @@ class MockServicerImpl_Context(ContextServiceServicer):
            for link_id in _reply.link_ids:
                link = self.obj_db.get_entry('link', link_id.link_uuid.uuid, context)
                reply.links.append(link)                    # pylint: disable=no-member
            for optical_link_id in _reply.optical_link_ids:
                optical_link = self.obj_db.get_entry('optical_link', optical_link_id.link_uuid.uuid, context)
                reply.optical_links.append(optical_link)    # pylint: disable=no-member
        LOGGER.debug('[GetTopologyDetails] reply={:s}'.format(grpc_message_to_json_string(reply)))
        return reply

@@ -159,12 +166,22 @@ class MockServicerImpl_Context(ContextServiceServicer):
            db_topology = self.obj_db.get_entry(container_name, topology_uuid, context)

            device_uuids = set()
            for device_id in request.device_ids: device_uuids.add(device_id.device_uuid.uuid)
            for device_id in db_topology.device_ids: device_uuids.add(device_id.device_uuid.uuid)
            for device_id in request.device_ids:
                device_uuids.add(device_id.device_uuid.uuid)
            for device_id in db_topology.device_ids:
                device_uuids.add(device_id.device_uuid.uuid)

            link_uuids = set()
            for link_id in request.link_ids: link_uuids.add(link_id.link_uuid.uuid)
            for link_id in db_topology.link_ids: link_uuids.add(link_id.link_uuid.uuid)
            for link_id in request.link_ids:
                link_uuids.add(link_id.link_uuid.uuid)
            for link_id in db_topology.link_ids:
                link_uuids.add(link_id.link_uuid.uuid)

            optical_link_uuids = set()
            for optical_link_id in request.optical_link_ids:
                optical_link_uuids.add(optical_link_id.link_uuid.uuid)
            for optical_link_id in db_topology.optical_link_ids:
                optical_link_uuids.add(optical_link_id.link_uuid.uuid)

            rw_request = Topology()
            rw_request.CopyFrom(request)
@@ -179,6 +196,11 @@ class MockServicerImpl_Context(ContextServiceServicer):
            for link_uuid in sorted(link_uuids):
                rw_request.link_ids.append(LinkId(**json_link_id(link_uuid)))

            # pylint: disable=no-member
            del rw_request.optical_link_ids[:]
            for optical_link_uuid in sorted(optical_link_uuids):
                rw_request.optical_link_ids.append(LinkId(**json_link_id(optical_link_uuid)))

            request = rw_request

        reply,_ = self._set(request, container_name, topology_uuid, 'topology_id', TOPIC_TOPOLOGY)