mirror of
https://github.com/netbirdio/netbird.git
synced 2026-07-19 04:59:56 +00:00
48 lines
1.5 KiB
Go
48 lines
1.5 KiB
Go
package cmd
|
|
|
|
import (
|
|
"context"
|
|
"os"
|
|
"testing"
|
|
|
|
"github.com/stretchr/testify/require"
|
|
|
|
nbconfig "github.com/netbirdio/netbird/management/internals/server/config"
|
|
)
|
|
|
|
func TestApplyAdminDefaultsCopiesServerStoreWithoutExposedAddress(t *testing.T) {
|
|
cfg := DefaultConfig()
|
|
cfg.Server.ExposedAddress = ""
|
|
cfg.Server.DataDir = "/srv/netbird"
|
|
cfg.Server.Store = StoreConfig{
|
|
Engine: "postgres",
|
|
DSN: "postgres://user:pass@example.com/netbird",
|
|
}
|
|
|
|
cfg.ApplyAdminDefaults()
|
|
|
|
require.Equal(t, "/srv/netbird", cfg.Management.DataDir)
|
|
require.Equal(t, "postgres", cfg.Management.Store.Engine)
|
|
require.Equal(t, cfg.Server.Store.DSN, cfg.Management.Store.DSN)
|
|
}
|
|
|
|
func TestOpenAdminEventStoreMissingEncryptionKeyReturnsNilInterface(t *testing.T) {
|
|
eventStore, err := openAdminEventStore(context.Background(), &CombinedConfig{}, &nbconfig.Config{})
|
|
require.Error(t, err)
|
|
require.Contains(t, err.Error(), "encryption key")
|
|
require.Nil(t, eventStore)
|
|
}
|
|
|
|
func TestApplyServerStoreEnv(t *testing.T) {
|
|
t.Setenv("NB_STORE_ENGINE_POSTGRES_DSN", "")
|
|
t.Setenv("NB_STORE_ENGINE_MYSQL_DSN", "")
|
|
t.Setenv("NB_STORE_ENGINE_SQLITE_FILE", "")
|
|
|
|
applyServerStoreEnv(StoreConfig{Engine: "postgres", DSN: "postgres-dsn", File: "store.db"})
|
|
require.Equal(t, "postgres-dsn", os.Getenv("NB_STORE_ENGINE_POSTGRES_DSN"))
|
|
require.Equal(t, "store.db", os.Getenv("NB_STORE_ENGINE_SQLITE_FILE"))
|
|
|
|
applyServerStoreEnv(StoreConfig{Engine: "mysql", DSN: "mysql-dsn"})
|
|
require.Equal(t, "mysql-dsn", os.Getenv("NB_STORE_ENGINE_MYSQL_DSN"))
|
|
}
|