refactor: finalize flags decoder

This commit is contained in:
Stavros
2025-09-12 12:47:58 +03:00
parent 91048c16f8
commit b30b908de3
3 changed files with 147 additions and 69 deletions

View File

@@ -11,46 +11,46 @@ import (
func TestDecodeFlags(t *testing.T) {
// Variables
expected := config.Providers{
Providers: map[string]config.ProviderConfig{
Providers: map[string]config.OAuthServiceConfig{
"client1": {
Config: config.OAuthServiceConfig{
ClientID: "client1-id",
ClientSecret: "client1-secret",
Scopes: []string{"client1-scope1", "client1-scope2"},
RedirectURL: "client1-redirect-url",
AuthURL: "client1-auth-url",
UserinfoURL: "client1-user-info-url",
InsecureSkipVerify: false,
},
ClientID: "client1-id",
ClientSecret: "client1-secret",
Scopes: []string{"client1-scope1", "client1-scope2"},
RedirectURL: "client1-redirect-url",
AuthURL: "client1-auth-url",
UserinfoURL: "client1-user-info-url",
Name: "Client1",
InsecureSkipVerify: false,
},
"client2": {
Config: config.OAuthServiceConfig{
ClientID: "client2-id",
ClientSecret: "client2-secret",
Scopes: []string{"client2-scope1", "client2-scope2"},
RedirectURL: "client2-redirect-url",
AuthURL: "client2-auth-url",
UserinfoURL: "client2-user-info-url",
InsecureSkipVerify: false,
},
ClientID: "client2-id",
ClientSecret: "client2-secret",
Scopes: []string{"client2-scope1", "client2-scope2"},
RedirectURL: "client2-redirect-url",
AuthURL: "client2-auth-url",
UserinfoURL: "client2-user-info-url",
Name: "My Awesome Client2",
InsecureSkipVerify: false,
},
},
}
test := map[string]string{
"--providers-client1-config-client-id": "client1-id",
"--providers-client1-config-client-secret": "client1-secret",
"--providers-client1-config-scopes": "client1-scope1,client1-scope2",
"--providers-client1-config-redirect-url": "client1-redirect-url",
"--providers-client1-config-auth-url": "client1-auth-url",
"--providers-client1-config-user-info-url": "client1-user-info-url",
"--providers-client1-config-insecure-skip-verify": "false",
"--providers-client2-config-client-id": "client2-id",
"--providers-client2-config-client-secret": "client2-secret",
"--providers-client2-config-scopes": "client2-scope1,client2-scope2",
"--providers-client2-config-redirect-url": "client2-redirect-url",
"--providers-client2-config-auth-url": "client2-auth-url",
"--providers-client2-config-user-info-url": "client2-user-info-url",
"--providers-client2-config-insecure-skip-verify": "false",
"--providers-client1-client-id": "client1-id",
"--providers-client1-client-secret": "client1-secret",
"--providers-client1-scopes": "client1-scope1,client1-scope2",
"--providers-client1-redirect-url": "client1-redirect-url",
"--providers-client1-auth-url": "client1-auth-url",
"--providers-client1-user-info-url": "client1-user-info-url",
"--providers-client1-name": "Client1",
"--providers-client1-insecure-skip-verify": "false",
"--providers-client2-client-id": "client2-id",
"--providers-client2-client-secret": "client2-secret",
"--providers-client2-scopes": "client2-scope1,client2-scope2",
"--providers-client2-redirect-url": "client2-redirect-url",
"--providers-client2-auth-url": "client2-auth-url",
"--providers-client2-user-info-url": "client2-user-info-url",
"--providers-client2-name": "My Awesome Client2",
"--providers-client2-insecure-skip-verify": "false",
}
// Test