diff --git a/test/services/test_netbox.py b/test/services/test_netbox.py
new file mode 100644
index 0000000000000000000000000000000000000000..eab8edace6b1c12f51e7921acda70a15bcd6a7dd
--- /dev/null
+++ b/test/services/test_netbox.py
@@ -0,0 +1,62 @@
+"""
+Unit tests for testing the netbox client
+"""
+from os import PathLike
+import responses
+
+from gso.services.netbox_client import NetBoxClient
+
+BASE_URL = "https://127.0.0.1:8000"
+
+
+def _create_device(id: int, name: str) -> dict:
+    device = {"id": id, "name": name}
+    return device
+
+
+def _create_interface(id: int, name: str) -> dict:
+    return {"id": id, "name": name}
+
+
+def _create_list_interfaces(num_iface: int) -> list:
+    list_iface = list()
+    for i in range(num_iface):
+        name = f"et-0/0/{i}"
+        id = i + 1
+        iface = _create_interface(id, name)
+        list_iface.append(iface)
+    return list_iface
+
+
+@responses.activate
+def test_create_device(data_config_filename: PathLike):
+    device_name = "mx1.lab.office.geant.net"
+    device_id = 10
+    # device_manufacturer = "Nokia"
+    device_site = "GEANT"
+    # device_role = "Router"
+
+    # Create a mock device
+    device = _create_device(device_id, device_name)
+
+    # Define response
+    endpoint = f"{BASE_URL}/api/dcim/devices/?limit=0"
+
+    responses.add(responses.POST, endpoint, json=device, status=200)
+
+    result = NetBoxClient().create_device(device_name, device_site)
+    assert result is not None
+
+
+@responses.activate
+def test_get_all_interfaces(data_config_filename: PathLike):
+    num_iface = 3
+    list_iface = _create_list_interfaces(num_iface)
+    endpoint = f"{BASE_URL}/api/dcim/devices/?limit=0"
+
+    responses.add(responses.GET, endpoint, json=list_iface, status=200)
+
+    result = NetBoxClient().get_all_devices()
+
+    assert result is not None
+    assert len(result) == num_iface