aboutsummaryrefslogtreecommitdiffstats
diff options
context:
space:
mode:
authorStanislav Chlebec <stanislav.chlebec@pantheon.tech>2018-11-09 14:31:02 +0100
committerStanislav Chlebec <stanislav.chlebec@pantheon.tech>2018-11-13 09:29:31 +0100
commite035f62524233b96733a43139a117f747b2f0968 (patch)
treede5a57860a233446551749d927bebb25bc3abaa9
parenta94b1d5512b72ac1d52e4c8ec9bc6be70d632858 (diff)
vvp healthcheck
Change-Id: I0d9de8d4c103db1f03866191bc84bb3b1b2afecc Signed-off-by: Stanislav Chlebec <stanislav.chlebec@pantheon.tech> Issue-ID: VVP-117
-rw-r--r--robot/resources/vvp_interface.robot161
-rw-r--r--robot/testsuites/health-check.robot41
2 files changed, 202 insertions, 0 deletions
diff --git a/robot/resources/vvp_interface.robot b/robot/resources/vvp_interface.robot
new file mode 100644
index 00000000..57c67b84
--- /dev/null
+++ b/robot/resources/vvp_interface.robot
@@ -0,0 +1,161 @@
+*** Settings ***
+Documentation Tests the health of the VVP containers...
+Library Collections
+Library String
+Library RequestsLibrary
+Resource global_properties.robot
+
+*** Variables ***
+${VVP_PATH} /
+${VVP_CI_UWSGI_ENDPOINT} ${GLOBAL_VVP_SERVER_PROTOCOL}://${GLOBAL_INJECTED_VVP_CI_UWSGI_IP_ADDR}:${GLOBAL_VVP_CI_UWSGI_PORT}
+${VVP_CMS_UWSGI_ENDPOINT} ${GLOBAL_VVP_SERVER_PROTOCOL}://${GLOBAL_INJECTED_VVP_CMS_UWSGI_IP_ADDR}:${GLOBAL_VVP_CMS_UWSGI_PORT1}
+${VVP_EM_UWSGI_ENDPOINT} ${GLOBAL_VVP_SERVER_PROTOCOL}://${GLOBAL_INJECTED_VVP_EM_UWSGI_IP_ADDR}:${GLOBAL_VVP_EM_UWSGI_PORT}
+${VVP_EXT_HAPROXY_ENDPOINT} ${GLOBAL_VVP_SERVER_PROTOCOL}://${GLOBAL_INJECTED_VVP_EXT_HAPROXY_IP_ADDR}:${GLOBAL_VVP_EXT_HAPROXY_PORT1}
+${VVP_GITLAB_ENDPOINT} ${GLOBAL_VVP_SERVER_PROTOCOL}://${GLOBAL_INJECTED_VVP_GITLAB_IP_ADDR}:${GLOBAL_VVP_GITLAB_PORT1}
+${VVP_IMAGESCANNER_ENDPOINT} ${GLOBAL_VVP_SERVER_PROTOCOL}://${GLOBAL_INJECTED_VVP_IMAGESCANNER_IP_ADDR}:${GLOBAL_VVP_IMAGESCANNER_PORT}
+${VVP_INT_HAPROXY_ENDPOINT} ${GLOBAL_VVP_SERVER_PROTOCOL}://${GLOBAL_INJECTED_VVP_INT_HAPROXY_IP_ADDR}:${GLOBAL_VVP_INT_HAPROXY_PORT1}
+${VVP_JENKINS_ENDPOINT} ${GLOBAL_VVP_SERVER_PROTOCOL}://${GLOBAL_INJECTED_VVP_JENKINS_IP_ADDR}:${GLOBAL_VVP_JENKINS_PORT}
+${VVP_POSTGRES_ENDPOINT} ${GLOBAL_VVP_SERVER_PROTOCOL}://${GLOBAL_INJECTED_VVP_POSTGRES_IP_ADDR}:${GLOBAL_VVP_POSTGRES_PORT}
+${VVP_REDIS_ENDPOINT} ${GLOBAL_VVP_SERVER_PROTOCOL}://${GLOBAL_INJECTED_VVP_REDIS_IP_ADDR}:${GLOBAL_VVP_REDIS_PORT}
+
+*** Keywords ***
+Run VVP ICE CI Container (Automat Testing) Health Check
+ [Documentation] Tests interface for container with purpose: end-to-end flow tests based on Seleniunm
+ ${resp}= Run ICE CI Container (Automat Testing) Get Request ${VVP_PATH}
+ Should Be Equal As Strings ${resp.status_code} 200
+
+Run ICE CI Container (Automat Testing) Get Request
+ [Documentation] Runs request in container with purpose: end-to-end flow tests based on Seleniunm
+ [Arguments] ${data_path}
+ Log Creating session ${VVP_CI_UWSGI_ENDPOINT}
+ ${session}= Create Session ice-ci ${VVP_CI_UWSGI_ENDPOINT}
+ ${resp}= Get Request ice-ci ${data_path}
+ Log Received response from ice-ci ${resp.text}
+ [Return] ${resp}
+
+Run VVP CMS Health Check
+ [Documentation] Tests interface for container with purpose: backend uwsgi server which hosts django application
+ ${resp}= Run VVP CMS Get Request ${VVP_PATH}
+ Should Be Equal As Strings ${resp.status_code} 200
+
+Run VVP CMS Get Request ${VVP_PATH}
+ [Documentation] Runs request in container with purpose: backend uwsgi server which hosts django application
+ [Arguments] ${data_path}
+ Log Creating session ${VVP_CMS_UWSGI_ENDPOINT}
+ ${session}= Create Session cms ${VVP_CMS_UWSGI_ENDPOINT}
+ ${resp}= Get Request cms ${data_path}
+ Log Received response from cms ${resp.text}
+ [Return] ${resp}
+
+Run VVP Engagement Manager Health Check
+ [Documentation] Tests interface for container with purpose: backend uwsgi server which hosts django application
+ ${resp}= Run VVP Engagement Manager Get Request ${VVP_PATH}
+ Should Be Equal As Strings ${resp.status_code} 200
+
+Run VVP Engagement Manager Get Request
+ [Documentation] Runs request in container with purpose: backend uwsgi server which hosts django application
+ [Arguments] ${data_path}
+ Log Creating session ${VVP_EM_UWSGI_ENDPOINT}
+ ${session}= Create Session engagement-manager ${VVP_EM_UWSGI_ENDPOINT}
+ ${resp}= Get Request engagement-manager ${data_path}
+ Log Received response from engagement-manager ${resp.text}
+ [Return] ${resp}
+
+Run VVP Ext HA Proxy Health Check
+ [Documentation] Tests interface for container with purpose: load balancer for external transport
+ ${resp}= Run VVP Ext HA Proxy Get Request ${VVP_PATH}
+ Should Be Equal As Strings ${resp.status_code} 200
+
+Run VVP Ext HA Proxy Get Request
+ [Documentation] Runs request in container with purpose: load balancer for external transport
+ [Arguments] ${data_path}
+ Log Creating session ${VVP_EXT_HAPROXY_ENDPOINT}
+ ${session}= Create Session ext-haproxy ${VVP_EXT_HAPROXY_ENDPOINT}
+ ${resp}= Get Request ext-haproxy ${data_path}
+ Log Received response from ext-haproxy ${resp.text}
+ [Return] ${resp}
+
+Run VVP Gitlab Health Check
+ [Documentation] Tests gitlab interface
+ ${resp}= Run VVP Gitlab Get Request ${VVP_PATH}
+ Should Be Equal As Strings ${resp.status_code} 200
+
+Run VVP Gitlab Get Request
+ [Documentation] Runs an gitlab request
+ [Arguments] ${data_path}
+ Log Creating session ${VVP_GITLAB_ENDPOINT}
+ ${session}= Create Session gitlab ${VVP_GITLAB_ENDPOINT}
+ ${resp}= Get Request gitlab ${data_path}
+ Log Received response from gitlab ${resp.text}
+ [Return] ${resp}
+
+Run VVP Image Scanner Health Check
+ [Documentation] Tests interface for container with purpose: scan for validity and viruses on users files
+ ${resp}= Run VVP Image Scanner Get Request ${VVP_PATH}
+ Should Be Equal As Strings ${resp.status_code} 200
+
+Run VVP Image Scanner Get Request
+ [Documentation] Runs request in container with purpose: scan for validity and viruses on users files
+ [Arguments] ${data_path}
+ Log Creating session ${VVP_IMAGESCANNER_ENDPOINT}
+ ${session}= Create Session image-scanner ${VVP_IMAGESCANNER_ENDPOINT}
+ ${resp}= Get Request image-scanner ${data_path}
+ Log Received response from image-scanner ${resp.text}
+ [Return] ${resp}
+
+Run VVP Int HA Proxy Health Check
+ [Documentation] Tests interface for container with purpose: load balancer for internal (container to container) transport
+ ${resp}= Run VVP Int HA Proxy Get Request ${VVP_PATH}
+ Should Be Equal As Strings ${resp.status_code} 200
+
+Run VVP Int HA Proxy Get Request
+ [Documentation] Runs request in container with purpose: load balancer for internal (container to container) transport
+ [Arguments] ${data_path}
+ Log Creating session ${VVP_INT_HAPROXY_ENDPOINT}
+ ${session}= Create Session int-haproxy ${VVP_INT_HAPROXY_ENDPOINT}
+ ${resp}= Get Request int-haproxy ${data_path}
+ Log Received response from int-haproxy ${resp.text}
+ [Return] ${resp}
+
+Run VVP Jenkins Health Check
+ [Documentation] Tests jenkins interface
+ ${resp}= Run VVP Jenkins Get Request ${VVP_PATH}
+ Should Be Equal As Strings ${resp.status_code} 200
+
+Run VVP Jenkins Get Request
+ [Documentation] Runs a jenkins request
+ [Arguments] ${data_path}
+ Log Creating session ${VVP_JENKINS_ENDPOINT}
+ ${session}= Create Session jenkins ${VVP_JENKINS_ENDPOINT}
+ ${resp}= Get Request jenkins ${data_path}
+ Log Received response from jenkins ${resp.text}
+ [Return] ${resp}
+
+Run VVP Postgresql Health Check
+ [Documentation] Tests postgresql interface
+ ${resp}= Run VVP Postgresql Get Request ${VVP_PATH}
+ Should Be Equal As Strings ${resp.status_code} 200
+
+Run VVP Postgresql Get Request
+ [Documentation] Runs a postgresql request
+ [Arguments] ${data_path}
+ Log Creating session ${VVP_POSTGRES_ENDPOINT}
+ ${session}= Create Session postgresql ${VVP_POSTGRES_ENDPOINT}
+ ${resp}= Get Request postgresql ${data_path}
+ Log Received response from postgresql ${resp.text}
+ [Return] ${resp}
+
+Run VVP Redis Health Check
+ [Documentation] Tests redis interface
+ ${resp}= Run VVP Redis Get Request ${VVP_PATH}
+ Should Be Equal As Strings ${resp.status_code} 200
+
+Run VVP Redis Get Request
+ [Documentation] Runs a redis request
+ [Arguments] ${data_path}
+ Log Creating session ${VVP_REDIS_ENDPOINT}
+ ${session}= Create Session redis ${VVP_REDIS_ENDPOINT}
+ ${resp}= Get Request redis ${data_path}
+ Log Received response from redis ${resp.text}
+ [Return] ${resp}
+
diff --git a/robot/testsuites/health-check.robot b/robot/testsuites/health-check.robot
index 39328198..cd5a23af 100644
--- a/robot/testsuites/health-check.robot
+++ b/robot/testsuites/health-check.robot
@@ -27,6 +27,7 @@ Resource ../resources/sms_interface.robot
Resource ../resources/dr_interface.robot
Resource ../resources/pomba_interface.robot
Resource ../resources/holmes_interface.robot
+Resource ../resources/vvp_interface.robot
*** Test Cases ***
Basic A&AI Health Check
@@ -246,3 +247,43 @@ Basic Holmes Rule Management API Health Check
Basic Holmes Engine Management API Health Check
[Tags] health small
Run Holmes Engine Mgmt Health Check
+
+Basic VVP ICE CI Container (Automat Testing) Health Check
+ [Tags] health oom
+ Run VVP ICE CI Container (Automat Testing) Health Check
+
+Basic VVP CMS Health Check
+ [Tags] health oom
+ Run VVP CMS Health Check
+
+Basic VVP Engagement Manager Health Check
+ [Tags] health oom
+ Run VVP Engagement Manager Health Check
+
+Basic VVP Ext HA Proxy Health Check
+ [Tags] health oom
+ Run VVP Ext HA Proxy Health Check
+
+Basic VVP Gitlab Health Check
+ [Tags] health oom
+ Run VVP Gitlab Health Check
+
+Basic VVP Image Scanner Health Check
+ [Tags] health oom
+ Run VVP Image Scanner Health Check
+
+Basic VVP Int HA Proxy Health Check
+ [Tags] health oom
+ Run VVP Int HA Proxy Health Check
+
+Basic VVP Jenkins Health Check
+ [Tags] health oom
+ Run VVP Jenkins Health Check
+
+Basic VVP Postgresql Health Check
+ [Tags] health oom
+ Run VVP Postgresql Health Check
+
+Basic VVP Redis Health Check
+ [Tags] health oom
+ Run VVP Redis Health Check