aboutsummaryrefslogtreecommitdiffstats
path: root/test/security
diff options
context:
space:
mode:
authorPawel Wieczorek <p.wieczorek2@samsung.com>2019-09-30 14:39:32 +0200
committerPawel Wieczorek <p.wieczorek2@samsung.com>2019-09-30 15:31:13 +0200
commit752f7fe7d6674624417a4f97a10e6acc7a3abe90 (patch)
treeee66d28f2befc9d29c9d64acc69c45e8647a5ae8 /test/security
parent155417479ebc5c531349dd898b96ef4a819b0f0a (diff)
k8s: Resolve Docker response formatting issue
Checker collects information on cluster by Docker queries: $ docker ps ARGS... # Casablanca $ docker inspect ARGS... # Dublin Arrays of values are then filtered from those. They include: * opening bracket ('['), * closing bracket (']'), * new line. Additional characters affect check results if last flag (including "]\n") requires specific value. Issue-ID: SECCOM-235 Change-Id: I6838342b7e2ecdc44a47ffe02286266003e0b4d3 Signed-off-by: Pawel Wieczorek <p.wieczorek2@samsung.com>
Diffstat (limited to 'test/security')
-rw-r--r--test/security/k8s/src/check/rancher/rancher.go9
-rw-r--r--test/security/k8s/src/check/raw/raw.go9
2 files changed, 18 insertions, 0 deletions
diff --git a/test/security/k8s/src/check/rancher/rancher.go b/test/security/k8s/src/check/rancher/rancher.go
index 842fd3ff6..b5e382221 100644
--- a/test/security/k8s/src/check/rancher/rancher.go
+++ b/test/security/k8s/src/check/rancher/rancher.go
@@ -58,6 +58,7 @@ func getProcessParams(process check.Command, service check.Service) ([]string, e
return []string{}, err
}
+ cmd = trimOutput(cmd) // TODO: improve `docker ps` query format.
if len(cmd) > 0 {
i := bytes.Index(cmd, []byte(process.String()))
if i == -1 {
@@ -99,6 +100,14 @@ func getPsCmdOutput(host string, service check.Service) ([]byte, error) {
return out, nil
}
+// trimOutput removes trailing new line and brackets from output.
+func trimOutput(b []byte) []byte {
+ b = bytes.TrimSpace(b)
+ b = bytes.TrimPrefix(b, []byte("["))
+ b = bytes.TrimSuffix(b, []byte("]"))
+ return b
+}
+
// btos converts slice of bytes to slice of strings split by white space characters.
func btos(in []byte) []string {
var out []string
diff --git a/test/security/k8s/src/check/raw/raw.go b/test/security/k8s/src/check/raw/raw.go
index 04a6fa554..555115950 100644
--- a/test/security/k8s/src/check/raw/raw.go
+++ b/test/security/k8s/src/check/raw/raw.go
@@ -59,6 +59,7 @@ func getProcessParams(process check.Command) ([]string, error) {
return []string{}, err
}
+ cmd = trimOutput(cmd) // TODO: improve `docker inspect` query format.
if len(cmd) > 0 {
i := bytes.Index(cmd, []byte(process.String()))
if i == -1 {
@@ -158,6 +159,14 @@ func runCommand(cmd string, conn *ssh.Client) ([]byte, error) {
return out, nil
}
+// trimOutput removes trailing new line and brackets from output.
+func trimOutput(b []byte) []byte {
+ b = bytes.TrimSpace(b)
+ b = bytes.TrimPrefix(b, []byte("["))
+ b = bytes.TrimSuffix(b, []byte("]"))
+ return b
+}
+
// btos converts slice of bytes to slice of strings split by white space characters.
func btos(in []byte) []string {
var out []string