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.
This commit is contained in:
1 file changed
+15
@@ -0,0 +1,15 @@
|
|||||||
|
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())
|
||||||
|
}
|
||||||
Reference in new issue
Block a user