diff --git a/src/common/tests/MockServicerImpl_Context.py b/src/common/tests/MockServicerImpl_Context.py
index 837445b5ac27f45ae224673912c7cafc3399c555..209621887f1534f60ff5343f6d3dc6301f540d46 100644
--- a/src/common/tests/MockServicerImpl_Context.py
+++ b/src/common/tests/MockServicerImpl_Context.py
@@ -26,6 +26,8 @@ from common.proto.context_pb2 import (
     Topology, TopologyDetails, TopologyEvent, TopologyId, TopologyIdList, TopologyList)
 from common.proto.context_pb2_grpc import ContextServiceServicer
 from common.tools.grpc.Tools import grpc_message_to_json, grpc_message_to_json_string
+from common.tools.object_factory.Device import json_device_id
+from common.tools.object_factory.Link import json_link_id
 from .InMemoryObjectDatabase import InMemoryObjectDatabase
 from .MockMessageBroker import (
     TOPIC_CONNECTION, TOPIC_CONTEXT, TOPIC_DEVICE, TOPIC_LINK, TOPIC_SERVICE, TOPIC_SLICE, TOPIC_TOPOLOGY,
@@ -146,6 +148,32 @@ class MockServicerImpl_Context(ContextServiceServicer):
         context_uuid = str(request.topology_id.context_id.context_uuid.uuid)
         container_name = 'topology[{:s}]'.format(context_uuid)
         topology_uuid = request.topology_id.topology_uuid.uuid
+
+        if self.obj_db.has_entry(container_name, topology_uuid):
+            # merge device_ids and link_ids from database and request, and update request
+            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)
+
+            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)
+
+            rw_request = Topology()
+            rw_request.CopyFrom(request)
+
+            del rw_request.device_ids[:]
+            for device_uuid in sorted(device_uuids):
+                rw_request.device_ids.append(DeviceId(**json_device_id(device_uuid)))
+
+            del rw_request.link_ids[:]
+            for link_uuid in sorted(link_uuids):
+                rw_request.link_ids.append(LinkId(**json_link_id(link_uuid)))
+
+            request = rw_request
+
         reply,_ = self._set(request, container_name, topology_uuid, 'topology_id', TOPIC_TOPOLOGY)
 
         context_ = self.obj_db.get_entry('context', context_uuid, context)