From 43bccced4775619fa4358043b62fcb857a374ed6 Mon Sep 17 00:00:00 2001 From: Martin Weinelt Date: Sat, 13 Jun 2026 02:37:12 +0200 Subject: [PATCH] nixos/tests/netbox*: use unittest asserts These provide much richer detail, when assertions fail. --- nixos/tests/web-apps/netbox-upgrade.nix | 2 +- nixos/tests/web-apps/netbox/testScript.py | 36 +++++++++++------------ 2 files changed, 19 insertions(+), 19 deletions(-) diff --git a/nixos/tests/web-apps/netbox-upgrade.nix b/nixos/tests/web-apps/netbox-upgrade.nix index b8e23c6cf8de..f8ac7c261dd4 100644 --- a/nixos/tests/web-apps/netbox-upgrade.nix +++ b/nixos/tests/web-apps/netbox-upgrade.nix @@ -75,7 +75,7 @@ in headers = machine.succeed( "curl -sSL http://localhost/api/ --head -H 'Content-Type: application/json'" ) - assert api_version(headers) == version + t.assertEqual(api_version(headers), version) with subtest("NetBox version is the old one"): check_api_version("${oldApiVersion}") diff --git a/nixos/tests/web-apps/netbox/testScript.py b/nixos/tests/web-apps/netbox/testScript.py index 8532a4538ff9..914e5648560c 100644 --- a/nixos/tests/web-apps/netbox/testScript.py +++ b/nixos/tests/web-apps/netbox/testScript.py @@ -155,7 +155,7 @@ def patch(uri: str, data: Dict[str, Any]): return data_request(uri, "PATCH", data) with subtest("Can retrieve netbox version"): - assert netbox_version == get("/status/")["netbox-version"] + t.assertEqual(netbox_version, get("/status/")["netbox-version"]) with subtest("Can create objects"): result = post("/dcim/sites/", {"name": "Test site", "slug": "test-site"}) @@ -196,28 +196,28 @@ with subtest("Can create objects"): with subtest("Can list objects"): result = get("/dcim/sites/") - assert result["count"] == 1 - assert result["results"][0]["id"] == site_id - assert result["results"][0]["name"] == "Test site" - assert result["results"][0]["description"] == "" + t.assertEqual(result["count"], 1) + t.assertEqual(result["results"][0]["id"], site_id) + t.assertEqual(result["results"][0]["name"], "Test site") + t.assertEqual(result["results"][0]["description"], "") result = get("/dcim/device-types/") - assert result["count"] == 1 - assert result["results"][0]["id"] == device_type_id - assert result["results"][0]["model"] == "Test device type" + t.assertEqual(result["count"], 1) + t.assertEqual(result["results"][0]["id"], device_type_id) + t.assertEqual(result["results"][0]["model"], "Test device type") with subtest("Can update objects"): new_description = "Test site description" patch(f"/dcim/sites/{site_id}/", {"description": new_description}) result = get(f"/dcim/sites/{site_id}/") - assert result["description"] == new_description + t.assertEqual(result["description"], new_description) with subtest("Can delete objects"): # Delete a device-type since no object depends on it delete(f"/dcim/device-types/{device_type_id}/") result = get("/dcim/device-types/") - assert result["count"] == 0 + t.assertEqual(result["count"], 0) def request_graphql(query: str): return machine.succeed( @@ -252,10 +252,10 @@ if compare(netbox_version, '4.2.0') >= 0: answer = request_graphql(graphql_query) result = json.loads(answer) - assert len(result["data"]["prefix_list"]) == 3 - assert test_objects["prefixes"]["v4-with-updated-desc"] in result["data"]["prefix_list"] - assert test_objects["prefixes"]["v6-cidr-32"] in result["data"]["prefix_list"] - assert test_objects["prefixes"]["v6-cidr-48"] in result["data"]["prefix_list"] + t.assertEqual(len(result["data"]["prefix_list"]), 3) + t.assertIn(test_objects["prefixes"]["v4-with-updated-desc"], result["data"]["prefix_list"]) + t.assertIn(test_objects["prefixes"]["v6-cidr-32"], result["data"]["prefix_list"]) + t.assertIn(test_objects["prefixes"]["v6-cidr-48"], result["data"]["prefix_list"]) if compare(netbox_version, '4.2.0') < 0: with subtest("Can use the GraphQL API (Netbox <= 4.2.0)"): @@ -270,8 +270,8 @@ if compare(netbox_version, '4.2.0') < 0: ''') result = json.loads(answer) print(result["data"]["prefix_list"][0]) - assert result["data"]["prefix_list"][0]["prefix"] == test_objects["prefixes"]["v4-with-updated-desc"]["prefix"] - assert int(result["data"]["prefix_list"][0]["site"]["id"]) == int(test_objects["prefixes"]["v4-with-updated-desc"]["scope"]["id"]) + t.assertEqual(result["data"]["prefix_list"][0]["prefix"], test_objects["prefixes"]["v4-with-updated-desc"]["prefix"]) + t.assertEqual(int(result["data"]["prefix_list"][0]["site"]["id"]), int(test_objects["prefixes"]["v4-with-updated-desc"]["scope"]["id"])) # With 4.5.2 and higher, obtaining a session cookie or token without supplying # proper CSRF tokens on the frontend /login/ endpoint is no longer possible @@ -283,5 +283,5 @@ if compare(netbox_version, '4.5.2') < 0: with subtest("Can associate LDAP groups"): result = get("/users/users/?username=${testUser}") - assert result["count"] == 1 - assert any(group["name"] == "${testGroup}" for group in result["results"][0]["groups"]) + t.assertEqual(result["count"], 1) + t.assertTrue(any(group["name"] == "${testGroup}" for group in result["results"][0]["groups"]))