Fix updating packet filters

This commit is contained in:
grossmj committed 2026-02-21 21:42:22 +08:00
1 parent 60abbade27
commit 5e3ca29c58
17 files changed
+72 -37

No files matched your search

+18 -11
View File
@@ -97,19 +97,25 @@ class TestCloudNodesRoutes:
vm: dict
) -> None:
params = {"type": "nio_udp",
"lport": 4242,
"rport": 4343,
"rhost": "127.0.0.1"}
params = {
"type": "nio_udp",
"lport": 4242,
"rport": 4343,
"rhost": "127.0.0.1",
"filters": {"packet_loss": 10}
}
url = app.url_path_for("compute:create_cloud_nio",
project_id=vm["project_id"],
node_id=vm["node_id"],
adapter_number="0",
port_number="0")
await compute_client.post(url, json=params)
url = app.url_path_for(
"compute:create_cloud_nio",
project_id=vm["project_id"],
node_id=vm["node_id"],
adapter_number="0",
port_number="0")
response = await compute_client.post(url, json=params)
assert response.status_code == status.HTTP_201_CREATED
assert response.json()["filters"] == {"packet_loss": 10}
params["filters"].clear()
params["filters"] = {}
url = app.url_path_for("compute:create_cloud_nio",
project_id=vm["project_id"],
node_id=vm["node_id"],
@@ -118,6 +124,7 @@ class TestCloudNodesRoutes:
response = await compute_client.put(url, json=params)
assert response.status_code == status.HTTP_201_CREATED
assert response.json()["type"] == "nio_udp"
assert response.json()["filters"] == {}
async def test_cloud_delete_nio(
@@ -218,7 +218,8 @@ class TestDockerNodesRoutes:
"type": "nio_udp",
"lport": 4242,
"rport": 4343,
"rhost": "127.0.0.1"
"rhost": "127.0.0.1",
"filters": {"packet_loss": 10}
}
url = app.url_path_for("compute:create_docker_node_nio",
@@ -228,6 +229,8 @@ class TestDockerNodesRoutes:
port_number="0")
response = await compute_client.post(url, json=params)
assert response.status_code == status.HTTP_201_CREATED
assert response.json()["filters"] == {"packet_loss": 10}
params["filters"] = {}
url = app.url_path_for("compute:update_docker_node_nio",
project_id=vm["project_id"],
@@ -237,7 +240,8 @@ class TestDockerNodesRoutes:
with asyncio_patch("gns3server.compute.docker.docker_vm.DockerVM.adapter_update_nio_binding"):
response = await compute_client.put(url, json=params)
assert response.status_code == status.HTTP_201_CREATED
assert response.json()["type"] == "nio_udp"
assert response.json()["filters"] == {}
async def test_docker_delete_nio(self, app: FastAPI, compute_client: AsyncClient, vm: dict) -> None:
+12 -6
View File
@@ -297,10 +297,13 @@ class TestIOUNodesRoutes:
async def test_iou_nio_update_udp(self, app: FastAPI, compute_client: AsyncClient, vm: dict) -> None:
params = {"type": "nio_udp",
"lport": 4242,
"rport": 4343,
"rhost": "127.0.0.1"}
params = {
"type": "nio_udp",
"lport": 4242,
"rport": 4343,
"rhost": "127.0.0.1",
"filters": {"packet_loss": 10}
}
url = app.url_path_for("compute:create_iou_node_nio",
project_id=vm["project_id"],
@@ -308,8 +311,10 @@ class TestIOUNodesRoutes:
adapter_number="1",
port_number="0")
await compute_client.post(url, json=params)
params["filters"] = {}
response = await compute_client.post(url, json=params)
assert response.status_code == status.HTTP_201_CREATED
assert response.json()["filters"] == {"packet_loss": 10}
params["filters"].clear()
url = app.url_path_for("compute:update_iou_node_nio",
project_id=vm["project_id"],
@@ -319,6 +324,7 @@ class TestIOUNodesRoutes:
response = await compute_client.put(url, json=params)
assert response.status_code == status.HTTP_201_CREATED
assert response.json()["type"] == "nio_udp"
assert response.json()["filters"] == {}
async def test_iou_nio_create_ethernet(
+7 -4
View File
@@ -104,7 +104,8 @@ class TestNATNodesRoutes:
"type": "nio_udp",
"lport": 4242,
"rport": 4343,
"rhost": "127.0.0.1"
"rhost": "127.0.0.1",
"filters": {"packet_loss": 10}
}
url = app.url_path_for("compute:create_nat_node_nio",
@@ -113,8 +114,10 @@ class TestNATNodesRoutes:
adapter_number="0",
port_number="0")
await compute_client.post(url, json=params)
params["filters"] = {}
response = await compute_client.post(url, json=params)
assert response.status_code == status.HTTP_201_CREATED
assert response.json()["filters"] == {"packet_loss": 10}
params["filters"].clear()
url = app.url_path_for("compute:update_nat_node_nio",
project_id=vm["project_id"],
@@ -124,7 +127,7 @@ class TestNATNodesRoutes:
response = await compute_client.put(url, json=params)
assert response.status_code == status.HTTP_201_CREATED
assert response.json()["type"] == "nio_udp"
assert response.json()["filters"] == {}
async def test_nat_delete_nio(self, app: FastAPI, compute_client: AsyncClient, vm: dict) -> None:
+8 -4
View File
@@ -344,7 +344,8 @@ class TestQemuNodesRoutes:
"type": "nio_udp",
"lport": 4242,
"rport": 4343,
"rhost": "127.0.0.1"
"rhost": "127.0.0.1",
"filters": {"packet_loss": 10}
}
await compute_client.put(
@@ -360,9 +361,11 @@ class TestQemuNodesRoutes:
port_number="0"
)
await compute_client.post(url, json=params)
params["filters"] = {}
response = await compute_client.post(url, json=params)
assert response.status_code == status.HTTP_201_CREATED
assert response.json()["filters"] == {"packet_loss": 10}
params["filters"].clear()
url = app.url_path_for(
"compute:update_qemu_node_nio",
project_id=qemu_vm["project_id"],
@@ -373,6 +376,7 @@ class TestQemuNodesRoutes:
response = await compute_client.put(url, json=params)
assert response.status_code == status.HTTP_201_CREATED
assert response.json()["type"] == "nio_udp"
assert response.json()["filters"] == {}
async def test_qemu_delete_nio(self, app: FastAPI, compute_client: AsyncClient, qemu_vm: dict) -> None:
+6 -4
View File
@@ -128,7 +128,8 @@ class TestVPCSNodesRoutes:
"type": "nio_udp",
"lport": 4242,
"rport": 4343,
"rhost": "127.0.0.1"
"rhost": "127.0.0.1",
"filters": {"packet_loss": 10}
}
url = app.url_path_for("compute:create_vpcs_node_nio",
@@ -140,8 +141,9 @@ class TestVPCSNodesRoutes:
with asyncio_patch("gns3server.compute.vpcs.vpcs_vm.VPCSVM.add_ubridge_udp_connection"):
response = await compute_client.post(url, json=params)
assert response.status_code == status.HTTP_201_CREATED
params["filters"] = {}
assert response.json()["filters"] == {"packet_loss": 10}
params["filters"].clear()
url = app.url_path_for("compute:update_vpcs_node_nio",
project_id=vm["project_id"],
node_id=vm["node_id"],
@@ -150,7 +152,7 @@ class TestVPCSNodesRoutes:
response = await compute_client.put(url, json=params)
assert response.status_code == status.HTTP_201_CREATED
assert response.json()["type"] == "nio_udp"
assert response.json()["filters"] == {}
async def test_vpcs_delete_nio(self, app: FastAPI, compute_client: AsyncClient, vm: dict) -> None: