Dan Anglin
fda0d6a682
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.
78 lines
1.7 KiB
Go
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)
|
|
}
|