(test_env, protocol_config, protocol_log, protocol_scheme)
| 826 | |
| 827 | |
| 828 | def server_can_register_protocol(test_env, protocol_config, protocol_log, protocol_scheme): |
| 829 | mastersrv = test_env.mastersrv() |
| 830 | wait_for_startup([mastersrv]) |
| 831 | server = test_env.server([ |
| 832 | "http_allow_insecure 1", |
| 833 | f"sv_register {protocol_config}", |
| 834 | f"sv_register_url http://[::1]:{mastersrv.port}/ddnet/15/register", |
| 835 | ]) |
| 836 | wait_for_startup([server]) |
| 837 | server.wait_for_log_exact(f"register/{protocol_log}: successfully registered", timeout=5) |
| 838 | servers_json = mastersrv.servers_json() |
| 839 | if len(servers_json["servers"]) != 1 or servers_json["servers"][0]["info"]["map"]["name"] != "Tutorial" or len(servers_json["servers"][0]["addresses"]) != 1 or not servers_json["servers"][0]["addresses"][0].startswith(f"{protocol_scheme}://[::1]:"): |
| 840 | raise AssertionError(f"unexpected servers.json\n{servers_json}") |
| 841 | server.exit() |
| 842 | mastersrv.wait_for_log_prefix(f"mastersrv: successfully removed {protocol_scheme}://[::1]:", timeout=5) |
| 843 | servers_json = mastersrv.servers_json() |
| 844 | if len(servers_json["servers"]) != 0: |
| 845 | raise AssertionError(f"unexpected servers.json\n{servers_json}") |
| 846 | mastersrv.exit() |
| 847 | mastersrv.wait_for_exit() |
| 848 | |
| 849 | |
| 850 | @test(requires_mastersrv=True) |
no test coverage detected