Simon Pasquier 744cf3aff1 Add more checks for InfluxDB/Grafana
This change adds a few checks after the deployment of the
InfluxDB/Grafana plugin:

  - Check that authorized users can access the API (InfluxDB and Grafana)
  - Check that unauthorized users can't access the API (InfluxDB and
    Grafana)
  - Check that the root user can login and has admin rights (InfluxDB)
  - Check that the login page is accessible (Grafana)

Change-Id: I1fa49469f71b2d1cd3e99bac76de81f3f7a68c2b
2016-05-12 16:38:14 +02:00

37 lines
1.3 KiB
Python

# Copyright 2016 Mirantis, Inc.
#
# 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.
from proboscis import asserts
import requests
def check_http_get_response(url, expected_code=200, msg=None, **kwargs):
"""Perform a HTTP GET request and assert that the HTTP server replies with
the expected code.
:param url: the request URL
:type url: str
:param expected_code: the expected HTTP response code. Defaults to 200
:type expected_code: int
:param msg: the assertion message. Defaults to None
:type msg: str
:returns: HTTP response object
:rtype: requests.Response
"""
msg = msg or "%s responded with {0}, expected {1}" % url
r = requests.get(url, **kwargs)
asserts.assert_equal(
r.status_code, expected_code, msg.format(r.status_code, expected_code))
return r