snapshot of https://github.com/cortezaproject/corteza.git (2024.9.x, 2026-09-18; blobs > 131072B omitted)
Some checks failed
SonarQube / SonarQube (push) Failing after 5m28s
E2e test on main branch push / server and client test (map[name:admin port:8080]) (push) Failing after 3m33s
Server and lib tests / Library test (js) (push) Failing after 1m36s
Server and lib tests / Library test (vue) (push) Successful in 2m24s
Server and lib tests / Web client test (admin) (push) Successful in 2m52s
Server and lib tests / Web client test (compose) (push) Successful in 3m23s
Server and lib tests / Web client test (discovery) (push) Successful in 2m49s
Server and lib tests / Web client test (one) (push) Successful in 2m52s
Server and lib tests / Web client test (privacy) (push) Successful in 2m44s
Server and lib tests / Web client test (reporter) (push) Successful in 2m56s
Server and lib tests / Web client test (workflow) (push) Successful in 3m0s
Server and lib tests / Server tests (push) Failing after 4m55s
E2e test on main branch push / notify-failure (push) Failing after 9s
Server and lib tests / Send matrix testing notification (push) Successful in 2s
Mark stale issues and pull requests / stale (push) Successful in 40s
Some checks failed
SonarQube / SonarQube (push) Failing after 5m28s
E2e test on main branch push / server and client test (map[name:admin port:8080]) (push) Failing after 3m33s
Server and lib tests / Library test (js) (push) Failing after 1m36s
Server and lib tests / Library test (vue) (push) Successful in 2m24s
Server and lib tests / Web client test (admin) (push) Successful in 2m52s
Server and lib tests / Web client test (compose) (push) Successful in 3m23s
Server and lib tests / Web client test (discovery) (push) Successful in 2m49s
Server and lib tests / Web client test (one) (push) Successful in 2m52s
Server and lib tests / Web client test (privacy) (push) Successful in 2m44s
Server and lib tests / Web client test (reporter) (push) Successful in 2m56s
Server and lib tests / Web client test (workflow) (push) Successful in 3m0s
Server and lib tests / Server tests (push) Failing after 4m55s
E2e test on main branch push / notify-failure (push) Failing after 9s
Server and lib tests / Send matrix testing notification (push) Successful in 2s
Mark stale issues and pull requests / stale (push) Successful in 40s
This commit is contained in:
148
server/app/boot_levels_test.go
Normal file
148
server/app/boot_levels_test.go
Normal file
@@ -0,0 +1,148 @@
|
||||
package app
|
||||
|
||||
import (
|
||||
"context"
|
||||
"net/http"
|
||||
"testing"
|
||||
|
||||
"github.com/cortezaproject/corteza/server/auth/external"
|
||||
authSettings "github.com/cortezaproject/corteza/server/auth/settings"
|
||||
"github.com/cortezaproject/corteza/server/system/types"
|
||||
"github.com/go-chi/chi/v5"
|
||||
"github.com/stretchr/testify/require"
|
||||
)
|
||||
|
||||
type (
|
||||
authSettingsUpdaterMockedAuthService struct {
|
||||
settings *authSettings.Settings
|
||||
}
|
||||
)
|
||||
|
||||
func (*authSettingsUpdaterMockedAuthService) MountHttpRoutes(string, chi.Router) {}
|
||||
func (*authSettingsUpdaterMockedAuthService) WellKnownOpenIDConfiguration() http.HandlerFunc {
|
||||
return func(w http.ResponseWriter, r *http.Request) {}
|
||||
}
|
||||
func (*authSettingsUpdaterMockedAuthService) Watch(context.Context) {}
|
||||
func (m *authSettingsUpdaterMockedAuthService) UpdateSettings(settings *authSettings.Settings) {
|
||||
m.settings = settings
|
||||
}
|
||||
|
||||
func Test_updateAuthSettings(t *testing.T) {
|
||||
cc := []struct {
|
||||
name string
|
||||
in types.AppSettings
|
||||
out authSettings.Settings
|
||||
}{
|
||||
{
|
||||
"enabled internal auth",
|
||||
func() (s types.AppSettings) {
|
||||
s.Auth.Internal.Enabled = true
|
||||
return
|
||||
}(),
|
||||
func() (s authSettings.Settings) {
|
||||
s.LocalEnabled = true
|
||||
return
|
||||
}(),
|
||||
},
|
||||
{
|
||||
"add external providers",
|
||||
func() (s types.AppSettings) {
|
||||
s.Auth.External.Providers = []*types.ExternalAuthProvider{
|
||||
{ // skip
|
||||
Enabled: false,
|
||||
Handle: "disabled",
|
||||
Key: "key",
|
||||
Secret: "sec",
|
||||
},
|
||||
{ // skip
|
||||
Enabled: true,
|
||||
Handle: "malformed",
|
||||
Key: "",
|
||||
Secret: "",
|
||||
},
|
||||
{ // skip
|
||||
Enabled: true,
|
||||
Handle: external.OIDC_PROVIDER_PREFIX + "without-issuer",
|
||||
Key: "key",
|
||||
Secret: "sec",
|
||||
},
|
||||
{ // add
|
||||
Enabled: true,
|
||||
Handle: external.OIDC_PROVIDER_PREFIX + "with-issuer",
|
||||
IssuerUrl: "issuer",
|
||||
Key: "key",
|
||||
Secret: "sec",
|
||||
},
|
||||
{ // add (w/o issuer)
|
||||
Enabled: true,
|
||||
Handle: "google",
|
||||
Key: "key",
|
||||
Secret: "sec",
|
||||
},
|
||||
{ // add
|
||||
Enabled: true,
|
||||
Handle: "github",
|
||||
Key: "key",
|
||||
Secret: "sec",
|
||||
},
|
||||
{ // skip
|
||||
Enabled: false,
|
||||
Handle: "linkedin",
|
||||
Key: "key",
|
||||
Secret: "sec",
|
||||
},
|
||||
{ // add (used only for API integration, not for identity)
|
||||
Enabled: true,
|
||||
Handle: "nylas",
|
||||
Key: "key",
|
||||
Secret: "sec",
|
||||
Usage: []string{types.ExternalProviderUsageAPI},
|
||||
},
|
||||
}
|
||||
return
|
||||
}(),
|
||||
func() (s authSettings.Settings) {
|
||||
s.Providers = []authSettings.Provider{
|
||||
{
|
||||
Handle: external.OIDC_PROVIDER_PREFIX + "with-issuer",
|
||||
IssuerUrl: "issuer",
|
||||
Key: "key",
|
||||
Secret: "sec",
|
||||
Usage: []string{types.ExternalProviderUsageIdentity},
|
||||
},
|
||||
{
|
||||
Handle: "google",
|
||||
Key: "key",
|
||||
Secret: "sec",
|
||||
Usage: []string{types.ExternalProviderUsageIdentity},
|
||||
},
|
||||
{
|
||||
Handle: "github",
|
||||
Key: "key",
|
||||
Secret: "sec",
|
||||
Usage: []string{types.ExternalProviderUsageIdentity},
|
||||
},
|
||||
{
|
||||
Handle: "nylas",
|
||||
Key: "key",
|
||||
Secret: "sec",
|
||||
Usage: []string{types.ExternalProviderUsageAPI},
|
||||
},
|
||||
}
|
||||
return
|
||||
}(),
|
||||
},
|
||||
}
|
||||
|
||||
for _, c := range cc {
|
||||
t.Run(c.name, func(t *testing.T) {
|
||||
var (
|
||||
req = require.New(t)
|
||||
m = &authSettingsUpdaterMockedAuthService{}
|
||||
)
|
||||
|
||||
updateAuthSettings(m, &c.in)
|
||||
req.Equal(*m.settings, c.out)
|
||||
})
|
||||
}
|
||||
}
|
||||
Reference in New Issue
Block a user