mirror of
https://github.com/warmbly/warmbly.git
synced 2026-10-15 08:02:42 +00:00
Co-Authored-By: Devin AI <158243242+devin-ai-integration[bot]@users.noreply.github.com>
38 lines
1.3 KiB
Go
38 lines
1.3 KiB
Go
package instancecheck
|
|
|
|
import (
|
|
"strings"
|
|
"testing"
|
|
|
|
"github.com/warmbly/warmbly/internal/config"
|
|
)
|
|
|
|
func TestRegistrationModeDescribesActivePolicy(t *testing.T) {
|
|
for _, tc := range []struct {
|
|
mode, title, message string
|
|
}{
|
|
{config.RegistrationOpen, "Public registration is open", "anyone can create an account"},
|
|
{config.RegistrationInviteOnly, "Registration is invitation-only", "public signup is closed"},
|
|
{config.RegistrationClosed, "Registration is closed", "workspace invitations are disabled"},
|
|
} {
|
|
t.Run(tc.mode, func(t *testing.T) {
|
|
f := checkRegistrationMode(t.Context(), Deps{Policy: &config.AuthPolicy{Registration: tc.mode}}, Input{})
|
|
if f == nil || f.Title != tc.title || f.Severity != SeverityInfo || !strings.Contains(f.Message, tc.message) {
|
|
t.Fatalf("incorrect registration finding: %+v", f)
|
|
}
|
|
if !strings.Contains(f.Message, "DISABLE_REGISTRATION="+tc.mode) {
|
|
t.Errorf("finding does not name the effective setting: %s", f.Message)
|
|
}
|
|
})
|
|
}
|
|
}
|
|
|
|
func TestRegistrationModeExplainsSSOOverride(t *testing.T) {
|
|
f := checkRegistrationMode(t.Context(), Deps{Policy: &config.AuthPolicy{
|
|
Registration: config.RegistrationClosed, SSOAutoProvision: true,
|
|
}}, Input{})
|
|
if f == nil || !strings.Contains(f.Message, "SSO_AUTO_PROVISION=true") {
|
|
t.Fatalf("SSO provisioning exception was not reported: %+v", f)
|
|
}
|
|
}
|