package server import ( "errors" "git.sendico.io/tech/sxchnge/bff/edge/shared/interface/api" "git.sendico.io/tech/sxchnge/bff/pkg/merrors" "os" "testing" ) func TestIncompleteConfigReturnsProjectError(t *testing.T) { for _, data := range []string{"api: {}", "api: {middleware: {}}\ndatabase: {driver: mongodb}", "api: {middleware: {}}\ndatabase: {driver: mongodb}\nhttp_server: {}"} { instance := &Imp{runtime: api.RuntimeConfig{}} if err := instance.decodeConfig([]byte(data)); !errors.Is(err, merrors.ErrInvalidArg) { t.Fatalf("expected configuration error, got %v", err) } } } func TestExampleConfigMatchesCopiedRuntime(t *testing.T) { data, err := os.ReadFile("../../../../config.example.yml") if err != nil { t.Fatal(err) } instance := &Imp{runtime: api.RuntimeConfig{}} if err := instance.decodeConfig(data); err != nil { t.Fatal(err) } if err := instance.config.API.SharedConfig().Mw.Token.Validate(); err != nil { t.Fatal(err) } if err := instance.config.API.SharedConfig().Mw.CORS.Validate(); err != nil { t.Fatal(err) } }