This repository has been archived on 2023-05-06. You can view files and clone it, but cannot push or open issues or pull requests.
helix/internal/config/config_test.go
Dan Anglin fda0d6a682
feat: add traefik in the new containers stack
This commit adds the new containers stack which
now builds the traefik docker image and creates
the traefik docker container.

Pulumi needed to be downgraded to version 3.2.1
because later versions panic when building
the docker image.
2021-07-10 12:41:15 +01:00

78 lines
1.7 KiB
Go

package config
import (
"reflect"
"testing"
)
func TestValidConfig(t *testing.T) {
var testCase = struct {
name string
description string
file string
want Config
}{
name: "Test case: A valid Config",
description: "Testing the parsing of valid configuration.",
file: "./testdata/config-valid.json",
want: Config{
ProjectName: "forge-platform-test-config",
Docker: DockerConfig{
Network: DockerNetworkConfig{
Name: "forge-platform-test-netwwork",
Subnet: "172.17.1.0/24",
Driver: "default",
},
},
Services: ServicesConfig{
Traefik: TraefikConfig{
CheckNewVersion: true,
SendAnonymousUsage: false,
Version: "v2.4.9",
ContainerIp: "172.17.1.2",
LogLevel: "info",
},
},
},
}
testFunc := func(t *testing.T) {
t.Log(testCase.description)
got, err := NewConfig(testCase.file)
if err != nil {
t.Fatalf("Unable to create the configuration from file: %v", err)
}
if !reflect.DeepEqual(got, testCase.want) {
t.Errorf("Unexpected Config value created. Got %v, want %v", got, testCase.want)
} else {
t.Log("Test passed.")
}
}
t.Run(testCase.name, testFunc)
}
func TestInvalidConfig(t *testing.T) {
var testCase = struct {
name string
description string
file string
}{
name: "Test case: An invalid Config",
description: "Testing the handling of invalid configuration.",
file: "./testdata/config-invalid.json",
}
testFunc := func(t *testing.T) {
t.Log(testCase.description)
_, err := NewConfig(testCase.file)
if err == nil {
t.Error("Expected an error with this invalid configuration.")
} else {
t.Log("Test passed.")
}
}
t.Run(testCase.name, testFunc)
}