feat: complete 2.0.7.12 platform overhaul
This commit is contained in:
@@ -12,7 +12,7 @@ import (
|
||||
"ymhut-box/server/unified-management/internal/db"
|
||||
)
|
||||
|
||||
func TestBootstrapShowsDefaultPasswordOnlyBeforeChange(t *testing.T) {
|
||||
func TestBootstrapOnlyReturnsDefaultPasswordStateToAuthenticatedCaller(t *testing.T) {
|
||||
root := t.TempDir()
|
||||
cfg := &config.Config{
|
||||
StorageDir: root,
|
||||
@@ -32,22 +32,29 @@ func TestBootstrapShowsDefaultPasswordOnlyBeforeChange(t *testing.T) {
|
||||
t.Fatal(err)
|
||||
}
|
||||
service := NewService(store)
|
||||
payload, err := service.Bootstrap(context.Background())
|
||||
publicPayload, err := service.Bootstrap(context.Background(), false)
|
||||
if err != nil {
|
||||
t.Fatal(err)
|
||||
}
|
||||
if payload["isDefaultPassword"] != true || payload["defaultPassword"] != "admin" {
|
||||
t.Fatalf("unexpected bootstrap payload: %#v", payload)
|
||||
if _, exists := publicPayload["isDefaultPassword"]; exists || publicPayload["defaultPassword"] != nil || publicPayload["defaultUsername"] != nil {
|
||||
t.Fatalf("public bootstrap leaked administrator state: %#v", publicPayload)
|
||||
}
|
||||
payload, err := service.Bootstrap(context.Background(), true)
|
||||
if err != nil {
|
||||
t.Fatal(err)
|
||||
}
|
||||
if payload["isDefaultPassword"] != true || payload["defaultPassword"] != nil || payload["defaultUsername"] != nil {
|
||||
t.Fatalf("unexpected authenticated bootstrap payload: %#v", payload)
|
||||
}
|
||||
if err := store.ChangeAdminPassword(context.Background(), "admin", "admin", "changed-password"); err != nil {
|
||||
t.Fatal(err)
|
||||
}
|
||||
payload, err = service.Bootstrap(context.Background())
|
||||
payload, err = service.Bootstrap(context.Background(), true)
|
||||
if err != nil {
|
||||
t.Fatal(err)
|
||||
}
|
||||
if payload["isDefaultPassword"] != false || payload["defaultPassword"] != "" {
|
||||
t.Fatalf("default password leaked after change: %#v", payload)
|
||||
if payload["isDefaultPassword"] != false || payload["defaultPassword"] != nil || payload["defaultUsername"] != nil {
|
||||
t.Fatalf("default password fields leaked after change: %#v", payload)
|
||||
}
|
||||
}
|
||||
|
||||
|
||||
Reference in New Issue
Block a user