forked from coop-cloud/abra
tests: around 60% code coverage for config package
This commit is contained in:
parent
cfe2f70151
commit
a60ebf8710
|
@ -75,6 +75,8 @@ func GetApp(apps AppFiles, name AppName) (App, error) {
|
||||||
return app, nil
|
return app, nil
|
||||||
}
|
}
|
||||||
|
|
||||||
|
// TODO: maybe better names than read and get
|
||||||
|
|
||||||
func readAppFile(appFile AppFile, name AppName) (App, error) {
|
func readAppFile(appFile AppFile, name AppName) (App, error) {
|
||||||
env, err := readEnv(appFile.Path)
|
env, err := readEnv(appFile.Path)
|
||||||
if err != nil {
|
if err != nil {
|
||||||
|
|
|
@ -0,0 +1,113 @@
|
||||||
|
package config
|
||||||
|
|
||||||
|
import (
|
||||||
|
"os"
|
||||||
|
"path"
|
||||||
|
"reflect"
|
||||||
|
"strings"
|
||||||
|
"testing"
|
||||||
|
)
|
||||||
|
|
||||||
|
var testFolder = os.ExpandEnv("$PWD/../tests/resources/test_folder")
|
||||||
|
var validAbraConf = os.ExpandEnv("$PWD/../tests/resources/valid_abra_config")
|
||||||
|
|
||||||
|
// make sure these are in alphabetical order
|
||||||
|
var tFolders = []string{"folder1", "folder2"}
|
||||||
|
var tFiles = []string{"bar", "foo"}
|
||||||
|
|
||||||
|
var appName = "ecloud"
|
||||||
|
var serverName = "evil.corp"
|
||||||
|
|
||||||
|
var expectedAppEnv = AppEnv{
|
||||||
|
"DOMAIN": "ecloud.evil.corp",
|
||||||
|
"TYPE": "ecloud",
|
||||||
|
}
|
||||||
|
|
||||||
|
var expectedApp = App{
|
||||||
|
Name: appName,
|
||||||
|
Type: expectedAppEnv["TYPE"],
|
||||||
|
Domain: expectedAppEnv["DOMAIN"],
|
||||||
|
Env: expectedAppEnv,
|
||||||
|
}
|
||||||
|
|
||||||
|
var expectedAppFile = AppFile{
|
||||||
|
Path: path.Join(validAbraConf, "servers", serverName, appName+".env"),
|
||||||
|
Server: serverName,
|
||||||
|
}
|
||||||
|
|
||||||
|
var expectedAppFiles = map[string]AppFile{
|
||||||
|
appName: expectedAppFile,
|
||||||
|
}
|
||||||
|
|
||||||
|
// var expectedServerNames = []string{"evil.corp"}
|
||||||
|
|
||||||
|
func TestGetAllFoldersInDirectory(t *testing.T) {
|
||||||
|
folders, err := getAllFoldersInDirectory(testFolder)
|
||||||
|
if err != nil {
|
||||||
|
t.Fatal(err)
|
||||||
|
}
|
||||||
|
if !reflect.DeepEqual(folders, tFolders) {
|
||||||
|
t.Fatalf("did not get expected folders. Expected: (%s), Got: (%s)", strings.Join(tFolders, ","), strings.Join(folders, ","))
|
||||||
|
}
|
||||||
|
}
|
||||||
|
|
||||||
|
func TestGetAllFilesInDirectory(t *testing.T) {
|
||||||
|
files, err := getAllFilesInDirectory(testFolder)
|
||||||
|
if err != nil {
|
||||||
|
t.Fatal(err)
|
||||||
|
}
|
||||||
|
var fileNames []string
|
||||||
|
for _, file := range files {
|
||||||
|
fileNames = append(fileNames, file.Name())
|
||||||
|
}
|
||||||
|
if !reflect.DeepEqual(fileNames, tFiles) {
|
||||||
|
t.Fatalf("did not get expected files. Expected: (%s), Got: (%s)", strings.Join(tFiles, ","), strings.Join(fileNames, ","))
|
||||||
|
}
|
||||||
|
}
|
||||||
|
|
||||||
|
func TestReadEnv(t *testing.T) {
|
||||||
|
env, err := readEnv(expectedAppFile.Path)
|
||||||
|
if err != nil {
|
||||||
|
t.Fatal(err)
|
||||||
|
}
|
||||||
|
if !reflect.DeepEqual(env, expectedAppEnv) {
|
||||||
|
t.Fatalf(
|
||||||
|
"did not get expected application settings. Expected: DOMAIN=%s TYPE=%s; Got: DOMAIN=%s TYPE=%s",
|
||||||
|
expectedAppEnv["DOMAIN"],
|
||||||
|
expectedAppEnv["TYPE"],
|
||||||
|
env["DOMAIN"],
|
||||||
|
env["TYPE"],
|
||||||
|
)
|
||||||
|
}
|
||||||
|
}
|
||||||
|
|
||||||
|
func TestMakeApp(t *testing.T) {
|
||||||
|
app, err := makeApp(expectedAppEnv, appName)
|
||||||
|
if err != nil {
|
||||||
|
t.Fatal(err)
|
||||||
|
}
|
||||||
|
if !reflect.DeepEqual(app, expectedApp) {
|
||||||
|
t.Fatalf("did not get expected app type. Expected: %s; Got: %s", app, expectedApp)
|
||||||
|
}
|
||||||
|
}
|
||||||
|
|
||||||
|
func TestReadAppFile(t *testing.T) {
|
||||||
|
app, err := readAppFile(expectedAppFile, appName)
|
||||||
|
if err != nil {
|
||||||
|
t.Fatal(err)
|
||||||
|
}
|
||||||
|
if !reflect.DeepEqual(app, expectedApp) {
|
||||||
|
t.Fatalf("did not get expected app type. Expected: %s; Got: %s", app, expectedApp)
|
||||||
|
}
|
||||||
|
}
|
||||||
|
|
||||||
|
func TestGetApp(t *testing.T) {
|
||||||
|
// TODO: Test failures as well as successes
|
||||||
|
app, err := GetApp(expectedAppFiles, appName)
|
||||||
|
if err != nil {
|
||||||
|
t.Fatal(err)
|
||||||
|
}
|
||||||
|
if !reflect.DeepEqual(app, expectedApp) {
|
||||||
|
t.Fatalf("did not get expected app type. Expected: %s; Got: %s", app, expectedApp)
|
||||||
|
}
|
||||||
|
}
|
|
@ -0,0 +1,5 @@
|
||||||
|
--------- readme.txt---------
|
||||||
|
|
||||||
|
LEAVE ME HERE
|
||||||
|
|
||||||
|
-----------------------------
|
|
@ -0,0 +1,2 @@
|
||||||
|
TYPE=ecloud
|
||||||
|
DOMAIN=ecloud.evil.corp
|
Loading…
Reference in New Issue