mirror of
https://github.com/GNS3/gns3-server.git
synced 2026-09-05 09:35:20 +03:00
tests(get_iface): add unittests
This commit is contained in:
parent
bab173ee52
commit
f21887dbab
@ -423,3 +423,86 @@ class TestLinkRoutes:
|
||||
assert mock.called
|
||||
assert response.status_code == status.HTTP_200_OK
|
||||
assert response.json() == FILTERS
|
||||
|
||||
async def test_get_udp_interface(self, app: FastAPI, client: AsyncClient, project: Project) -> None:
|
||||
"""
|
||||
Test getting UDP tunnel interface information from a link.
|
||||
"""
|
||||
link = Link(project)
|
||||
project._links = {link.id: link}
|
||||
|
||||
cloud_node = MagicMock()
|
||||
cloud_node.node_type = "cloud"
|
||||
cloud_node.id = "cloud-node-id"
|
||||
cloud_node.name = "Cloud1"
|
||||
|
||||
compute = MagicMock()
|
||||
response = MagicMock()
|
||||
response.json = {
|
||||
"ports_mapping": [
|
||||
{
|
||||
"port_number": 1,
|
||||
"type": "udp",
|
||||
"lport": 20000,
|
||||
"rhost": "127.0.0.1",
|
||||
"rport": 30000,
|
||||
"name": "UDP tunnel 1"
|
||||
}
|
||||
]
|
||||
}
|
||||
compute.get = AsyncioMagicMock(return_value=response)
|
||||
cloud_node.compute = compute
|
||||
|
||||
link._nodes = [{"node": cloud_node, "port_number": 1}]
|
||||
|
||||
response = await client.get(app.url_path_for("get_iface", project_id=project.id, link_id=link.id))
|
||||
|
||||
assert response.status_code == status.HTTP_200_OK
|
||||
result = response.json()
|
||||
|
||||
assert "cloud-node-id" in result
|
||||
|
||||
udp_info = result["cloud-node-id"]
|
||||
assert udp_info["lport"] == 20000
|
||||
assert udp_info["rhost"] == "127.0.0.1"
|
||||
assert udp_info["rport"] == 30000
|
||||
assert udp_info["type"] == "udp"
|
||||
async def test_get_ethernet_interface(self, app: FastAPI, client: AsyncClient, project: Project) -> None:
|
||||
"""
|
||||
Test getting ethernet interface information from a link.
|
||||
"""
|
||||
link = Link(project)
|
||||
project._links = {link.id: link}
|
||||
|
||||
cloud_node = MagicMock()
|
||||
cloud_node.node_type = "cloud"
|
||||
cloud_node.id = "cloud-node-id"
|
||||
cloud_node.name = "Cloud1"
|
||||
|
||||
compute = MagicMock()
|
||||
response = MagicMock()
|
||||
response.json = {
|
||||
"ports_mapping": [
|
||||
{
|
||||
"port_number": 1,
|
||||
"type": "ethernet",
|
||||
"interface": "eth0",
|
||||
"name": "Ethernet 1"
|
||||
}
|
||||
]
|
||||
}
|
||||
compute.get = AsyncioMagicMock(return_value=response)
|
||||
cloud_node.compute = compute
|
||||
|
||||
link._nodes = [{"node": cloud_node, "port_number": 1}]
|
||||
|
||||
response = await client.get(app.url_path_for("get_iface", project_id=project.id, link_id=link.id))
|
||||
|
||||
assert response.status_code == status.HTTP_200_OK
|
||||
result = response.json()
|
||||
|
||||
assert "cloud-node-id" in result
|
||||
|
||||
interface_info = result["cloud-node-id"]
|
||||
assert interface_info["interface"] == "eth0"
|
||||
assert interface_info["type"] == "ethernet"
|
||||
Loading…
x
Reference in New Issue
Block a user