Created
July 23, 2021 19:01
-
-
Save sbeliakou/fe6658cc441c4e58ea9abf8d0f37bb8c to your computer and use it in GitHub Desktop.
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
# go run checkup.go -c ansible/day2/tests/webapp-server.yml -w homeworks/day2 | |
name: 3.1 Working with Filters | |
cases: | |
- global_env: | |
ANSIBLE_TRANSPORT: docker | |
ANSIBLE_FORCE_COLOR: True | |
ANSIBLE_TRANSPORT: local | |
SERVER: remotevm | |
- case: "playbook linter (ansible-lint filters.yml)" | |
script: | | |
grep '\.\.\.' filters.yml && exit 1 || echo | |
ansible-lint filters.yml | |
- case: "playbook syntax check" | |
script: | | |
grep '\.\.\.' filters.yml && exit 1 || echo | |
ansible-playbook filters.yml -i remotevm, -v --syntax-check | |
- case: playbook works | |
script: | | |
grep '\.\.\.' filters.yml && exit 1 || echo | |
export ANSIBLE_STDOUT_CALLBACK=default | |
run ansible-playbook filters.yml -i remotevm, -v -c local | |
assert_success | |
assert_output --partial "unreachable=0" | |
assert_output --partial "failed=0" | |
weight: 14 | |
- case: random_value is ok | |
script: | | |
grep '\.\.\.' filters.yml && exit 1 || echo | |
egrep 'random_value: "\{\{' filters.yml | grep -w 100 | grep '[|] *random *+ *1' | |
egrep --color 'random_value.* *<= *100' filters.yml | egrep '[|] *int' | |
egrep --color 'random_value.* *>= *1' filters.yml | egrep '[|] *int' | |
- case: Task 'Should be "mickey mouse"' | |
script: | | |
grep '\.\.\.' filters.yml && exit 1 || echo | |
msg=$(cat filters.yml | yq e -j - | jq -r '.[] | .tasks[] | select(.name == "Should be \"mickey mouse\"") | .debug') | |
ansible localhost -c local -m debug -e 'student_name="Willie Miller"' -a "$msg" | grep '"msg": "willie miller"' | |
- case: Task 'Should be "Name - Mickey, Surname - Mouse"' | |
script: | | |
grep '\.\.\.' filters.yml && exit 1 || echo | |
msg=$(cat filters.yml | yq e -j - | jq -r '.[] | .tasks[] | select(.name == "Should be \"Name - Mickey, Surname - Mouse\"") | .debug') | |
ansible localhost -c local -m debug -e 'student_name="Willie Miller"' -a "$msg" | grep '"msg": "Name - Willie, Surname - Miller"' | |
- case: Task 'Should be "Mickey MOUSE"' | |
script: | | |
grep '\.\.\.' filters.yml && exit 1 || echo | |
msg=$(cat filters.yml | yq e -j - | jq -r '.[] | .tasks[] | select(.name == "Should be \"Mickey MOUSE\"") | .debug') | |
ansible localhost -c local -m debug -e 'student_name="Willie Miller"' -a "$msg" | grep '"msg": "Willie MILLER"' | |
- case: Task 'Should be "Minnie Mouse"' | |
script: | | |
grep '\.\.\.' filters.yml && exit 1 || echo | |
msg=$(cat filters.yml | yq e -j - | jq -r '.[] | .tasks[] | select(.name == "Should be \"Minnie Mouse\"") | .debug') | |
ansible localhost -c local -m debug -e 'student_name="Mickey Mouse"' -a "$msg" | grep '"msg": "Minnie Mouse"' | |
- case: Task 'Save profile variable in Json file (one line)' | |
script: | | |
grep '\.\.\.' filters.yml && exit 1 || echo | |
cat profile.json | jq && | |
wc -l profile.json | egrep -w '[01]' | |
- case: Task 'Save profile variable in Json file (multiple lines, indentation)' | |
script: | | |
grep '\.\.\.' filters.yml && exit 1 || echo | |
jq . profile_pretty.json && | |
cat profile_pretty.json | wc -l | awk '$1 >= 5{print "OK"}' | grep -w OK | |
- case: Task 'Should be in Json format (multiple lines, indentation)' | |
script: | | |
grep '\.\.\.' filters.yml && exit 1 || echo | |
cat filters.yml | yq e -j - | jq -r '.[] | .tasks[] | select(.name == "Should be in Json format (multiple lines, indentation)") | .debug' | egrep -w 'to_nice_json' | |
- case: Task 'Create dict variable from string value' | |
script: | | |
grep '\.\.\.' filters.yml && exit 1 || echo | |
cat filters.yml | yq e -j - | jq -r '.[] | .tasks[] | select(.name == "Create dict variable from string value") | .set_fact' | | |
grep -w string_value.msg | egrep '[|] *from_json' | |
- case: Task 'Testcase with assert module that just_created_varaible variable corresponds to profile origin' | |
script: | | |
grep '\.\.\.' filters.yml && exit 1 || echo | |
egrep 'just_created_variable.firstname == "{{' filters.yml | grep profile.firstname && | |
egrep 'just_created_variable.lastname == "{{' filters.yml | grep profile.lastname && | |
egrep 'just_created_variable.age == {{' filters.yml | grep profile.age | |
- case: Task 'Encode with base64 sensitive data' | |
script: | | |
grep '\.\.\.' filters.yml && exit 1 || echo | |
cat filters.yml | yq e -j - | jq -r '.[] | .tasks[] | select(.name == "Encode with base64 sensitive data") | .debug' | | |
grep -w b64encode | |
- case: Task 'Decode Base64 encoded string' | |
script: | | |
grep '\.\.\.' filters.yml && exit 1 || echo | |
cat filters.yml | yq e -j - | jq -r '.[] | .tasks[] | select(.name == "Decode Base64 encoded string") | .debug' | | |
grep -w b64decode |
Sign up for free
to join this conversation on GitHub.
Already have an account?
Sign in to comment