forked from toolshed/abra
@ -114,3 +114,73 @@ func TestReadAbraShEnvVars(t *testing.T) {
|
||||
t.Error("OUTER_FOO should be exported")
|
||||
}
|
||||
}
|
||||
|
||||
func TestCheckEnv(t *testing.T) {
|
||||
offline := true
|
||||
r, err := recipe.Get("abra-test-recipe", offline)
|
||||
if err != nil {
|
||||
t.Fatal(err)
|
||||
}
|
||||
|
||||
envSamplePath := path.Join(config.RECIPES_DIR, r.Name, ".env.sample")
|
||||
envSample, err := config.ReadEnv(envSamplePath)
|
||||
if err != nil {
|
||||
t.Fatal(err)
|
||||
}
|
||||
|
||||
app := config.App{
|
||||
Name: "test-app",
|
||||
Recipe: r.Name,
|
||||
Domain: "example.com",
|
||||
Env: envSample,
|
||||
Path: "example.com.env",
|
||||
Server: "example.com",
|
||||
}
|
||||
|
||||
envVars, err := config.CheckEnv(app)
|
||||
if err != nil {
|
||||
t.Fatal(err)
|
||||
}
|
||||
|
||||
for _, envVar := range envVars {
|
||||
if !envVar.Present {
|
||||
t.Fatalf("%s should be present", envVar.Name)
|
||||
}
|
||||
}
|
||||
}
|
||||
|
||||
func TestCheckEnvError(t *testing.T) {
|
||||
offline := true
|
||||
r, err := recipe.Get("abra-test-recipe", offline)
|
||||
if err != nil {
|
||||
t.Fatal(err)
|
||||
}
|
||||
|
||||
envSamplePath := path.Join(config.RECIPES_DIR, r.Name, ".env.sample")
|
||||
envSample, err := config.ReadEnv(envSamplePath)
|
||||
if err != nil {
|
||||
t.Fatal(err)
|
||||
}
|
||||
|
||||
delete(envSample, "DOMAIN")
|
||||
|
||||
app := config.App{
|
||||
Name: "test-app",
|
||||
Recipe: r.Name,
|
||||
Domain: "example.com",
|
||||
Env: envSample,
|
||||
Path: "example.com.env",
|
||||
Server: "example.com",
|
||||
}
|
||||
|
||||
envVars, err := config.CheckEnv(app)
|
||||
if err != nil {
|
||||
t.Fatal(err)
|
||||
}
|
||||
|
||||
for _, envVar := range envVars {
|
||||
if envVar.Name == "DOMAIN" && envVar.Present {
|
||||
t.Fatalf("%s should not be present", envVar.Name)
|
||||
}
|
||||
}
|
||||
}
|
||||
|
Reference in New Issue
Block a user