package oauth2 import ( "farga/config" "testing" ) func TestHackatimeConfig(t *testing.T) { c := HackatimeConfig(config.Config{ Domain: "example.com", Port: 8080, PublicUrl: "http://example.com:8080", // no trailing slash. HackatimeClientID: "client-id", HackatimeClientSecret: "client-secret", }) if c.ClientID != "client-id" { t.Errorf("ClientID = %q, want client-id", c.ClientID) } if c.ClientSecret != "client-secret" { t.Errorf("ClientSecret = %q, want client-secret", c.ClientSecret) } if c.RedirectURL != "http://example.com:8080/auth/hackatime/callback" { t.Errorf("RedirectURL = %q, want http://example.com:8080/auth/hackatime/callback", c.RedirectURL) } if len(c.Scopes) != 2 || c.Scopes[0] != "profile" || c.Scopes[1] != "read" { t.Errorf("Scopes = %v, want [profile read]", c.Scopes) } if c.Endpoint.AuthURL != "https://hackatime.hackclub.com/oauth/authorize" { t.Errorf("AuthURL = %q, want https://hackatime.hackclub.com/oauth/authorize", c.Endpoint.AuthURL) } if c.Endpoint.TokenURL != "https://hackatime.hackclub.com/oauth/token" { t.Errorf("TokenURL = %q, want https://hackatime.hackclub.com/oauth/token", c.Endpoint.TokenURL) } }