Fix timeout value according to guidelines
[integration/test.git] / csit / suites / sfc / SFC_Persistency / 020__sfc_persistency.robot
1 *** Settings ***
2 Documentation     Test suite for SFC Persistency. Checks that system persistency is working as expected
3 Suite Setup       Init Suite
4 Suite Teardown    Delete All Sessions
5 Library           SSHLibrary
6 Library           Collections
7 Library           OperatingSystem
8 Library           RequestsLibrary
9 Library           HttpLibrary.HTTP
10 Library           ../../../libraries/SFC/SfcUtils.py
11 Resource          ../../../libraries/ClusterOpenFlow.robot
12 Resource          ../../../libraries/KarafKeywords.robot
13 Resource          ../../../variables/sfc/Variables.robot
14 Resource          ../../../libraries/Utils.robot
15 Resource          ../../../libraries/TemplatedRequests.robot
16 Resource          ../../../libraries/SFC/DockerSfc.robot
17
18 *** Variables ***
19 ${JSON_DIR}       ${CURDIR}/../../../variables/sfc/master
20 ${SERVICE_FUNCTIONS_FILE}    ${JSON_DIR}/service-functions.json
21 ${SERVICE_FORWARDERS_FILE}    ${JSON_DIR}/service-function-forwarders.json
22 ${SERVICE_NODES_FILE}    ${JSON_DIR}/service-nodes.json
23 ${SERVICE_CHAINS_FILE}    ${JSON_DIR}/service-function-chains.json
24 ${SERVICE_FUNCTION_PATHS_FILE}    ${JSON_DIR}/service-function-paths.json
25 ${CREATE_RSP1_INPUT}    {"input":{"parent-service-function-path":"SFC1-100","name":"SFC1-100-Path-1"}}
26
27 *** Test Cases ***
28 Add SFC Elements and restart cluster
29     [Documentation]    Add SFC Elements and restart the cluster. Next, it is queried the RSP wich returns a 404 error code.
30     Add SFC Elements
31     ${session} =    Resolve Http Session for Controller
32     Kill_Members_From_List_Or_All
33     Start_Members_From_List_Or_All    wait_for_sync=True
34     ${resp}    RequestsLibrary.Get Request    session    ${SERVICE_FORWARDERS_URI}
35     Should Be Equal As Strings    ${resp.status_code}    200
36     ${resp}    RequestsLibrary.Get Request    session    ${SERVICE_NODES_URI}
37     Should Be Equal As Strings    ${resp.status_code}    200
38     ${resp}    RequestsLibrary.Get Request    session    ${SERVICE_FUNCTIONS_URI}
39     Should Be Equal As Strings    ${resp.status_code}    200
40     ${resp}    RequestsLibrary.Get Request    session    ${SERVICE_CHAINS_URI}
41     Should Be Equal As Strings    ${resp.status_code}    200
42     ${resp}    RequestsLibrary.Get Request    session    ${SERVICE_FUNCTION_PATHS_URI}
43     Should Be Equal As Strings    ${resp.status_code}    200
44     Wait until Keyword succeeds    2min    5 sec    TemplatedRequests.Get_As_Json_Templated    session=${session}    folder=${RESTCONF_MODULES_DIR}    verify=False
45     ${resp}    RequestsLibrary.Get Request    session    ${OPERATIONAL_RSPS_URI}
46     Should Be Equal As Strings    ${resp.status_code}    404
47     [Teardown]    Remove SFC Elements
48
49 *** Keywords ***
50 Init Suite
51     [Documentation]    Connect Create session and initialize ODL version specific variables
52     ClusterManagement Setup
53     Create Session    session    http://${ODL_SYSTEM_1_IP}:${RESTCONFPORT}    auth=${AUTH}    headers=${HEADERS}
54
55 Add SFC Elements
56     [Documentation]    Add Elements to the Controller via API REST
57     Add Elements To URI From File    ${SERVICE_FORWARDERS_URI}    ${SERVICE_FORWARDERS_FILE}
58     Add Elements To URI From File    ${SERVICE_NODES_URI}    ${SERVICE_NODES_FILE}
59     Add Elements To URI From File    ${SERVICE_FUNCTIONS_URI}    ${SERVICE_FUNCTIONS_FILE}
60     Add Elements To URI From File    ${SERVICE_CHAINS_URI}    ${SERVICE_CHAINS_FILE}
61     Add Elements To URI From File    ${SERVICE_FUNCTION_PATHS_URI}    ${SERVICE_FUNCTION_PATHS_FILE}
62
63 Remove SFC Elements
64     [Documentation]    Remove Elements from the Controller via API REST
65     Remove All Elements At URI    ${SERVICE_FUNCTIONS_URI}
66     Remove All Elements At URI    ${SERVICE_FORWARDERS_URI}
67     Remove All Elements At URI    ${SERVICE_NODES_URI}
68     Remove All Elements At URI    ${SERVICE_CHAINS_URI}
69     Remove All Elements At URI    ${SERVICE_FUNCTION_PATHS_URI}
70
71 Resolve Http Session for Controller
72     ${session} =    Resolve_Http_Session_For_Member    member_index=1
73     [Return]    ${session}