From 38264e82c555d8581f6a6d41dec0525f2eeab163 Mon Sep 17 00:00:00 2001
From: Guillem Jover <gjover@sipwise.com>
Date: Mon, 10 Feb 2020 17:12:17 +0100
Subject: [PATCH] TT#56053 Switch from environment variables to a goss
 variables file

The semantics of the environment variables are different, as they are
always considered strings. The variables file makes it possible to
specify types, given that it's a yaml file. So the SKIP variables
will now be proper booleans.

Change-Id: Ibbc02c047fd743b8bff9a9da52cffd76db5d7524
---
 ngcp-system-tests                       | 12 ++++++++----
 templates/800_network-hostname.yaml.tt2 |  2 +-
 templates/goss.yaml.tt2                 |  2 +-
 3 files changed, 10 insertions(+), 6 deletions(-)

diff --git a/ngcp-system-tests b/ngcp-system-tests
index f7ac9ba..86459a7 100755
--- a/ngcp-system-tests
+++ b/ngcp-system-tests
@@ -83,12 +83,16 @@ case "${NGCP_TESTS_MODE}" in
     esac
     export DEBIAN_RELEASE
 
-    # We need to export these, so that goss sees existent variables.
-    export SKIP_DNS_CHECK_TEST=${SKIP_DNS_CHECK_TEST:-false}
-    export SKIP_STRICT_HOSTNAME_TEST=${SKIP_STRICT_HOSTNAME_TEST:-false}
+    VARS=$(mktemp --tmpdir ngcp-system-tests.XXXXXXXXXX.yaml)
+    trap 'rm -f "${VARS}"' EXIT
+    cat >"${VARS}" <<-EOF
+SKIP_DNS_CHECK_TEST: ${SKIP_DNS_CHECK_TEST:-false}
+SKIP_STRICT_HOSTNAME_TEST: ${SKIP_STRICT_HOSTNAME_TEST:-false}
+EOF
 
     PLAN='/etc/ngcp-system-tests/goss.yaml'
 
-    goss -g "${PLAN}" validate --format "${NGCP_TESTS_MODE}"
+    goss --gossfile "${PLAN}" --vars "${VARS}" \
+      validate --format "${NGCP_TESTS_MODE}"
     ;;
 esac
diff --git a/templates/800_network-hostname.yaml.tt2 b/templates/800_network-hostname.yaml.tt2
index 2ec0ee0..7377eec 100644
--- a/templates/800_network-hostname.yaml.tt2
+++ b/templates/800_network-hostname.yaml.tt2
@@ -15,7 +15,7 @@ command:
   hostname:
     exit-status: 0
 
-{{if ne .Env.SKIP_STRICT_HOSTNAME_TEST "true"}}
+{{if .Vars.SKIP_STRICT_HOSTNAME_TEST}}
   hostname:
     exit-status: 0
     stdout:
diff --git a/templates/goss.yaml.tt2 b/templates/goss.yaml.tt2
index 6010121..6ef0ce4 100644
--- a/templates/goss.yaml.tt2
+++ b/templates/goss.yaml.tt2
@@ -22,7 +22,7 @@ gossfile:
   610_kernel-sysctl-params.yaml: {}
   615_kernel-modules.yaml: {}
   800_network-hostname.yaml: {}
-{{if ne .Env.SKIP_DNS_CHECK_TEST "true"}}
+{{if .Vars.SKIP_DNS_CHECK_TEST}}
   810_network-dns-debian.yaml: {}
 [%   IF general.ngcp_type == 'spce' -%]
   811_network-dns-ngcp-ce.yaml: {}