3 Resource ../../../common.robot
4 Resource ./sdnc-properties.robot
7 Library RequestsLibrary
8 Library HttpLibrary.HTTP
9 Library ../libraries/ClientManager.py ${MOUNT_PATH} ${TRUSTSTORE_PATH}
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
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
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}
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}
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}
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
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 Should Contain ${resp1.content} netconf-id
59 Should Contain ${resp1.content} netconf-param
61 Send Delete Request And Validate PNF Mount Deleted
62 [Documentation] Send request to passed url and validate received response
63 [Arguments] ${path} ${resp_code}
64 Create Session sdnc_restconf ${SDNC_RESTCONF_URL}
65 ${mount}= Get File ${REQUEST_DATA_PATH}${/}mount.xml
66 &{headers}= Create Dictionary Authorization=Basic YWRtaW46S3A4Yko0U1hzek0wV1hsaGFrM2VIbGNzZTJnQXc4NHZhb0dHbUp2VXkyVQ== Content-Type=application/json Accept=application/json
67 ${deleteresponse}= Delete Request sdnc_restconf ${path} data=${mount} headers=${headers}
68 Should Be Equal As Strings ${deleteresponse.status_code} ${resp_code}
70 ${del_topology}= Delete Request sdnc_restconf ${SDNC_NETWORK_TOPOLOGY}
71 ${del_keystore}= Delete Request sdnc_restconf ${SDNC_KEYSTORE_CONFIG_PATH}
72 Should Be Equal As Strings ${del_keystore.status_code} ${resp_code}
73 Should Be Equal As Strings ${del_topology.status_code} ${resp_code}
75 Run Cert Service Client And Validate JKS File Creation And Client Exit Code
76 [Documentation] Run Cert Service Client Container And Validate Exit Code For SDNC
77 [Arguments] ${env_file} ${CONTAINER_NAME} ${expected_exit_code}
78 ${exit_code}= Run Client Container ${DOCKER_CLIENT_IMAGE} ${CLIENT_CONTAINER_NAME} ${env_file} ${CERT_SERVICE_ADDRESS}${CERT_SERVICE_ENDPOINT} ${CERT_SERVICE_NETWORK}
79 ${can_open}= Can Open Keystore And Truststore With Pass ${CONTAINER_NAME}
80 ${install_certs}= Can Install Keystore And Truststore Certs ${CONF_SCRIPT} ${CONTAINER_NAME}
81 Remove Client Container And Save Logs ${CLIENT_CONTAINER_NAME} positive_path
82 Should Be Equal As Strings ${exit_code} ${expected_exit_code} Client return: ${exitcode} exit code, but expected: ${expected_exit_code}
83 Should Be True ${can_open} Cannot Open Keystore/TrustStore by Passphrase
84 Should Be True ${install_certs} Cannot Install Keystore/Truststore