aboutsummaryrefslogtreecommitdiffstats
path: root/csit/resources/tests/xacml-pdp-slas.robot
blob: 98a44a80b4daf48e55dc2337cd61ae8897c16f5a (plain)
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
*** Settings ***
Library    OperatingSystem
Resource    common-library.robot

*** Test Cases ***
WaitForPrometheusServer
    [Documentation]  Sleep time to wait for Prometheus server to gather all metrics
    Sleep    1 minute

ValidatePolicyDecisionsTotalCounter
    [Documentation]    Validate policy decision counters using prometheus metrics
    ValidatePrometheusMetric   pdpx_policy_decisions_total{application="optimization",status="permit", instance="policy-xacml-pdp:6969", job="xacml-pdp-metrics"}  1
    ValidatePrometheusMetric   pdpx_policy_decisions_total{application="guard",status="not_applicable", instance="policy-xacml-pdp:6969", job="xacml-pdp-metrics"}  1
    ValidatePrometheusMetric   pdpx_policy_decisions_total{application="monitoring",status="permit", instance="policy-xacml-pdp:6969", job="xacml-pdp-metrics"}  2
    ValidatePrometheusMetric   pdpx_policy_decisions_total{application="naming",status="permit", instance="policy-xacml-pdp:6969", job="xacml-pdp-metrics"}  1

*** Keywords ***
ValidatePrometheusMetric
    [Arguments]  ${url}  ${expectedLimit}
    [Documentation]  Check that the policy execution is under X limit
    ${resp}=  QueryPrometheus  ${url}
    ${actualValue}=  Evaluate  ${resp['data']['result'][0]['value'][1]}
    Should Be True   ${actualValue} <= ${expectedLimit}