3ea616498e1910c552eafee56500f732f7db291e
[integration/csit.git] / tests / sdnc / sdnc_netconf_tls_post_deploy / resources / sdnc-keywords.robot
1 *** Settings ***
2
3 Resource          ../../../common.robot
4 Resource          ./sdnc-properties.robot
5
6 Library           Collections
7 Library               RequestsLibrary
8 Library           HttpLibrary.HTTP
9 Library           ../libraries/ClientManager.py  ${MOUNT_PATH}  ${TRUSTSTORE_PATH}
10
11 *** Keywords ***
12
13 Create sessions
14     [Documentation]  Create all required sessions
15     ${certs}=  Create List  ${CERTSERVICE_SERVER_CRT}  ${CERTSERVICE_SERVER_KEY}
16     Create Client Cert Session  alias  ${AAFCERT_URL}  client_certs=${certs}  verify=${ROOTCA}  disable_warnings=1
17     Set Suite Variable  ${https_valid_cert_session}  alias
18
19 Run Healthcheck
20     [Documentation]  Run Healthcheck
21     ${resp}=  Get Request       ${https_valid_cert_session}     /actuator/health
22     Should Be Equal As Strings  ${resp.status_code}     200
23     Validate Recieved Response  ${resp}  status  UP
24
25 Validate Recieved Response
26     [Documentation]  Validate message that has been received
27     [Arguments]  ${resp}  ${key}  ${expected_value}
28     ${json}=    Parse Json      ${resp.content}
29     ${value}=  Get From Dictionary  ${json}  ${key}
30     Should Be Equal As Strings    ${value}    ${expected_value}
31
32 Send Get Request And Validate Response
33     [Documentation]   Send request to passed url and validate received response
34     [Arguments]   ${path}  ${resp_code}
35     ${resp}=    Get Request     ${https_valid_cert_session}  ${path}
36     Should Be Equal As Strings  ${resp.status_code}     ${resp_code}
37
38 Send Get Request And Validate Response Sdnc
39     [Documentation]   Send request to passed url and validate received response
40     [Arguments]   ${path}  ${resp_code}
41     Create Session   sdnc_restconf  ${SDNC_RESTCONF_URL}
42     &{headers}=  Create Dictionary    Authorization=Basic YWRtaW46S3A4Yko0U1hzek0wV1hsaGFrM2VIbGNzZTJnQXc4NHZhb0dHbUp2VXkyVQ==    Content-Type=application/json    Accept=application/json
43     ${resp}=    Get Request    sdnc_restconf    ${path}    headers=${headers}
44     Should Be Equal As Strings  ${resp.status_code}     ${resp_code}
45
46 Send Get Request And Validate TLS Connection Response
47     [Documentation]   Send request to passed url and validate received response
48     [Arguments]   ${path}  ${resp_code}
49     Create Session   sdnc_restconf  ${SDNC_RESTCONF_URL}
50     ${mount}=    Get File    ${REQUEST_DATA_PATH}${/}mount.xml
51     &{headers}=  Create Dictionary    Authorization=Basic YWRtaW46S3A4Yko0U1hzek0wV1hsaGFrM2VIbGNzZTJnQXc4NHZhb0dHbUp2VXkyVQ==    Content-Type=application/xml    Accept=application/xml
52     ${resp}=    Put Request    sdnc_restconf    ${path}    data=${mount}    headers=${headers}
53     Should Be Equal As Strings    ${resp.status_code}    201
54     Sleep  30
55     &{headers1}=  Create Dictionary    Authorization=Basic YWRtaW46S3A4Yko0U1hzek0wV1hsaGFrM2VIbGNzZTJnQXc4NHZhb0dHbUp2VXkyVQ==    Content-Type=application/json    Accept=application/json
56     ${resp1}=    Get Request    sdnc_restconf    ${PNFSIM_MOUNT_PATH}    headers=${headers1}
57     Should Be Equal As Strings    ${resp1.status_code}    ${resp_code}
58
59 Send Delete Request And Validate PNF Mount Deleted
60     [Documentation]   Send request to passed url and validate received response
61     [Arguments]   ${path}  ${resp_code}
62     Create Session   sdnc_restconf  ${SDNC_RESTCONF_URL}
63     ${mount}=    Get File    ${REQUEST_DATA_PATH}${/}mount.xml
64     &{headers}=  Create Dictionary    Authorization=Basic YWRtaW46S3A4Yko0U1hzek0wV1hsaGFrM2VIbGNzZTJnQXc4NHZhb0dHbUp2VXkyVQ==    Content-Type=application/json    Accept=application/json
65     ${deleteresponse}=    Delete Request    sdnc_restconf    ${path}    data=${mount}    headers=${headers}
66     Should Be Equal As Strings  ${deleteresponse.status_code}   ${resp_code}
67     Sleep  30
68     ${del_topology}=    Delete Request    sdnc_restconf    ${SDNC_NETWORK_TOPOLOGY}
69     ${del_keystore}=    Delete Request    sdnc_restconf    ${SDNC_KEYSTORE_CONFIG_PATH}
70     Should Be Equal As Strings    ${del_keystore.status_code}    ${resp_code}
71     Should Be Equal As Strings    ${del_topology.status_code}    ${resp_code}
72
73 Run Cert Service Client And Validate JKS File Creation And Client Exit Code
74     [Documentation]  Run Cert Service Client Container And Validate Exit Code For SDNC
75     [Arguments]   ${env_file}  ${CONTAINER_NAME}  ${expected_exit_code}
76     ${exit_code}=  Run Client Container  ${DOCKER_CLIENT_IMAGE}  ${CLIENT_CONTAINER_NAME}  ${env_file}  ${CERT_SERVICE_ADDRESS}${CERT_SERVICE_ENDPOINT}  ${CERT_SERVICE_NETWORK}
77     ${can_open}=  Can Open Keystore And Truststore With Pass  ${CONTAINER_NAME}
78     ${install_certs}=  Can Install Keystore And Truststore Certs  ${CONF_SCRIPT}  ${CONF_TLS_SCRIPT}  ${CONTAINER_NAME}
79     Remove Client Container And Save Logs  ${CLIENT_CONTAINER_NAME}  positive_path
80     Should Be Equal As Strings  ${exit_code}  ${expected_exit_code}  Client return: ${exitcode} exit code, but expected: ${expected_exit_code}
81     Should Be True  ${can_open}  Cannot Open Keystore/TrustStore by Passphrase
82     Should Be True  ${install_certs}  Cannot Install Keystore/Truststore