Skip to content

Commit

Permalink
feat(test): rules and tags pragmas
Browse files Browse the repository at this point in the history
  • Loading branch information
ssube committed Jul 1, 2019
1 parent 0c7d442 commit cce8671
Show file tree
Hide file tree
Showing 2 changed files with 20 additions and 3 deletions.
2 changes: 2 additions & 0 deletions examples/kubernetes-resources-high.yml
@@ -1,3 +1,5 @@
# test rules kubernetes
# test tags kubernetes
# test exit-status 0

metadata:
Expand Down
21 changes: 18 additions & 3 deletions scripts/test-examples.sh
Expand Up @@ -3,17 +3,32 @@ EXAMPLES="$(find examples -name '*.yml')"

while read -r example;
do
echo "Testing: ${example}"

USE_RULES="$(grep '# test rules' "${example}" | sed 's/# test rules \(.*\)/\1/')"
[[ -z "${USE_RULES}" ]] && echo "Test example must have '# test rules' pragma" && exit 1

USE_TAGS="$(grep '# test tags' "${example}" | sed 's/# test tags \(.*\)/\1/')"
[[ -z "${USE_TAGS}" ]] && echo "Test example must have '# test tags' pragma" && exit 1

EXPECTED_ERRORS="$(grep '# test error-count' "${example}" | sed 's/# test error-count \([0-9]*\)/\1/')"
[[ -z "${EXPECTED_ERRORS}" ]] && EXPECTED_ERRORS=0

EXPECTED_STATUS="$(grep '# test exit-status' "${example}" | sed 's/# test exit-status \([0-9]*\)/\1/')"
[[ -z "${EXPECTED_STATUS}" ]] && EXPECTED_STATUS=0

echo "Testing: ${example} (should be ${EXPECTED_STATUS})"
echo "Using rules: ${USE_RULES}"
echo "Using tags: ${USE_TAGS}"
echo "Expected errors: ${EXPECTED_ERRORS}"
echo "Expected status: ${EXPECTED_STATUS}"

node out/index.js --rules rules/kubernetes.yml --tag kubernetes --source ${example}
node out/index.js --rules rules/${USE_RULES}.yml --tag ${USE_TAGS} --source ${example}

ACTUAL_STATUS=$?

if [[ ${ACTUAL_STATUS} != ${EXPECTED_STATUS} ]];
then
echo "Status does not match!"
echo "Exit status does not match! (expected ${EXPECTED_STATUS}, got ${ACTUAL_STATUS})"
exit 1
fi
done <<< "${EXAMPLES}"
Expand Down

0 comments on commit cce8671

Please sign in to comment.