Skip to content
Snippets Groups Projects
Commit 124c74c9 authored by Hakan Calim's avatar Hakan Calim
Browse files

NAT-286: Adding test file for testing netbox client

parent 17fe8eb7
No related branches found
No related tags found
1 merge request!89Feature/nat 286 create unit tests for netbox client
Pipeline #84213 failed
"""
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
0% Loading or .
You are about to add 0 people to the discussion. Proceed with caution.
Finish editing this message first!
Please register or to comment