Issue-ID: RIC-149
[it/test.git] / ric_robot_suite / helm / nanobot / configmap-src / public / testsuites / ricdeployment.robot
1 #   Copyright (c) 2019 AT&T Intellectual Property.
2 #   Copyright (c) 2019 Nokia.
3 #
4 #   Licensed under the Apache License, Version 2.0 (the "License");
5 #   you may not use this file except in compliance with the License.
6 #   You may obtain a copy of the License at
7 #
8 #       http://www.apache.org/licenses/LICENSE-2.0
9 #
10 #   Unless required by applicable law or agreed to in writing, software
11 #   distributed under the License is distributed on an "AS IS" BASIS,
12 #   WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
13 #   See the License for the specific language governing permissions and
14 #   limitations under the License.
15 ***settings ***
16 Documentation   Tests for the existence and functionality of RIC components
17
18 Resource       /robot/resources/global_properties.robot
19
20 Resource       /robot/resources/ric/ric_utils.robot
21
22 Library  KubernetesEntity  ${GLOBAL_RICPLT_NAMESPACE}
23 Library  Collections
24 Library  String
25
26 *** Keywords ***
27 Assign True
28   [Return]      True
29
30 *** Variables ****
31 #&{GLOBAL_RICPLT_COMPONENTS}    {dbaas = statefulset|statefulset-ricplt-dbaas}
32
33 *** Test Cases ***
34 Ensure RIC components are deployed and available
35   [Tags]  etetests  k8stests  ci_tests
36   FOR  ${component}  IN  @{GLOBAL_RICPLT_COMPONENTS}
37      ${controllerName} =  Get From Dictionary              ${GLOBAL_RICPLT_COMPONENTS}  ${Component}
38      ${cType}  ${name} =  Split String  ${controllerName}  |
39      Log To Console     ${cType}
40      ${ctrl} =  Run Keyword     ${cType}        ${name}
41      Should Be Equal      ${ctrl.status.replicas}          ${ctrl.status.ready_replicas}
42      Log To Console     ${Component}
43      #Log To Console    ${cType}
44      #
45
46      Log To Console     ${ctrl.status}
47      ${status} =        Run Keyword If  '${cType}' == 'deployment'
48      ...                  Most Recent Availability Condition    @{ctrl.status.conditions}
49      ...                ELSE
50      ...                  Assign True
51      Log To Console     ${status}
52      Log To Console     ----------------------------
53      Should Be Equal As Strings  ${status}  True  ignore_case=True  msg=${Component} is not available
54   END
55