Files

35 lines
1.0 KiB
Go

package server
import (
"errors"
"git.sendico.io/tech/sxchnge/product/app/api"
"git.sendico.io/tech/sxchnge/shared/errors"
"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)
}
}