diff --git a/test/server_test.py b/test/server_test.py index b6ed9fb..033834c 100644 --- a/test/server_test.py +++ b/test/server_test.py @@ -5,14 +5,6 @@ from typing import Any, Dict, List, cast -def normalize_list(obj: Any) -> List[Any]: - if obj is None: - return [] - if isinstance(obj, list): - return obj - return [obj] - - class TestServerSxPB(unittest.TestCase): def test_sxpb_cases(self): sxpb_path = os.path.join(os.path.dirname(__file__), "server_test_cases.sxpb") @@ -32,8 +24,7 @@ def test_sxpb_cases(self): # Setup phase setup_block = case.get("setup", {}) if setup_block: - setup_requests = normalize_list(setup_block.get("request")) - for req in setup_requests: + for req in cast(List[Dict[str, Any]], setup_block.get("requests", [])): self._run_request(impl, req, now_ms) # Request phase @@ -79,7 +70,7 @@ def _run_request(self, impl: RendezqueueImpl, req: Dict[str, Any], now_ms: float msg["b64"] = req["b64"] if "values" in req: - msg["values"] = normalize_list(req["values"]) + msg["values"] = req["values"] return impl.tryswap(msg, now_ms=now_ms) @@ -109,9 +100,8 @@ def _verify_response(self, actual, expected, case_name): pass if "values" in expected: - expected_values = normalize_list(expected["values"]) self.assertEqual( - actual.values, expected_values, f"Case {case_name}: Values mismatch" + actual.values, expected["values"], f"Case {case_name}: Values mismatch" ) else: # Expect no values diff --git a/test/server_test_cases.sxpb b/test/server_test_cases.sxpb index 6f656e2..b077cc9 100644 --- a/test/server_test_cases.sxpb +++ b/test/server_test_cases.sxpb @@ -21,12 +21,14 @@ (() (name "2. Match existing offer") (setup - (request - (key "k1") - (sid "s1") - (offset 0) - (values (()) "val1") - (ttl 10) + (requests (()) + (() + (key "k1") + (sid "s1") + (offset 0) + (values (()) "val1") + (ttl 10) + ) ) ) (now_ms 1000) @@ -48,19 +50,21 @@ (() (name "3. Poll matched offer (s1)") (setup - (request - (key "k1") - (sid "s1") - (offset 0) - (values (()) "val1") - (ttl 10) - ) - (request - (key "k1") - (sid "s2") - (offset 0) - (values (()) "val2") - (ttl 10) + (requests (()) + (() + (key "k1") + (sid "s1") + (offset 0) + (values (()) "val1") + (ttl 10) + ) + (() + (key "k1") + (sid "s2") + (offset 0) + (values (()) "val2") + (ttl 10) + ) ) ) (now_ms 1000) @@ -80,12 +84,14 @@ (() (name "4. Partial match / Append") (setup - (request - (key "k1") - (sid "s1") - (offset 0) - (values (()) "v1") - (ttl 10) + (requests (()) + (() + (key "k1") + (sid "s1") + (offset 0) + (values (()) "v1") + (ttl 10) + ) ) ) (now_ms 1000) @@ -138,19 +144,21 @@ (() (name "7. Multiple values swap") (setup - (request - (key "k_multi") - (sid "s_multi_1") - (offset 0) - (values (()) "val_a1") - (ttl 10) - ) - (request - (key "k_multi") - (sid "s_multi_1") - (offset 1) - (values (()) "val_a2") - (ttl 10) + (requests (()) + (() + (key "k_multi") + (sid "s_multi_1") + (offset 0) + (values (()) "val_a1") + (ttl 10) + ) + (() + (key "k_multi") + (sid "s_multi_1") + (offset 1) + (values (()) "val_a2") + (ttl 10) + ) ) ) (now_ms 1000)