feat: add twitch graphql streamer resolution

This commit is contained in:
2026-04-28 23:01:26 +02:00
parent 37ece958f3
commit 2f81173f1e
11 changed files with 928 additions and 31 deletions
+27
View File
@@ -51,6 +51,33 @@ func TestSaveStatePersistsCookieEntries(t *testing.T) {
}
}
func TestSaveStateAllowsZeroExpiresIn(t *testing.T) {
t.Parallel()
path := filepath.Join(t.TempDir(), "cookies.json")
state := &State{
AccessToken: "token",
TokenType: "bearer",
Scopes: RequiredScopes,
Login: "viewer",
UserID: "123",
ClientID: ClientID,
ExpiresIn: 0,
DeviceID: "device",
}
if err := SaveState(path, state); err != nil {
t.Fatalf("SaveState() error = %v", err)
}
loaded, err := LoadState(path)
if err != nil {
t.Fatal(err)
}
if loaded.ExpiresIn != 0 {
t.Fatalf("ExpiresIn = %d, want 0", loaded.ExpiresIn)
}
}
func TestLoadStateMissingFileReturnsNil(t *testing.T) {
t.Parallel()
-2
View File
@@ -107,8 +107,6 @@ func (s *State) validate() error {
return fmt.Errorf("missing client_id")
case len(s.Scopes) == 0:
return fmt.Errorf("missing scopes")
case s.ExpiresIn <= 0:
return fmt.Errorf("expires_in must be greater than zero")
case s.DeviceID == "":
return fmt.Errorf("missing device_id")
default: