94 lines
4.2 KiB
Plaintext
94 lines
4.2 KiB
Plaintext
*** Settings ***
|
|
Documentation Azure PolicyInsights PolicyStates plugin
|
|
|
|
Library OperatingSystem
|
|
Library Process
|
|
Library String
|
|
|
|
Suite Setup Start Mockoon
|
|
Suite Teardown Stop Mockoon
|
|
|
|
|
|
*** Variables ***
|
|
${CENTREON_PLUGINS} ${CURDIR}${/}..${/}..${/}src${/}centreon_plugins.pl
|
|
${MOCKOON_JSON} ${CURDIR}${/}..${/}resources${/}mockoon${/}cloud-azure-policyinsights-policystates.json
|
|
|
|
${LOGIN_ENDPOINT} http://localhost:3000/login
|
|
${CMD} perl ${CENTREON_PLUGINS} --plugin=cloud::azure::policyinsights::policystates::plugin --subscription=subscription --tenant=tenant --client-id=client_id --client-secret=secret --login-endpoint=${LOGIN_ENDPOINT}
|
|
|
|
&{compliance_value1}
|
|
... endpoint=http://localhost:3000/ok
|
|
... policyname=
|
|
... resourcelocation=
|
|
... resourcetype=
|
|
... result=OK: Number of non compliant policies: 0 - All compliances states are ok | 'policies.non_compliant.count'=0;;;0;
|
|
&{compliance_value2}
|
|
... endpoint=http://localhost:3000/oknextlink
|
|
... policyname=9daedab3-fb2d-461e-b861-71790eead4f6
|
|
... resourcelocation=
|
|
... resourcetype=
|
|
... result=OK: Number of non compliant policies: 0 - All compliances states are ok | 'policies.non_compliant.count'=0;;;0;
|
|
&{compliance_value3}
|
|
... endpoint=http://localhost:3000/nok1
|
|
... policyname=9daedab3-fb2d-461e-b861-71790eead4f6
|
|
... resourcelocation=fr
|
|
... resourcetype=
|
|
... result=CRITICAL: Compliance state for policy '9daedab3-fb2d-461e-b861-71790eead4f6' on resource 'mypubip1' is 'NonCompliant' | 'policies.non_compliant.count'=1;;;0;
|
|
&{compliance_value4}
|
|
... endpoint=http://localhost:3000/nok2
|
|
... policyname=9daedab3-fb2d-461e-b861-71790eead4f6
|
|
... resourcelocation=fr
|
|
... resourcetype=ip
|
|
... result=CRITICAL: Compliance state for policy '9daedab3-fb2d-461e-b861-71790eead4f6' on resource 'mypubip1' is 'NonCompliant' - Compliance state for policy '9daedab3-fb2d-461e-b861-71790eead4f6' on resource 'mypubip2' is 'NonCompliant' | 'policies.non_compliant.count'=2;;;0;
|
|
@{compliance_values} &{compliance_value1} &{compliance_value2} &{compliance_value3} &{compliance_value4}
|
|
|
|
|
|
*** Test Cases ***
|
|
Azure PolicyInsights PolicyStates compliance
|
|
[Documentation] Check Azure PolicyInsights PolicyStates compliance
|
|
[Tags] cloud azure policyinsights policystates
|
|
FOR ${compliance_value} IN @{compliance_values}
|
|
${command} = Catenate
|
|
... ${CMD}
|
|
... --mode=compliance
|
|
... --management-endpoint=${compliance_value.endpoint}
|
|
${length} = Get Length ${compliance_value.policyname}
|
|
IF ${length} > 0
|
|
${command} = Catenate ${command} --policy-name=${compliance_value.policyname}
|
|
END
|
|
${length} = Get Length ${compliance_value.resourcelocation}
|
|
IF ${length} > 0
|
|
${command} = Catenate ${command} --resource-location=${compliance_value.resourcelocation}
|
|
END
|
|
${length} = Get Length ${compliance_value.resourcetype}
|
|
IF ${length} > 0
|
|
${command} = Catenate ${command} --resource-type=${compliance_value.resourcetype}
|
|
END
|
|
${output} = Run ${command}
|
|
Should Be Equal As Strings
|
|
... ${output}
|
|
... ${compliance_value.result}
|
|
... msg=Wrong output result for compliance of ${compliance_value}
|
|
END
|
|
|
|
|
|
*** Keywords ***
|
|
Start Mockoon
|
|
${executionresult} = Run Process
|
|
... mockoon-cli
|
|
... start
|
|
... --data
|
|
... ${MOCKOON_JSON}
|
|
... --port
|
|
... 3000
|
|
... --pname
|
|
... azure-policyinsights
|
|
Should Be Empty ${executionresult.stderr}
|
|
|
|
Stop Mockoon
|
|
${executionresult} = Run Process
|
|
... mockoon-cli
|
|
... stop
|
|
... mockoon-azure-policyinsights
|
|
Should Be Empty ${executionresult.stderr}
|