test: use _test to avoid cyclic imports
This commit is contained in:
parent
d11ad61efb
commit
970ae0fc4e
|
@ -149,7 +149,7 @@ func (a ByName) Less(i, j int) bool {
|
||||||
return strings.ToLower(a[i].Name) < strings.ToLower(a[j].Name)
|
return strings.ToLower(a[i].Name) < strings.ToLower(a[j].Name)
|
||||||
}
|
}
|
||||||
|
|
||||||
func readAppEnvFile(appFile AppFile, name AppName) (App, error) {
|
func ReadAppEnvFile(appFile AppFile, name AppName) (App, error) {
|
||||||
env, err := ReadEnv(appFile.Path)
|
env, err := ReadEnv(appFile.Path)
|
||||||
if err != nil {
|
if err != nil {
|
||||||
return App{}, fmt.Errorf("env file for %s couldn't be read: %s", name, err.Error())
|
return App{}, fmt.Errorf("env file for %s couldn't be read: %s", name, err.Error())
|
||||||
|
@ -157,7 +157,7 @@ func readAppEnvFile(appFile AppFile, name AppName) (App, error) {
|
||||||
|
|
||||||
logrus.Debugf("read env %s from %s", env, appFile.Path)
|
logrus.Debugf("read env %s from %s", env, appFile.Path)
|
||||||
|
|
||||||
app, err := newApp(env, name, appFile)
|
app, err := NewApp(env, name, appFile)
|
||||||
if err != nil {
|
if err != nil {
|
||||||
return App{}, fmt.Errorf("env file for %s has issues: %s", name, err.Error())
|
return App{}, fmt.Errorf("env file for %s has issues: %s", name, err.Error())
|
||||||
}
|
}
|
||||||
|
@ -165,8 +165,8 @@ func readAppEnvFile(appFile AppFile, name AppName) (App, error) {
|
||||||
return app, nil
|
return app, nil
|
||||||
}
|
}
|
||||||
|
|
||||||
// newApp creates new App object
|
// NewApp creates new App object
|
||||||
func newApp(env AppEnv, name string, appFile AppFile) (App, error) {
|
func NewApp(env AppEnv, name string, appFile AppFile) (App, error) {
|
||||||
domain := env["DOMAIN"]
|
domain := env["DOMAIN"]
|
||||||
|
|
||||||
recipe, exists := env["RECIPE"]
|
recipe, exists := env["RECIPE"]
|
||||||
|
@ -232,7 +232,7 @@ func GetApp(apps AppFiles, name AppName) (App, error) {
|
||||||
return App{}, fmt.Errorf("cannot find app with name %s", name)
|
return App{}, fmt.Errorf("cannot find app with name %s", name)
|
||||||
}
|
}
|
||||||
|
|
||||||
app, err := readAppEnvFile(appFile, name)
|
app, err := ReadAppEnvFile(appFile, name)
|
||||||
if err != nil {
|
if err != nil {
|
||||||
return App{}, err
|
return App{}, err
|
||||||
}
|
}
|
||||||
|
|
|
@ -1,36 +1,38 @@
|
||||||
package config
|
package config_test
|
||||||
|
|
||||||
import (
|
import (
|
||||||
"reflect"
|
"reflect"
|
||||||
"testing"
|
"testing"
|
||||||
|
|
||||||
|
"coopcloud.tech/abra/pkg/config"
|
||||||
)
|
)
|
||||||
|
|
||||||
func TestNewApp(t *testing.T) {
|
func TestNewApp(t *testing.T) {
|
||||||
app, err := newApp(expectedAppEnv, appName, expectedAppFile)
|
app, err := config.NewApp(ExpectedAppEnv, AppName, ExpectedAppFile)
|
||||||
if err != nil {
|
if err != nil {
|
||||||
t.Fatal(err)
|
t.Fatal(err)
|
||||||
}
|
}
|
||||||
if !reflect.DeepEqual(app, expectedApp) {
|
if !reflect.DeepEqual(app, ExpectedApp) {
|
||||||
t.Fatalf("did not get expected app type. Expected: %s; Got: %s", app, expectedApp)
|
t.Fatalf("did not get expected app type. Expected: %s; Got: %s", app, ExpectedApp)
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|
||||||
func TestReadAppEnvFile(t *testing.T) {
|
func TestReadAppEnvFile(t *testing.T) {
|
||||||
app, err := readAppEnvFile(expectedAppFile, appName)
|
app, err := config.ReadAppEnvFile(ExpectedAppFile, AppName)
|
||||||
if err != nil {
|
if err != nil {
|
||||||
t.Fatal(err)
|
t.Fatal(err)
|
||||||
}
|
}
|
||||||
if !reflect.DeepEqual(app, expectedApp) {
|
if !reflect.DeepEqual(app, ExpectedApp) {
|
||||||
t.Fatalf("did not get expected app type. Expected: %s; Got: %s", app, expectedApp)
|
t.Fatalf("did not get expected app type. Expected: %s; Got: %s", app, ExpectedApp)
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|
||||||
func TestGetApp(t *testing.T) {
|
func TestGetApp(t *testing.T) {
|
||||||
app, err := GetApp(expectedAppFiles, appName)
|
app, err := config.GetApp(ExpectedAppFiles, AppName)
|
||||||
if err != nil {
|
if err != nil {
|
||||||
t.Fatal(err)
|
t.Fatal(err)
|
||||||
}
|
}
|
||||||
if !reflect.DeepEqual(app, expectedApp) {
|
if !reflect.DeepEqual(app, ExpectedApp) {
|
||||||
t.Fatalf("did not get expected app type. Expected: %s; Got: %s", app, expectedApp)
|
t.Fatalf("did not get expected app type. Expected: %s; Got: %s", app, ExpectedApp)
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|
|
@ -1,60 +1,65 @@
|
||||||
package config
|
package config_test
|
||||||
|
|
||||||
import (
|
import (
|
||||||
|
"fmt"
|
||||||
"os"
|
"os"
|
||||||
"path"
|
"path"
|
||||||
"reflect"
|
"reflect"
|
||||||
"strings"
|
"strings"
|
||||||
"testing"
|
"testing"
|
||||||
|
|
||||||
|
"coopcloud.tech/abra/pkg/catalogue"
|
||||||
|
"coopcloud.tech/abra/pkg/config"
|
||||||
|
"coopcloud.tech/abra/pkg/recipe"
|
||||||
)
|
)
|
||||||
|
|
||||||
var testFolder = os.ExpandEnv("$PWD/../../tests/resources/test_folder")
|
var TestFolder = os.ExpandEnv("$PWD/../../tests/resources/test_folder")
|
||||||
var validAbraConf = os.ExpandEnv("$PWD/../../tests/resources/valid_abra_config")
|
var ValidAbraConf = os.ExpandEnv("$PWD/../../tests/resources/valid_abra_config")
|
||||||
|
|
||||||
// make sure these are in alphabetical order
|
// make sure these are in alphabetical order
|
||||||
var tFolders = []string{"folder1", "folder2"}
|
var TFolders = []string{"folder1", "folder2"}
|
||||||
var tFiles = []string{"bar.env", "foo.env"}
|
var TFiles = []string{"bar.env", "foo.env"}
|
||||||
|
|
||||||
var appName = "ecloud"
|
var AppName = "ecloud"
|
||||||
var serverName = "evil.corp"
|
var ServerName = "evil.corp"
|
||||||
|
|
||||||
var expectedAppEnv = AppEnv{
|
var ExpectedAppEnv = config.AppEnv{
|
||||||
"DOMAIN": "ecloud.evil.corp",
|
"DOMAIN": "ecloud.evil.corp",
|
||||||
"RECIPE": "ecloud",
|
"RECIPE": "ecloud",
|
||||||
}
|
}
|
||||||
|
|
||||||
var expectedApp = App{
|
var ExpectedApp = config.App{
|
||||||
Name: appName,
|
Name: AppName,
|
||||||
Recipe: expectedAppEnv["RECIPE"],
|
Recipe: ExpectedAppEnv["RECIPE"],
|
||||||
Domain: expectedAppEnv["DOMAIN"],
|
Domain: ExpectedAppEnv["DOMAIN"],
|
||||||
Env: expectedAppEnv,
|
Env: ExpectedAppEnv,
|
||||||
Path: expectedAppFile.Path,
|
Path: ExpectedAppFile.Path,
|
||||||
Server: expectedAppFile.Server,
|
Server: ExpectedAppFile.Server,
|
||||||
}
|
}
|
||||||
|
|
||||||
var expectedAppFile = AppFile{
|
var ExpectedAppFile = config.AppFile{
|
||||||
Path: path.Join(validAbraConf, "servers", serverName, appName+".env"),
|
Path: path.Join(ValidAbraConf, "servers", ServerName, AppName+".env"),
|
||||||
Server: serverName,
|
Server: ServerName,
|
||||||
}
|
}
|
||||||
|
|
||||||
var expectedAppFiles = map[string]AppFile{
|
var ExpectedAppFiles = map[string]config.AppFile{
|
||||||
appName: expectedAppFile,
|
AppName: ExpectedAppFile,
|
||||||
}
|
}
|
||||||
|
|
||||||
// var expectedServerNames = []string{"evil.corp"}
|
// var expectedServerNames = []string{"evil.corp"}
|
||||||
|
|
||||||
func TestGetAllFoldersInDirectory(t *testing.T) {
|
func TestGetAllFoldersInDirectory(t *testing.T) {
|
||||||
folders, err := GetAllFoldersInDirectory(testFolder)
|
folders, err := config.GetAllFoldersInDirectory(TestFolder)
|
||||||
if err != nil {
|
if err != nil {
|
||||||
t.Fatal(err)
|
t.Fatal(err)
|
||||||
}
|
}
|
||||||
if !reflect.DeepEqual(folders, tFolders) {
|
if !reflect.DeepEqual(folders, TFolders) {
|
||||||
t.Fatalf("did not get expected folders. Expected: (%s), Got: (%s)", strings.Join(tFolders, ","), strings.Join(folders, ","))
|
t.Fatalf("did not get expected folders. Expected: (%s), Got: (%s)", strings.Join(TFolders, ","), strings.Join(folders, ","))
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|
||||||
func TestGetAllFilesInDirectory(t *testing.T) {
|
func TestGetAllFilesInDirectory(t *testing.T) {
|
||||||
files, err := GetAllFilesInDirectory(testFolder)
|
files, err := config.GetAllFilesInDirectory(TestFolder)
|
||||||
if err != nil {
|
if err != nil {
|
||||||
t.Fatal(err)
|
t.Fatal(err)
|
||||||
}
|
}
|
||||||
|
@ -62,21 +67,21 @@ func TestGetAllFilesInDirectory(t *testing.T) {
|
||||||
for _, file := range files {
|
for _, file := range files {
|
||||||
fileNames = append(fileNames, file.Name())
|
fileNames = append(fileNames, file.Name())
|
||||||
}
|
}
|
||||||
if !reflect.DeepEqual(fileNames, tFiles) {
|
if !reflect.DeepEqual(fileNames, TFiles) {
|
||||||
t.Fatalf("did not get expected files. Expected: (%s), Got: (%s)", strings.Join(tFiles, ","), strings.Join(fileNames, ","))
|
t.Fatalf("did not get expected files. Expected: (%s), Got: (%s)", strings.Join(TFiles, ","), strings.Join(fileNames, ","))
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|
||||||
func TestReadEnv(t *testing.T) {
|
func TestReadEnv(t *testing.T) {
|
||||||
env, err := ReadEnv(expectedAppFile.Path)
|
env, err := config.ReadEnv(ExpectedAppFile.Path)
|
||||||
if err != nil {
|
if err != nil {
|
||||||
t.Fatal(err)
|
t.Fatal(err)
|
||||||
}
|
}
|
||||||
if !reflect.DeepEqual(env, expectedAppEnv) {
|
if !reflect.DeepEqual(env, ExpectedAppEnv) {
|
||||||
t.Fatalf(
|
t.Fatalf(
|
||||||
"did not get expected application settings. Expected: DOMAIN=%s RECIPE=%s; Got: DOMAIN=%s RECIPE=%s",
|
"did not get expected application settings. Expected: DOMAIN=%s RECIPE=%s; Got: DOMAIN=%s RECIPE=%s",
|
||||||
expectedAppEnv["DOMAIN"],
|
ExpectedAppEnv["DOMAIN"],
|
||||||
expectedAppEnv["RECIPE"],
|
ExpectedAppEnv["RECIPE"],
|
||||||
env["DOMAIN"],
|
env["DOMAIN"],
|
||||||
env["RECIPE"],
|
env["RECIPE"],
|
||||||
)
|
)
|
||||||
|
|
Loading…
Reference in New Issue