diff --git a/src/qkd_app/.gitlab-ci.yml b/src/qkd_app/.gitlab-ci.yml
index 85ee2b5e04bce3077086d0cc831043483a995aef..ec07719aa47cf13478440d40fd791a9b0824331d 100644
--- a/src/qkd_app/.gitlab-ci.yml
+++ b/src/qkd_app/.gitlab-ci.yml
@@ -58,6 +58,50 @@ unit_test app:
     - docker logs $IMAGE_NAME
     - docker exec -i $IMAGE_NAME bash -c "coverage run -m pytest --log-level=INFO --verbose $IMAGE_NAME/tests/test_unitary.py --junitxml=/opt/results/${IMAGE_NAME}_report.xml"
     - docker exec -i $IMAGE_NAME bash -c "coverage report --include='${IMAGE_NAME}/*' --show-missing"
+
+    # Mock QKD Nodes Deployment
+    - |
+      echo "Starting stage: deploy_mock_nodes"
+    - pip install flask  # Install Flask to ensure it is available
+    - |
+      for port in 11111 22222 33333; do
+        if lsof -i:$port >/dev/null 2>&1; then
+          echo "Freeing up port $port..."
+          fuser -k $port/tcp
+        fi
+      done
+      MOCK_NODES_DIR="$PWD/src/tests/tools/mock_qkd_nodes"
+      if [ -d "$MOCK_NODES_DIR" ]; then
+        cd "$MOCK_NODES_DIR" || exit
+        ./start.sh &
+        MOCK_NODES_PID=$!
+      else
+        echo "Error: Mock QKD nodes directory '$MOCK_NODES_DIR' not found."
+        exit 1
+      fi
+      echo "Waiting for mock nodes to be up..."
+      RETRY_COUNT=0
+      MAX_RETRIES=15
+      while [ $RETRY_COUNT -lt $MAX_RETRIES ]; do
+        if curl -s http://127.0.0.1:11111 > /dev/null && \
+           curl -s http://127.0.0.1:22222 > /dev/null && \
+           curl -s http://127.0.0.1:33333 > /dev/null; then
+            echo "Mock nodes are up!"
+            break
+        else
+            echo "Mock nodes not ready, retrying in 5 seconds..."
+            RETRY_COUNT=$((RETRY_COUNT + 1))
+            sleep 5
+        fi
+      done
+      if [ $RETRY_COUNT -ge $MAX_RETRIES ]; then
+        echo "Error: Mock nodes failed to start after multiple attempts."
+        exit 1
+      fi
+      
+  # Run additional QKD unit tests
+    - docker exec -i $IMAGE_NAME bash -c "pytest --log-level=INFO --verbose $IMAGE_NAME/tests/test_create_apps.py"
+    - docker exec -i $IMAGE_NAME bash -c "pytest --log-level=INFO --verbose $IMAGE_NAME/tests/test_Set_new_configuration.py"
   coverage: '/TOTAL\s+\d+\s+\d+\s+(\d+%)/'
   after_script:
     - docker rm -f $IMAGE_NAME
diff --git a/src/device/tests/qkd/unit/test_create_apps.py b/src/qkd_app/tests/test_create_apps.py
similarity index 98%
rename from src/device/tests/qkd/unit/test_create_apps.py
rename to src/qkd_app/tests/test_create_apps.py
index 4724e5c4abd04e28586d54ae6dbbbf0be3c7dc5c..4d05c0e935839502bc455c64d7403132daebc278 100644
--- a/src/device/tests/qkd/unit/test_create_apps.py
+++ b/src/qkd_app/tests/test_create_apps.py
@@ -14,7 +14,7 @@
 
 import requests
 
-QKD_ADDRESS = '10.0.2.10'
+QKD_ADDRESS = '127.0.0.1'
 QKD_URL     = 'http://{:s}/qkd_app/create_qkd_app'.format(QKD_ADDRESS)
 
 QKD_REQUEST_1 = {
diff --git a/src/device/tests/qkd/unit/test_set_new_configuration.py b/src/qkd_app/tests/test_set_new_configuration.py
similarity index 98%
rename from src/device/tests/qkd/unit/test_set_new_configuration.py
rename to src/qkd_app/tests/test_set_new_configuration.py
index 438e46d74f0ad1204f496aaf99e29e21f41c5805..a042a14df3588ecbd4d7e44b3ba8c2a9054bbf1d 100644
--- a/src/device/tests/qkd/unit/test_set_new_configuration.py
+++ b/src/qkd_app/tests/test_set_new_configuration.py
@@ -53,7 +53,7 @@ def create_qkd_app(driver, qkdn_id, backing_qkdl_id, client_app_id=None):
         print(f"Sending payload to {driver.address}: {app_payload}")
 
         # Send POST request to create the application
-        response = requests.post(f'http://{driver.address}/app/create_qkd_app', json=app_payload)
+        response = requests.post(f'http://{driver.address}/qkd_app/create_qkd_app', json=app_payload)
         
         # Check if the request was successful (HTTP 2xx)
         response.raise_for_status()
diff --git a/src/tests/tools/mock_qkd_nodes/wsgi.py b/src/tests/tools/mock_qkd_nodes/wsgi.py
index 2a3d48adb2fd32343d0f400b047245bf002a4c2c..28ba7826076ddd1b702965130948be8ec97a7129 100644
--- a/src/tests/tools/mock_qkd_nodes/wsgi.py
+++ b/src/tests/tools/mock_qkd_nodes/wsgi.py
@@ -183,6 +183,9 @@ def get_side_effect(url):
     module = header_splitted[0]
     assert(module == 'etsi-qkd-sdn-node')
 
+    if ip_port.startswith('127.0.0.1'):
+        ip_port = ip_port.replace('127.0.0.1', current_ip)
+
     tree = {'qkd_node': nodes[ip_port]['node'].copy()}
 
     if len(header_splitted) == 1 or not header_splitted[1]: