a09345417f189bd596fd486f4d79fe3f490663a3
[integration/csit.git] / tests / oom-platform-cert-service / certservice / cert-service-test.robot
1 *** Settings ***
2
3 Documentation     OOM Cert Service API test case scenarios
4 Library               RequestsLibrary
5 Resource          ./resources/cert-service-keywords.robot
6
7 Suite Setup       Create sessions
8
9 *** Test Cases ***
10
11 Health Check
12     [Tags]      OOM-CERT-SERVICE
13     [Documentation]   Service is up and running
14     Run health check
15
16 Reload Configuration
17     [Tags]      OOM-CERT-SERVICE
18     [Documentation]   Configuration was changed
19     Send Get Request And Validate Response  /reload  200
20
21 Check if application is ready
22     [Tags]      OOM-CERT-SERVICE
23     [Documentation]   Send request to /ready endpoint and expect 200
24     Send Get Request And Validate Response  /ready  200
25
26 Generate Certificate In RA Mode For CA Name
27     [Tags]      OOM-CERT-SERVICE    CERTIFICATE-INITIALIZATION
28     [Documentation]  Send request to ${CERT_SERVICE_ENDPOINT}${RA_CA_NAME} endpoint and expect 200
29     Send Get Request with Header And Expect Success  ${CERT_SERVICE_ENDPOINT}${RA_CA_NAME}  ${VALID_RA_CSR_FILE}  ${VALID_RA_PK_FILE}
30
31 Generate Certificate with all Sans types In RA Mode For CA Name
32     [Tags]      OOM-CERT-SERVICE    CERTIFICATE-INITIALIZATION
33     [Documentation]  Send request to ${CERT_SERVICE_ENDPOINT}${RA_CA_NAME} endpoint and expect 200
34     Send Get Request with Header And Expect Success  ${CERT_SERVICE_ENDPOINT}${RA_CA_NAME}  ${VALID_RA_ALL_SANS_CSR_FILE}  ${VALID_RA_ALL_SANS_PK_FILE}
35
36 Report Not Found Error When Path To Service Is Not Valid
37     [Tags]      OOM-CERT-SERVICE    CERTIFICATE-INITIALIZATION
38     [Documentation]  Send request to ${CERT_SERVICE_ENDPOINT} endpoint and expect 404
39     Send Get Request with Header And Expect Error  ${CERT_SERVICE_ENDPOINT}  ${VALID_CLIENT_CSR_FILE}  ${VALID_CLIENT_PK_FILE}  404
40
41 Report Bad Request Error When Header Is Missing In Request
42     [Tags]      OOM-CERT-SERVICE    CERTIFICATE-INITIALIZATION
43     [Documentation]  Send request without header to ${CERT_SERVICE_ENDPOINT}${CLIENT_CA_NAME} endpoint and expect 400
44     Send Get Request And Validate Response  ${CERT_SERVICE_ENDPOINT}${CLIENT_CA_NAME}  400
45
46 Report Bad Request Error When CSR Is Not Valid
47     [Tags]      OOM-CERT-SERVICE    CERTIFICATE-INITIALIZATION
48     [Documentation]  Send request to ${CERT_SERVICE_ENDPOINT}${CLIENT_CA_NAME} endpoint and expect 400
49     Send Get Request with Header And Expect Error  ${CERT_SERVICE_ENDPOINT}${CLIENT_CA_NAME}  ${INVALID_CSR_FILE}  ${VALID_CLIENT_PK_FILE}  400
50
51 Report Bad Request Error When PK Is Not Valid
52     [Tags]      OOM-CERT-SERVICE    CERTIFICATE-INITIALIZATION
53     [Documentation]  Send request to ${CERT_SERVICE_ENDPOINT}${CLIENT_CA_NAME} endpoint and expect 400
54     Send Get Request with Header And Expect Error  ${CERT_SERVICE_ENDPOINT}${CLIENT_CA_NAME}  ${VALID_CLIENT_CSR_FILE}  ${INVALID_PK_FILE}  400
55
56 Update Certificate With Key Update Request In RA Mode Should Succeed
57     [Tags]      OOM-CERT-SERVICE    CERTIFICATE-UPDATE
58     [Documentation]  Send Initialization Request to ${CERT_SERVICE_ENDPOINT}${RA_CA_NAME} then for received certificate send Key Update Request to ${CERT_SERVICE_UPDATE_ENDPOINT}${RA_CA_NAME} endpoint and expect 200
59     Send Initialization Request And Key Update Request And Expect Success  ${CERT_SERVICE_ENDPOINT}${RA_CA_NAME}  ${CERT_SERVICE_UPDATE_ENDPOINT}${RA_CA_NAME}
60     ...  ${VALID_IR_CSR_FOR_UPDATE}  ${VALID_IR_KEY_FOR_UPDATE}  ${VALID_KUR_CSR}  ${VALID_KUR_KEY}
61
62 Update Certificate With Certification Request When Subject Changed In RA Mode Should Succeed
63     [Tags]      OOM-CERT-SERVICE    CERTIFICATE-UPDATE
64     [Documentation]  Send Initialization Request to ${CERT_SERVICE_ENDPOINT}${RA_CA_NAME} then for received certificate send Key Update Request to ${CERT_SERVICE_UPDATE_ENDPOINT}${RA_CA_NAME} endpoint and expect 200
65     Send Initialization Request And Certification Request And Expect Success  ${CERT_SERVICE_ENDPOINT}${RA_CA_NAME}  ${CERT_SERVICE_UPDATE_ENDPOINT}${RA_CA_NAME}
66     ...  ${VALID_IR_CSR_FOR_UPDATE}  ${VALID_IR_KEY_FOR_UPDATE}  ${VALID_CR_CSR_CHANGED_SUBJECT}  ${VALID_CR_KEY_CHANGED_SUBJECT}
67
68 Update Certificate With Certification Request When Sans Changed In RA Mode Should Succeed
69     [Tags]      OOM-CERT-SERVICE    CERTIFICATE-UPDATE
70     [Documentation]  Send Initialization Request to ${CERT_SERVICE_ENDPOINT}${RA_CA_NAME} then for received certificate send Key Update Request to ${CERT_SERVICE_UPDATE_ENDPOINT}${RA_CA_NAME} endpoint and expect 200
71     Send Initialization Request And Certification Request And Expect Success  ${CERT_SERVICE_ENDPOINT}${RA_CA_NAME}  ${CERT_SERVICE_UPDATE_ENDPOINT}${RA_CA_NAME}
72     ...  ${VALID_IR_CSR_FOR_UPDATE}  ${VALID_IR_KEY_FOR_UPDATE}  ${VALID_CR_CSR_CHANGED_SANS}  ${VALID_CR_KEY_CHANGED_SANS}
73
74 Update Certificate With Key Update Request In RA Mode Should Fail When Wrong Old Private Key Is Used
75     [Tags]      OOM-CERT-SERVICE    CERTIFICATE-UPDATE
76     [Documentation]  Send Initialization Request to ${CERT_SERVICE_ENDPOINT}${RA_CA_NAME} then for received certificate send Key Update Request to ${CERT_SERVICE_UPDATE_ENDPOINT}${RA_CA_NAME} endpoint and expect 500
77     Send Initialization Request And Key Update Request With Wrong Old Private Key And Expect Error  ${CERT_SERVICE_ENDPOINT}${RA_CA_NAME}  ${CERT_SERVICE_UPDATE_ENDPOINT}${RA_CA_NAME}
78     ...  ${VALID_IR_CSR_FOR_UPDATE}  ${VALID_IR_KEY_FOR_UPDATE}  ${VALID_KUR_CSR}  ${VALID_KUR_KEY}  ${INVALID_IR_KEY_FOR_UPDATE}
79
80 Update Certificate In RA Mode Should Fail When OLD_CERT Header Is Incorrect
81     [Tags]      OOM-CERT-SERVICE    CERTIFICATE-UPDATE
82     [Documentation]  Send Update Request to ${CERT_SERVICE_UPDATE_ENDPOINT}${RA_CA_NAME} endpoint with wrong OLD_CERT header and expect 400
83     Send Update Request With Wrong Header And Expect Error   ${CERT_SERVICE_UPDATE_ENDPOINT}${RA_CA_NAME}
84     ...  ${VALID_KUR_CSR}  ${VALID_KUR_KEY}  ${INVALID_OLD_CERT_BASE64}  ${VALID_IR_KEY_FOR_UPDATE}
85
86 Update Certificate In RA Mode Should Fail When OLD_CERT Header Is Missing
87     [Tags]      OOM-CERT-SERVICE    CERTIFICATE-UPDATE
88     [Documentation]  Send Update Request to ${CERT_SERVICE_UPDATE_ENDPOINT}${RA_CA_NAME} endpoint with missing OLD_CERT header and expect 400
89     Send Update Request With Missing Header And Expect Error   ${CERT_SERVICE_UPDATE_ENDPOINT}${RA_CA_NAME}
90     ...  ${VALID_KUR_CSR}  ${VALID_KUR_KEY}  ${VALID_OLD_CERT_BASE64}  ${VALID_IR_KEY_FOR_UPDATE}  OLD_CERT
91
92 Update Certificate In RA Mode Should Fail When OLD_PK Header Is Incorrect
93     [Tags]      OOM-CERT-SERVICE    CERTIFICATE-UPDATE
94     [Documentation]  Send Update Request to ${CERT_SERVICE_UPDATE_ENDPOINT}${RA_CA_NAME} endpoint with wrong OLD_PK header and expect 400
95     Send Update Request With Wrong Header And Expect Error   ${CERT_SERVICE_UPDATE_ENDPOINT}${RA_CA_NAME}
96     ...  ${VALID_KUR_CSR}  ${VALID_KUR_KEY}  ${VALID_OLD_CERT_BASE64}  ${INVALID_PK_FILE}
97
98 Update Certificate In RA Mode Should Fail When OLD_PK Header Is Missing
99     [Tags]      OOM-CERT-SERVICE    CERTIFICATE-UPDATE
100     [Documentation]  Send Update Request to ${CERT_SERVICE_UPDATE_ENDPOINT}${RA_CA_NAME} endpoint with missing OLD_PK header and expect 400
101     Send Update Request With Missing Header And Expect Error   ${CERT_SERVICE_UPDATE_ENDPOINT}${RA_CA_NAME}
102     ...  ${VALID_KUR_CSR}  ${VALID_KUR_KEY}  ${VALID_OLD_CERT_BASE64}  ${VALID_IR_KEY_FOR_UPDATE}  OLD_PK
103
104 Update Certificate In RA Mode Should Fail When CSR Header Is Incorrect
105     [Tags]      OOM-CERT-SERVICE    CERTIFICATE-UPDATE
106     [Documentation]  Send Update Request to ${CERT_SERVICE_UPDATE_ENDPOINT}${RA_CA_NAME} endpoint with wrong CSR header and expect 400
107     Send Update Request With Wrong Header And Expect Error   ${CERT_SERVICE_UPDATE_ENDPOINT}${RA_CA_NAME}
108     ...  ${INVALID_CSR_FILE}  ${VALID_KUR_KEY}  ${VALID_OLD_CERT_BASE64}  ${VALID_IR_KEY_FOR_UPDATE}
109
110 Update Certificate In RA Mode Should Fail When CSR Header Is Missing
111     [Tags]      OOM-CERT-SERVICE    CERTIFICATE-UPDATE
112     [Documentation]  Send Update Request to ${CERT_SERVICE_UPDATE_ENDPOINT}${RA_CA_NAME} endpoint with missing CSR header and expect 400
113     Send Update Request With Missing Header And Expect Error   ${CERT_SERVICE_UPDATE_ENDPOINT}${RA_CA_NAME}
114     ...  ${VALID_KUR_CSR}  ${VALID_KUR_KEY}  ${VALID_OLD_CERT_BASE64}  ${VALID_IR_KEY_FOR_UPDATE}  CSR
115
116 Update Certificate In RA Mode Should Fail When PK Header Is Incorrect
117     [Tags]      OOM-CERT-SERVICE    CERTIFICATE-UPDATE
118     [Documentation]  Send Update Request to ${CERT_SERVICE_UPDATE_ENDPOINT}${RA_CA_NAME} endpoint with wrong PK header and expect 400
119     Send Update Request With Wrong Header And Expect Error   ${CERT_SERVICE_UPDATE_ENDPOINT}${RA_CA_NAME}
120     ...  ${VALID_KUR_CSR}  ${INVALID_PK_FILE}  ${VALID_OLD_CERT_BASE64}  ${VALID_IR_KEY_FOR_UPDATE}
121
122 Update Certificate In RA Mode Should Fail When PK Header Is Missing
123     [Tags]      OOM-CERT-SERVICE    CERTIFICATE-UPDATE
124     [Documentation]  Send Update Request to ${CERT_SERVICE_UPDATE_ENDPOINT}${RA_CA_NAME} endpoint with missing PK header and expect 400
125     Send Update Request With Missing Header And Expect Error   ${CERT_SERVICE_UPDATE_ENDPOINT}${RA_CA_NAME}
126     ...  ${VALID_KUR_CSR}  ${VALID_KUR_KEY}  ${VALID_OLD_CERT_BASE64}  ${VALID_IR_KEY_FOR_UPDATE}  PK
127
128 Cert Service Client successfully creates keystore.p12 and truststore.p12
129     [Tags]      OOM-CERT-SERVICE    OOM-CERT-SERVICE-CLIENT
130     [Documentation]  Run with correct env and expected exit code 0
131     Run Cert Service Client And Validate PKCS12 File Creation And Client Exit Code  ${VALID_ENV_FILE}  0
132
133 Cert Service Client successfully creates keystore.jks and truststore.jks
134     [Tags]      OOM-CERT-SERVICE    OOM-CERT-SERVICE-CLIENT
135     [Documentation]  Run with correct env and expected exit code 0
136     Run Cert Service Client And Validate JKS File Creation And Client Exit Code  ${VALID_ENV_FILE_JKS}  0
137
138 Cert Service Client successfully creates keystore and truststore with expected data with no OUTPUT_TYPE
139     [Tags]      OOM-CERT-SERVICE    OOM-CERT-SERVICE-CLIENT
140     [Documentation]  Run with correct env and PKCS12 files created with correct data
141     Run Cert Service Client And Validate PKCS12 Files Contain Expected Data  ${VALID_ENV_FILE}  0
142
143 Cert Service Client successfully creates keystore and truststore with all SANs types provided
144     [Tags]      OOM-CERT-SERVICE    OOM-CERT-SERVICE-CLIENT
145     [Documentation]  Run with correct env and expected exit code 0
146     Run Cert Service Client And Validate PKCS12 Files Contain Expected Data  ${VALID_ENV_FILE_ALL_SANS_TYPES}  0
147
148 Cert Service Client successfully creates keystore and truststore with expected data with OUTPUT_TYPE=JKS
149     [Tags]      OOM-CERT-SERVICE    OOM-CERT-SERVICE-CLIENT
150     [Documentation]  Run with correct env and JKS files created with correct data
151     Run Cert Service Client And Validate JKS Files Contain Expected Data  ${VALID_ENV_FILE_JKS}  0
152
153 Cert Service Client successfully creates keystore and truststore with expected data with OUTPUT_TYPE=P12
154     [Tags]      OOM-CERT-SERVICE    OOM-CERT-SERVICE-CLIENT
155     [Documentation]  Run with correct env and PKCS12 files created with correct data
156     Run Cert Service Client And Validate PKCS12 Files Contain Expected Data  ${VALID_ENV_FILE_P12}  0
157
158 Cert Service Client successfully creates keystore and truststore with expected data with OUTPUT_TYPE=PEM
159     [Tags]      OOM-CERT-SERVICE    OOM-CERT-SERVICE-CLIENT
160     [Documentation]  Run with correct env and PEM files created with correct data
161     Run Cert Service Client And Validate PEM Files Contain Expected Data  ${VALID_ENV_FILE_PEM}  0
162
163 Cert Service Client reports error when OUTPUT_TYPE is invalid
164     [Tags]      OOM-CERT-SERVICE    OOM-CERT-SERVICE-CLIENT
165     [Documentation]  Run with invalid OUTPUT_TYPE env and expected exit code 1
166     Run Cert Service Client And Validate Client Exit Code  ${INVALID_ENV_FILE_OUTPUT_TYPE}  1
167
168 Run Cert Service Client Container And Validate Exit Code And API Response
169     [Tags]      OOM-CERT-SERVICE    OOM-CERT-SERVICE-CLIENT
170     [Documentation]  Run with invalid CaName env and expected exit code 5
171     Run Cert Service Client And Validate Http Response Code And Client Exit Code  ${INVALID_ENV_FILE}  404  5
172