*** Settings ***
Documentation Tests for the existence and functionality of RIC components
-Library KubernetesEntity ${NAMESPACE}
+Resource ../resources/global_properties.robot
+Resource ../resources/ric/ric_utils.robot
+
+Library KubernetesEntity ${GLOBAL_RICPLT_NAMESPACE}
Library Collections
Library String
-# Resource ../resources/appmgr/appmgr_interface.robot
-# Resource ../resources/e2mgr/e2mgr_interface.robot
-
-*** Variables ***
-${NAMESPACE} %{RICPLT_NAMESPACE}
-${PFX} %{RICPLT_RELEASE_NAME}
-
*** Test Cases ***
Deployments
[Tags] etetests k8stests ci_tests
- @{Components} = Split String %{RICPLT_COMPONENTS}
- :FOR ${Component} IN @{Components}
- \ Log Retrieving Deployment for ${Component}
- #\ ${deploy} = Deployment ${PFX}-${Component}
- # new helm deployment naming 6/2019
- \ ${deploy} = Deployment deployment-${PFX}-${Component}
- \ ${status} = Most Recent Availability Condition @{deploy.status.conditions}
- \ Should Be Equal As Strings ${status} True ignore_case=True msg=${Component} is not available
-
-*** Keywords ***
-Most Recent Availability Condition
- # this makes the probably-unsafe assumption that the conditions are ordered
- # temporally.
- [Arguments] @{Conditions}
- ${status} = Set Variable 'False'
- :FOR ${Condition} IN @{Conditions}
- \ ${status} = Set Variable If '${Condition.type}' == 'Available' ${Condition.status} ${status}
- [Return] ${status}
+ FOR ${component} IN @{GLOBAL_RICPLT_COMPONENTS}
+ ${controllerName} = Get From Dictionary ${GLOBAL_RICPLT_COMPONENTS} ${Component}
+ ${cType} ${name} = Split String ${controllerName} |
+ ${ctrl} = Run Keyword ${cType} ${name}
+ Should Be Equal ${ctrl.status.replicas} ${ctrl.status.ready_replicas}
+ # this doesn't seem to exist for statefulsets
+ ${status} = Run Keyword If '${cType}' == 'deployment'
+ ... ${status} = Most Recent Availability Condition @{deploy.status.conditions}
+ ... ELSE
+ ... Set Variable 'True'
+ Should Be Equal As Strings ${status} True ignore_case=True msg=${Component} is not available
+ END
+
+
\ No newline at end of file