Feature 11001: Robot framework linting for E2E tests
[osm/tests.git] / robot-systest / lib / prometheus_lib.robot
diff --git a/robot-systest/lib/prometheus_lib.robot b/robot-systest/lib/prometheus_lib.robot
deleted file mode 100644 (file)
index 0f4f07c..0000000
+++ /dev/null
@@ -1,79 +0,0 @@
-#   Licensed under the Apache License, Version 2.0 (the "License");
-#   you may not use this file except in compliance with the License.
-#   You may obtain a copy of the License at
-#
-#       http://www.apache.org/licenses/LICENSE-2.0
-#
-#   Unless required by applicable law or agreed to in writing, software
-#   distributed under the License is distributed on an "AS IS" BASIS,
-#   WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
-#   See the License for the specific language governing permissions and
-#   limitations under the License.
-
-*** Settings ***
-Documentation   Library to obtain metrics from Prometheus.
-
-Library   String
-Library   Collections
-Library   OperatingSystem
-Library   RequestsLibrary
-
-
-*** Variables ***
-${timeout}   30
-${max_retries}   1
-${prometheus_host}   %{PROMETHEUS_HOSTNAME=UNKNOWN}
-${prometheus_port}   %{PROMETHEUS_PORT=9090}
-${prometheus_user}   %{PROMETHEUS_USER=""}
-${prometheus_password}   %{PROMETHEUS_PASSWORD=""}
-
-
-*** Keywords ***
-Set Testsuite Prometheus Variables
-    [Documentation]   Set Testsuite Prometheus Variables to be used in subsequent test cases
-
-    IF   '${prometheus_host}' == 'UNKNOWN'
-        ${local_prometheus_host}=   Get Environment Variable   OSM_HOSTNAME
-        Set Suite Variable   ${prometheus_host}   ${local_prometheus_host}
-        Set Suite Variable   ${prometheus_port}   9091
-    END
-    Log   ${prometheus_port}
-    Log   ${prometheus_host}
-    Log   ${prometheus_user}
-    Log   ${prometheus_password}
-
-
-Get Metric
-    [Documentation]   Get the instant value of a metric from Prometheus using multiple filter parameters.
-    ...                 The filter parameters are given to this function in key=value format (one argument per key/value pair).
-    ...                 Fails if the metric is not found or has multiple values.
-    ...                 Examples of execution:
-    ...                     \${metric}=   Get Metric   \${prometheus_ip}   \${prometheus_port}   ${prometheus_password}   \${metric}
-    ...                     \${metric}=   Get Metric   \${prometheus_ip}   \${prometheus_port}   ${prometheus_password}   \${metric}   \${param1}=\${value1}   \${param2}=\${value2}
-
-    [Arguments]   ${prometheus_ip}   ${prometheus_port}   ${prometheus_user}   ${prometheus_password}   ${metric}   @{filter_parameters}
-
-    ${filter}=   Set Variable   ${EMPTY}
-    FOR   ${param}   IN   @{filter_parameters}
-        ${match}   ${param_name}   ${param_value} =   Should Match Regexp   ${param}   (.+)=(.+)   msg=Syntax error in filter parameters
-        ${filter}=   Catenate   SEPARATOR=   ${filter}   ${param_name}="${param_value}",
-    END
-    ${resp}=   Execute Prometheus Instant Query   ${prometheus_host}   ${prometheus_port}   ${prometheus_user}   ${prometheus_password}   query=${metric}{${filter}}
-    ${result_list}=   Convert To List   ${resp["data"]["result"]}
-    ${results}=   Get Length   ${result_list}
-    Should Not Be Equal As Numbers   0   ${results}   msg=Metric ${metric} not found   values=false
-    Should Be Equal As Integers   1   ${results}   msg=Metric ${metric} with multiple values   values=false
-    [Return]   ${result_list[0]["value"][1]}
-
-
-Execute Prometheus Instant Query
-    [Documentation]   Execute a Prometheus Instant Query using HTTP API.
-    ...                 Return an inline json with the result of the query.
-    ...                 The requested URL is the next: http://\${prometheus_ip}:\${prometheus_port}/api/v1/query?\${querystring}
-
-    [Arguments]   ${prometheus_ip}   ${prometheus_port}   ${prometheus_user}   ${prometheus_password}   ${querystring}
-    ${auth}=   IF   '${prometheus_password}'!='${EMPTY}'   Create List   ${prometheus_user}   ${prometheus_password}   ELSE   Set Variable   None
-    Create Session   prometheus   http://${prometheus_ip}:${prometheus_port}   timeout=${timeout}   max_retries=${max_retries}   verify=false   auth=${auth}
-    ${resp}=   GET On Session   prometheus   /api/v1/query?${querystring}   timeout=${timeout}
-    Status Should Be   200   ${resp}
-    [Return]   ${resp.json()}