netfishing/tests/dedicated_host_session_validation.gd

61 lines
1.6 KiB
GDScript3
Raw Permalink Normal View History

2026-08-10 13:56:03 -04:00
extends SceneTree
const TEST_PORT: int = 35777
2026-08-11 22:58:33 -04:00
const OPERATOR_FINGERPRINT: String = (
"0123456789abcdef0123456789abcdef0123456789abcdef0123456789abcdef"
)
2026-08-10 13:56:03 -04:00
func _init() -> void:
call_deferred("_run")
func _run() -> void:
var harness := Node.new()
root.add_child(harness)
var players := Node3D.new()
harness.add_child(players)
var spawn_service := PlayerSpawnService.new()
harness.add_child(spawn_service)
spawn_service.setup(players, null, Transform3D.IDENTITY)
var host_identity := HostIdentityStore.new()
harness.add_child(host_identity)
var known_players := KnownPlayerStore.new()
harness.add_child(known_players)
var host_bans := HostBanStore.new()
harness.add_child(host_bans)
var session := NetworkSession.new()
harness.add_child(session)
await process_frame
session.setup(
null,
null,
spawn_service,
null,
host_identity,
known_players,
null,
host_bans,
true,
)
2026-08-11 22:58:33 -04:00
assert(session.configure_dedicated_operators(
PackedStringArray([OPERATOR_FINGERPRINT])
))
2026-08-10 13:56:03 -04:00
assert(session.start_dedicated_host(TEST_PORT, 5, "127.0.0.1"))
assert(session.is_dedicated_host())
assert(session.get_local_peer_id() == 0)
assert(session.get_player_count() == 0)
assert(session.get_session_max_players() == 5)
assert(session.get_host_port() == TEST_PORT)
2026-08-11 22:58:33 -04:00
assert(bool(session.call(
"_operator_for_fingerprint", OPERATOR_FINGERPRINT
)))
2026-08-10 13:56:03 -04:00
assert(session.set_host_open(true))
assert(session.is_open_host())
session.disconnect_session("Dedicated host validation complete.")
assert(not session.is_session_active())
assert(not session.is_dedicated_host())
harness.queue_free()
print("DEDICATED_HOST_SESSION_VALIDATION_OK")
quit(0)