mirror of
https://github.com/jcreek/CosmicClash.git
synced 2026-09-11 08:23:45 +00:00
fix(multiplayer): centralize arena path validation
This commit is contained in:
@@ -53,6 +53,19 @@ func TestAllocatorRejectsInvalidServerAndNoCompatibleCapacity(t *testing.T) {
|
||||
}
|
||||
}
|
||||
|
||||
func TestAllocatorRejectsUnregisteredArenaPath(t *testing.T) {
|
||||
a, err := NewAllocator([]ReadyServer{{ServerID: "server-1", Region: "EU", Build: "build-1", Protocol: 1, Transport: "enet", State: ServerReady}})
|
||||
if err != nil {
|
||||
t.Fatal(err)
|
||||
}
|
||||
for _, path := range []string{"res://scenes/arena_01_elevated.tscn", "res://forged.tscn"} {
|
||||
request := AllocationRequest{AllocationID: "allocation-" + path, MatchID: "match-1", Region: "EU", Build: "build-1", Protocol: 1, ArenaPath: path, Transport: "enet"}
|
||||
if _, err := a.Allocate(request, time.Unix(1000, 0)); !errors.Is(err, ErrAllocationInput) {
|
||||
t.Fatalf("arena path %q returned %v, want ErrAllocationInput", path, err)
|
||||
}
|
||||
}
|
||||
}
|
||||
|
||||
func TestAllocatorConcurrentClaimsCannotDoubleAllocateOneServer(t *testing.T) {
|
||||
a, _ := NewAllocator([]ReadyServer{{ServerID: "server-1", Region: "EU", Build: "build-1", Protocol: 1, Transport: "enet", State: ServerReady}})
|
||||
requests := []AllocationRequest{
|
||||
|
||||
Reference in New Issue
Block a user