config_test.go

 1package config
 2
 3import (
 4	"testing"
 5
 6	"github.com/charmbracelet/soft-serve/server/config"
 7	"github.com/matryer/is"
 8)
 9
10func TestMultipleInitialKeys(t *testing.T) {
11	cfg, err := NewConfig(&config.Config{
12		DataPath: t.TempDir(),
13		InitialAdminKeys: []string{
14			"testdata/k1.pub",
15			"ssh-ed25519 AAAAC3NzaC1lZDI1NTE5AAAAIFxIobhwtfdwN7m1TFt9wx3PsfvcAkISGPxmbmbauST8 a@b",
16		},
17	})
18	is := is.New(t)
19	is.NoErr(err)
20	err = cfg.Reload()
21	is.NoErr(err)
22	is.Equal(cfg.Users[0].PublicKeys, []string{
23		"ssh-ed25519 AAAAC3NzaC1lZDI1NTE5AAAAINMwLvyV3ouVrTysUYGoJdl5Vgn5BACKov+n9PlzfPwH a@b",
24		"ssh-ed25519 AAAAC3NzaC1lZDI1NTE5AAAAIFxIobhwtfdwN7m1TFt9wx3PsfvcAkISGPxmbmbauST8 a@b",
25	}) // should have both keys
26}
27
28func TestEmptyInitialKeys(t *testing.T) {
29	cfg, err := NewConfig(&config.Config{
30		DataPath: t.TempDir(),
31	})
32	is := is.New(t)
33	is.NoErr(err)
34	is.Equal(len(cfg.Users), 0) // should not have any users
35}