Unverified Commit a7fe525b authored by Minseong Choi's avatar Minseong Choi 💬
Browse files

test(api): keep the package's tests off the live mojang profile api

mojangProfileAPI defaults to https://api.mojang.com, and only the tests
that call stubMojangNames or setProfileAPI swap it out. A new test that
reaches a third-party login without doing so would query the real
service: its result then depends on network access and on whether
someone owns the name that day, and the shared premium cache can carry
that answer into later tests.

A TestMain now points the lookup at an address nothing listens on
before any test runs, so a forgotten stub always takes the same
fail-closed path. Tests that stub it restore this address, not the live
one, when they finish.
parent 8e9c8ca4
Loading
Loading
Loading
Loading
+15 −0
Changes for internal/api/main_test.go: 15 added lines, 0 removed lines.
Original line number Diff line number Diff line
package api

import (
	"os"
	"testing"
)

// TestMain points the premium-name lookup at an address nothing listens on before any test
// runs. A test that forgets stubMojangNames then fails the same way everywhere (lookup
// error, fail closed, rename) instead of asking the real api.mojang.com, whose answer
// changes the day someone buys the name and which CI may not reach at all.
func TestMain(m *testing.M) {
	mojangProfileAPI = "http://127.0.0.1:1/"
	os.Exit(m.Run())
}