feat(multiplayer): publish ranked profile contract

This commit is contained in:
Josh Creek
2026-09-01 21:51:42 +01:00
parent 51f6e19339
commit 47aa196b59
3 changed files with 15 additions and 1 deletions
+8 -1
View File
@@ -27,9 +27,16 @@ class ContractTest(unittest.TestCase):
"createSteamSession", "getProfile", "createQueueTicket",
"heartbeatQueueTicket", "cancelQueueTicket", "acceptProposal",
"declineProposal", "getAssignment", "registerServer",
"submitMatchResult",
"submitMatchResult", "getRankedProfile",
} <= operations)
def test_ranked_profile_contract_is_authoritative_and_optional_season_metadata(self):
schema = self.openapi["components"]["schemas"]["RankedProfile"]
self.assertEqual(schema["required"], ["rating", "rd", "volatility", "ranked_games", "tier", "provisional"])
self.assertFalse(schema["additionalProperties"])
self.assertEqual(schema["properties"]["season_ends_at"]["format"], "date-time")
self.assertNotIn("access_token", json.dumps(schema).lower())
def test_mutations_require_idempotency_and_revision(self):
parameters = self.openapi["components"]["parameters"]
self.assertEqual(parameters["IdempotencyKey"]["name"], "Idempotency-Key")