1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28 29 30 31 32 33 34 35 36 37 38 39 40 41 42 43 44 45 46 47 48 49 50 51 52 53 54 55 56 57 58 59 60 61 62 63
|
#!/usr/bin/env bash
# Copyright 2012 Red Hat Inc., Durham, North Carolina.
# All Rights Reserved.
set -e -o pipefail
. $srcdir/../../../test_common.sh
function test_generate_report {
local INPUT=$srcdir/$1
local EXPECTED_CONTENT=$2
local GENERATED_CONTENT=$($OSCAP xccdf generate report "$INPUT")
if [ "$?" != "0" ]; then
return 1
fi
echo "$GENERATED_CONTENT" | grep "$EXPECTED_CONTENT"
if [ "$?" == "0" ]; then
return 0
fi
echo "Generated content does not contain '$EXPECTED_CONTENT'!"
echo "Generated content:"
echo "$GENERATED_CONTENT"
return 1
}
function test_generate_report_custom {
local INPUT=$srcdir/$1
local EXPECTED_CONTENT=$2
local GENERATED_CONTENT=$($OSCAP xccdf generate custom --stylesheet $OSCAP_XSLT_PATH/xccdf-report.xsl "$INPUT")
if [ "$?" != "0" ]; then
return 1
fi
echo "$GENERATED_CONTENT" | grep "$EXPECTED_CONTENT"
if [ "$?" == "0" ]; then
return 0
fi
echo "Generated content does not contain '$EXPECTED_CONTENT'!"
echo "Generated content:"
echo "$GENERATED_CONTENT"
return 1
}
# Testing.
test_init "test_api_xccdf_report.log"
test_run "test_api_xccdf_report_xccdf11" test_generate_report results-xccdf11.xml xccdf_moc.elpmaxe.www_rule_1
test_run "test_api_xccdf_report_xccdf12" test_generate_report results-xccdf12.xml xccdf_moc.elpmaxe.www_rule_1
test_run "test_api_xccdf_report_custom_xccdf11" test_generate_report_custom results-xccdf11.xml xccdf_moc.elpmaxe.www_rule_1
# This does not work because the xccdf-report.xsl is made for XCCDF 1.1, the namespace workaround
# (see xccdf_ns_xslt_workaround(..) for details) is not used when using custom stylesheets.
#test_run "test_api_xccdf_report_custom_xccdf12" test_generate_report_custom results-xccdf12.xml xccdf_moc.elpmaxe.www_rule_1
test_exit
|