internal: walk config in go, check, parse and load from scheme like in python

closes #2719

Signed-off-by: Jens Langhammer <jens.langhammer@beryju.org>
This commit is contained in:
Jens Langhammer
2022-07-26 11:33:35 +02:00
parent d08856c1fe
commit 10b48b27b0
10 changed files with 149 additions and 47 deletions

View File

@ -0,0 +1,39 @@
package config
import (
"fmt"
"log"
"os"
"testing"
"github.com/stretchr/testify/assert"
)
func TestConfigEnv(t *testing.T) {
os.Setenv("AUTHENTIK_SECRET_KEY", "bar")
cfg = nil
Get().fromEnv()
assert.Equal(t, "bar", Get().SecretKey)
}
func TestConfigEnv_Scheme(t *testing.T) {
os.Setenv("foo", "bar")
os.Setenv("AUTHENTIK_SECRET_KEY", "env://foo")
cfg = nil
Get().fromEnv()
assert.Equal(t, "bar", Get().SecretKey)
}
func TestConfigEnv_File(t *testing.T) {
file, err := os.CreateTemp("", "")
if err != nil {
log.Fatal(err)
}
defer os.Remove(file.Name())
file.Write([]byte("bar"))
os.Setenv("AUTHENTIK_SECRET_KEY", fmt.Sprintf("file://%s", file.Name()))
cfg = nil
Get().fromEnv()
assert.Equal(t, "bar", Get().SecretKey)
}