Release: v0.1.0-alpha
Release Docker Image / Build & Push Docker Image (release) Failing after 1m30s
Release Docker Image / Build & Push Docker Image (release) Failing after 1m30s
This commit is contained in:
@@ -0,0 +1,68 @@
|
||||
// Keywarden - Centralized SSH Key Management and Deployment
|
||||
// Copyright (C) 2026 Patrick Asmus (scriptos)
|
||||
// SPDX-License-Identifier: AGPL-3.0-or-later
|
||||
|
||||
package config
|
||||
|
||||
import (
|
||||
"os"
|
||||
"testing"
|
||||
)
|
||||
|
||||
func TestLoadDefaults(t *testing.T) {
|
||||
// Clear all KEYWARDEN_ env vars to ensure defaults
|
||||
envs := []string{
|
||||
"KEYWARDEN_PORT", "KEYWARDEN_DB_PATH", "KEYWARDEN_DATA_DIR",
|
||||
"KEYWARDEN_KEYS_DIR", "KEYWARDEN_MASTER_DIR", "KEYWARDEN_SESSION_KEY",
|
||||
"KEYWARDEN_ENCRYPTION_KEY",
|
||||
}
|
||||
for _, e := range envs {
|
||||
os.Unsetenv(e)
|
||||
}
|
||||
|
||||
cfg := Load()
|
||||
|
||||
if cfg.Port != "8080" {
|
||||
t.Fatalf("Expected default port 8080, got %q", cfg.Port)
|
||||
}
|
||||
if cfg.DBPath != "./data/keywarden.db" {
|
||||
t.Fatalf("Expected default DBPath, got %q", cfg.DBPath)
|
||||
}
|
||||
if cfg.DataDir != "./data" {
|
||||
t.Fatalf("Expected default DataDir, got %q", cfg.DataDir)
|
||||
}
|
||||
if cfg.KeysDir != "./data/keys" {
|
||||
t.Fatalf("Expected default KeysDir, got %q", cfg.KeysDir)
|
||||
}
|
||||
if cfg.MasterDir != "./data/master" {
|
||||
t.Fatalf("Expected default MasterDir, got %q", cfg.MasterDir)
|
||||
}
|
||||
}
|
||||
|
||||
func TestLoadFromEnv(t *testing.T) {
|
||||
os.Setenv("KEYWARDEN_PORT", "9090")
|
||||
os.Setenv("KEYWARDEN_DB_PATH", "/custom/db.sqlite")
|
||||
os.Setenv("KEYWARDEN_DATA_DIR", "/custom/data")
|
||||
os.Setenv("KEYWARDEN_ENCRYPTION_KEY", "my-custom-key")
|
||||
defer func() {
|
||||
os.Unsetenv("KEYWARDEN_PORT")
|
||||
os.Unsetenv("KEYWARDEN_DB_PATH")
|
||||
os.Unsetenv("KEYWARDEN_DATA_DIR")
|
||||
os.Unsetenv("KEYWARDEN_ENCRYPTION_KEY")
|
||||
}()
|
||||
|
||||
cfg := Load()
|
||||
|
||||
if cfg.Port != "9090" {
|
||||
t.Fatalf("Expected port 9090, got %q", cfg.Port)
|
||||
}
|
||||
if cfg.DBPath != "/custom/db.sqlite" {
|
||||
t.Fatalf("Expected custom DBPath, got %q", cfg.DBPath)
|
||||
}
|
||||
if cfg.DataDir != "/custom/data" {
|
||||
t.Fatalf("Expected custom DataDir, got %q", cfg.DataDir)
|
||||
}
|
||||
if cfg.EncryptionKey != "my-custom-key" {
|
||||
t.Fatalf("Expected custom EncryptionKey, got %q", cfg.EncryptionKey)
|
||||
}
|
||||
}
|
||||
Reference in New Issue
Block a user