integration/commander.yaml
config:
env:
GOSS_EXE: /../../../release/goss-linux-amd64
# PATH: /usr/bin:/usr/local/bin
tests:
command resource should fail:
config:
dir: ./resources/command
command: ./test_fail.sh
stdout:
contains:
- |-
Command: echo fail: exit-status:
Expected
<int>: 0
to equal
<int>: 1
- "Command: echo hello: stdout: patterns not found: [fail]"
- "Count: 3, Failed: 2, Skipped: 0"
exit-code: 1
command resource should succeed:
config:
dir: ./resources/command
command: ./test_success.sh
stdout: 'Count: 6, Failed: 0, Skipped: 0'
user resource should succeed:
config:
dir: ./resources/user
command: ./test_success.sh
stdout: 'Count: 7, Failed: 0, Skipped: 0'
user resource should fail:
config:
dir: ./resources/user
command: ./test_fail.sh
exit-code: 1
stdout:
contains:
- |-
User: fail: exists:
Expected
<bool>: false
to equal
<bool>: true
- |-
User: root: uid:
Expected
<int>: 0
to equal
<int>: 100
- |-
User: root: gid:
Expected
<int>: 0
to equal
<int>: 100
- |-
User: root: groups:
Expected
<[]string | len:1, cap:1>: ["root"]
to contain element matching
<string>: none
- |-
User: root: shell:
Expected
<string>: /bin/bash
to equal
<string>: /bin/false
addr resource should succedd:
config:
dir: ./resources/addr
command: ./test_success.sh
stdout: "Count: 2, Failed: 0, Skipped: 0"
addr resource should fail:
config:
dir: ./resources/addr
command: ./test_fail.sh
exit-code: 1
stdout:
contains:
- |-
Addr: tcp://localhost:80: reachable:
Expected
<bool>: true
to equal
<bool>: false
- |-
Addr: tcp://99.99.99.99:999: reachable:
Expected
<bool>: false
to equal
<bool>: true
- "Count: 2, Failed: 2, Skipped: 0"
group resource should succeed:
config:
dir: ./resources/group
command: ./test_success.sh
stdout: "Count: 5, Failed: 0, Skipped: 0"
group resource should fail:
config:
dir: ./resources/group
command: ./test_fail.sh
exit-code: 1
stdout:
contains:
- |-
Group: root: exists:
Expected
<bool>: true
to equal
<bool>: false
- |-
Group: root: gid:
Expected
<int>: 0
to equal
<int>: 1
- |-
Group: test: gid:
Expected
<int>: 1000
to equal
<int>: 9999
- "Count: 4, Failed: 3, Skipped: 0"
interface resource should succeed:
config:
dir: ./resources/interface
command: ./test_success.sh
stdout: "Count: 6, Failed: 0, Skipped: 0"
interface resource should fail:
config:
dir: ./resources/interface
command: ./test_fail.sh
exit-code: 1
stdout:
contains:
- |-
Interface: lo: exists:
Expected
<bool>: true
to equal
<bool>: false
- |-
Interface: lo: mtu:
Expected
<int>: 65536
to equal
<int>: 9999
- |-
Interface: eth0: addrs:
Expected
<[]string | len:1, cap:1>: ["172.22.11.100/16"]
to contain element matching
<string>: 192.168.0.0/16
- "Count: 5, Failed: 3, Skipped: 0"
port resource should succeed:
config:
dir: ./resources/port
command: ./test_success.sh
stdout: "Count: 3, Failed: 0, Skipped: 0"
port resource should fail:
config:
dir: ./resources/port
command: ./test_fail.sh
exit-code: 1
stdout:
contains:
- |-
Port: tcp:80: listening:
Expected
<bool>: true
to equal
<bool>: false
- |-
Port: tcp:80: ip:
Expected
<[]string | len:1, cap:1>: ["0.0.0.0"]
to contain element matching
<string>: 192.168.10.10
- |-
Port: tcp:9999: listening:
Expected
<bool>: false
to equal
<bool>: true
- |-
Port: tcp:9999: ip: skipped
- "Count: 4, Failed: 3, Skipped: 1"
process resource should succeed:
config:
dir: ./resources/process
command: ./test_success.sh
stdout: "Count: 2, Failed: 0, Skipped: 0"
process resource should fail:
config:
dir: ./resources/process
command: ./test_fail.sh
exit-code: 1
stdout:
contains:
- |-
Process: goss: running:
Expected
<bool>: true
to equal
<bool>: false
- |-
Process: not: running:
Expected
<bool>: false
to equal
<bool>: true
- "Count: 2, Failed: 2, Skipped: 0"
file resource should succeed:
config:
dir: ./resources/file
command: ./test_success.sh
stdout: "Count: 14, Failed: 0, Skipped: 0"
file resource should fail:
config:
dir: ./resources/file
command: ./test_fail.sh
exit-code: 1
stdout:
contains:
- |-
File: /tmp/not-existing.txt: exists:
Expected
<bool>: false
to equal
<bool>: true
- |-
File: /tmp/directory: exists:
Expected
<bool>: true
to equal
<bool>: false
- |-
File: /tmp/symlink.txt: filetype:
Expected
<string>: symlink
to equal
<string>: directory
- |-
File: /tmp/test-file.txt: mode:
Expected
<string>: 0644
to equal
<string>: 0777
- |-
File: /tmp/test-file.txt: owner:
Expected
<string>: root
to equal
<string>: test
- |-
File: /tmp/test-file.txt: group:
Expected
<string>: root
to equal
<string>: test
- "File: /tmp/test-file.txt: contains: patterns not found: [no content]"
- |-
File: /tmp/test-file.txt: size:
Expected
<int>: 13
to equal
<int>: 2000
- |-
File: /tmp/test-file.txt: md5:
Expected
<string>: d6eb32081c822ed572b70567826d9d9d
to equal
<string>: 99999999999999999999999999999999
- |-
File: /tmp/test-file.txt: sha256:
Expected
<string>: a1fff0ffefb9eace7230c24e50731f0a91c62f9cefdfe77121c2f607125dffae
to equal
<string>: 9999999999999999999999999999999999999999999999999999999999999999
- "Count: 13, Failed: 11, Skipped: 0"
gossfile resource should succeed:
config:
dir: ./resources/gossfile
command: ./test_success.sh
stdout: "Count: 3, Failed: 0, Skipped: 0"
gossfile resource should fail:
config:
dir: ./resources/gossfile
command: ./test_fail.sh
exit-code: 1
stdout: "No matched files were found: \"/app/*none\""
package resource should succeed on centos:
config:
dir: ./resources/package
command: ./test.sh centos goss.yaml
stdout:
contains:
- "IMAGE: centos:7"
- "Count: 2, Failed: 0, Skipped: 0"
package resource should fail on centos:
config:
dir: ./resources/package
command: ./test.sh centos goss_fail.yaml
exit-code: 1
stdout:
contains:
- "IMAGE: centos:7"
- |-
Package: python: version:
Expected
<[]string | len:1, cap:1>: ["2.7.5"]
to contain element matching
<string>: 100.0.0
- |-
Package: not-exists: installed:
Expected
<bool>: false
to equal
<bool>: true
- "Count: 3, Failed: 2, Skipped: 0"
package resource should succeed on alpine:
config:
dir: ./resources/package
command: ./test.sh alpine goss.yaml
stdout:
contains:
- "IMAGE: alpine:3.9"
- "Count: 2, Failed: 0, Skipped: 0"
package resource should fail on alpine:
config:
dir: ./resources/package
command: ./test.sh alpine goss_fail.yaml
exit-code: 1
stdout:
contains:
- "IMAGE: alpine:3.9"
- |-
Package: busybox: version:
Expected
<[]string | len:1, cap:1>: ["1.29.3-r10"]
to contain element matching
<string>: 100.0.0
- |-
Package: zlib: installed:
Expected
<bool>: true
to equal
<bool>: false
- |-
Package: not exist: installed:
Expected
<bool>: false
to equal
<bool>: true
- "Count: 4, Failed: 3, Skipped: 0"
package resource should succeed on ubuntu:
config:
dir: ./resources/package
command: ./test.sh ubuntu goss.yaml
stdout:
contains:
- "IMAGE: ubuntu:18.04"
- "Count: 3, Failed: 0, Skipped: 0"
package resource should fail on ubuntu:
config:
dir: ./resources/package
command: ./test.sh ubuntu goss_fail.yaml
exit-code: 1
stdout:
contains:
- "IMAGE: ubuntu:18.04"
- |-
Package: apt: version:
Expected
<[]string | len:1, cap:1>: ["1.6.11"]
to contain element matching
<string>: 100.0.0
- |-
Package: no exists: installed:
Expected
<bool>: false
to equal
<bool>: true
- "Count: 3, Failed: 2, Skipped: 0"
matching resource should succeed:
config:
dir: ./resources/matching
command: ./test_success.sh
stdout: "Count: 6, Failed: 0, Skipped: 0"
matching resource should fail:
config:
dir: ./resources/matching
command: ./test_fail.sh
exit-code: 1
stdout:
contains:
- |-
Matching: check_failure_count_from_all_instance: matches:
Expected
<int>: 0
to equal
<int>: 3
- |-
Matching: check_instance_count: matches:
Expected
<int>: 14
to be >
<int>: 15
- |-
Matching: check_status: matches:
Expected
<string>: SUCCESS
not to equal
<string>: SUCCESS
- "Count: 3, Failed: 3, Skipped: 0"
kernel-param resource should succeed:
config:
dir: ./resources/kernel-param
command: ./test_success.sh
stdout: "Count: 1, Failed: 0, Skipped: 0"
kernel-param resouce should fail:
config:
dir: ./resources/kernel-param
command: ./test_fail.sh
exit-code: 1
stdout:
contains:
- |-
KernelParam: kernel.ostype: value:
Expected
<string>: Linux
to equal
<string>: Windows
- "Count: 1, Failed: 1, Skipped: 0"
mount resource should succeed:
config:
dir: ./resources/mount
command: ./test_success.sh
stdout: "Count: 7, Failed: 0, Skipped: 0"
mount resource should fail:
config:
dir: ./resources/mount
command: ./test_fail.sh
exit-code: 1
stdout:
contains:
- |-
Mount: /proc/bus: exists:
Expected
<bool>: true
to equal
<bool>: false
- |-
Mount: /dev: source:
Expected
<string>: tmpfs
to equal
<string>: proc
- |-
Mount: /dev: filesystem:
Expected
<string>: tmpfs
to equal
<string>: proc
- "Count: 4, Failed: 3, Skipped: 0"
service resource should succeed:
config:
dir: ./resources/service
command: ./test.sh centos goss.yaml
stdout: "Count: 6, Failed: 0, Skipped: 0"
service resource should fail:
config:
dir: ./resources/service
command: ./test.sh centos goss_fail.yaml
exit-code: 1
stdout:
contains:
- |-
Service: httpd: running:
Expected
<bool>: true
to equal
<bool>: false
- |-
Service: multiuser.target: enabled:
Expected
<bool>: false
to equal
<bool>: true
- "Count: 4, Failed: 2, Skipped: 0"
dns resource should succeed:
config:
dir: ./resources/dns
timeout: 2m
env:
PATH: /usr/local/bin:/usr/bin
command: ./test_success.sh
stdout: "Count: 12, Failed: 0, Skipped: 0"
http resource should succeed:
config:
dir: ./resources/http
command: ./test_success.sh
stdout: "Count: 10, Failed: 0, Skipped: 0"
http resource should fail:
config:
dir: ./resources/http
command: ./test_fail.sh
exit-code: 1
stdout:
contains:
- |-
HTTP: http://localhost:80/not_found.php: status:
Expected
<int>: 404
to equal
<int>: 500
- |-
HTTP: http://localhost:80/header_send.php: Headers:
Did not find header Does not exist got
- |-
HTTP: http://localhost:80/body.php: Body: patterns not found: [Not existing]
- "Count: 5, Failed: 3, Skipped: 0"