Backup-Restore support library + tests
[integration/test.git] / csit / suites / backuprestore / br-basic / 010__br_library_keywords.robot
1 *** Settings ***
2 Documentation     Test suite for B&R support library itself
3 Suite Setup       Run Keywords    Init Suite    ClusterManagement Setup
4 Suite Teardown    Delete All Sessions
5 Test Setup        Remove All Elements If Exist    ${SERVICE_FUNCTIONS_URI}
6 Library           SSHLibrary
7 Library           Collections
8 Library           OperatingSystem
9 Library           RequestsLibrary
10 Resource          ../../../variables/Variables.robot
11 Resource          ../../../libraries/Utils.robot
12 Resource          ../../../libraries/TemplatedRequests.robot
13 Resource          ../../../libraries/BackupRestoreKeywords.robot
14
15 *** Test Cases ***
16 ConditionalBackupRestoreCheck keyword
17     [Documentation]    Demostrates how the ConditionalBackupRestoreCheck keyword can be used together with the flag " -v BR_TESTING_ENABLED:false/true" in order to add backup-restore verification to existing testcases
18     Add Elements To URI From File    ${SERVICE_FUNCTIONS_URI}    ${SERVICE_FUNCTIONS_FILE}
19     ConditionalBackupRestoreCheck
20     ${body}    OperatingSystem.Get File    ${SERVICE_FUNCTIONS_FILE}
21     ${jsonbody}    To Json    ${body}
22     ${functions}    Get From Dictionary    ${jsonbody}    service-functions
23     ${resp}    RequestsLibrary.Get Request    session    ${SERVICE_FUNCTIONS_URI}
24     Should Contain    ${ALLOWED_STATUS_CODES}    ${resp.status_code}
25     ${result}    To JSON    ${resp.content}
26     ${function}    Get From Dictionary    ${result}    service-functions
27     Lists Should be Equal    ${function}    ${functions}
28
29 BackupRestoreCheck keyword
30     [Documentation]    Demostrates how the BackupRestoreCheck keyword can be used in order to create specific testcases performing backup-restore verification
31     ${body}    OperatingSystem.Get File    ${SERVICE_FUNCTIONS_FILE}
32     Add Elements To URI From File    ${SERVICE_FUNCTIONS_URI}    ${SERVICE_FUNCTIONS_FILE}
33     Run Keyword And Expect Error    *    BackupRestoreCheck    exclusionsOperationalBefore=../variables/backuprestore/json_prefilter.conf
34     ${resp}    RequestsLibrary.Get Request    session    ${SERVICE_FUNCTIONS_URI}
35     Should Contain    ${ALLOWED_STATUS_CODES}    ${resp.status_code}
36     Remove All Elements At URI    ${SERVICE_FUNCTIONS_URI}
37     ${resp}    RequestsLibrary.Get Request    session    ${SERVICE_FUNCTIONS_URI}
38     Should Be Equal As Strings    ${resp.status_code}    404
39
40 *** Keywords ***
41 Init Suite
42     [Documentation]    Initialize session and ODL version specific variables
43     Create Session    session    http://${ODL_SYSTEM_IP}:${RESTCONFPORT}    auth=${AUTH}    headers=${HEADERS}
44     log    ${ODL_STREAM}
45     Set Suite Variable    ${VERSION_DIR}    master
46     Set Suite Variable    ${SERVICE_FUNCTIONS_URI}    /restconf/config/service-function:service-functions/
47     Set Suite Variable    ${SERVICE_FUNCTIONS_FILE}    ${CURDIR}/../../../variables/sfc/${VERSION_DIR}/service-functions.json
48     Set Suite Variable    ${SF_DPI102100_URI}    /restconf/config/service-function:service-functions/service-function/dpi-102-100/
49     Set Suite Variable    ${SF_DPI102100_FILE}    ${CURDIR}/../../../variables/sfc/${VERSION_DIR}/sf_dpi_102_100.json
50     Set Suite Variable    ${SF_DPL101_FILE}    ${CURDIR}/../../../variables/sfc/${VERSION_DIR}/sf_dpl_101.json