From dfd4f31b0074de20e5380a544418a875cb795a05 Mon Sep 17 00:00:00 2001
From: bryanl <bryanliles@gmail.com>
Date: Sat, 10 Mar 2018 09:45:41 -0500
Subject: [PATCH] update app env with no k8s spec flag

when updating an app env with no k8s spec flag,
don't attempt to check the lib path

Signed-off-by: bryanl <bryanliles@gmail.com>
---
 metadata/app/app010.go      | 12 +++++++-----
 metadata/app/app010_test.go | 29 +++++++++++++++++++++++++++++
 2 files changed, 36 insertions(+), 5 deletions(-)

diff --git a/metadata/app/app010.go b/metadata/app/app010.go
index a6fb27ae..3d98a2d4 100644
--- a/metadata/app/app010.go
+++ b/metadata/app/app010.go
@@ -92,12 +92,14 @@ func (a *App010) AddEnvironment(name, k8sSpecFlag string, spec *EnvironmentSpec)
 
 	a.spec.Environments[name] = spec
 
-	ver, err := LibUpdater(a.fs, k8sSpecFlag, app010LibPath(a.root), true)
-	if err != nil {
-		return err
-	}
+	if k8sSpecFlag != "" {
+		ver, err := LibUpdater(a.fs, k8sSpecFlag, app010LibPath(a.root), true)
+		if err != nil {
+			return err
+		}
 
-	a.spec.Environments[name].KubernetesVersion = ver
+		a.spec.Environments[name].KubernetesVersion = ver
+	}
 
 	return a.save()
 }
diff --git a/metadata/app/app010_test.go b/metadata/app/app010_test.go
index 8451ffeb..89e33445 100644
--- a/metadata/app/app010_test.go
+++ b/metadata/app/app010_test.go
@@ -194,6 +194,35 @@ func TestApp010_AddEnvironment(t *testing.T) {
 	})
 }
 
+func TestApp010_AddEnvironment_empty_spec_flag(t *testing.T) {
+	withApp010Fs(t, "app010_app.yaml", func(fs afero.Fs) {
+		app, err := NewApp010(fs, "/")
+		require.NoError(t, err)
+
+		envs, err := app.Environments()
+		require.NoError(t, err)
+
+		envLen := len(envs)
+
+		env, err := app.Environment("default")
+		require.NoError(t, err)
+
+		env.Destination.Namespace = "updated"
+
+		err = app.AddEnvironment("default", "", env)
+		require.NoError(t, err)
+
+		envs, err = app.Environments()
+		require.NoError(t, err)
+		require.Len(t, envs, envLen)
+
+		env, err = app.Environment("default")
+		require.NoError(t, err)
+		require.Equal(t, "v1.7.0", env.KubernetesVersion)
+		require.Equal(t, "updated", env.Destination.Namespace)
+	})
+}
+
 func TestApp010_RemoveEnvironment(t *testing.T) {
 	withApp010Fs(t, "app010_app.yaml", func(fs afero.Fs) {
 		app, err := NewApp010(fs, "/")
-- 
GitLab