
Add flexible mapping for services to check. Change-Id: I7e70574c40f7ec8ec12fcc806c196e68092a81e5
58 lines
2.0 KiB
Python
58 lines
2.0 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
|
|
|
|
from stacklight_tests.helpers import remote_ops
|
|
|
|
|
|
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 requested 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
|
|
|
|
|
|
def verify_services(remote, service_name, count):
|
|
"""Check that a process is running on a host.
|
|
|
|
:param remote: SSH connection to the node.
|
|
:type remote: SSHClient
|
|
:param service_name: the process name to match.
|
|
:type service_name: str
|
|
:param count: the number of processes to match.
|
|
:type count: int
|
|
:returns: list of PIDs.
|
|
:rtype: list
|
|
"""
|
|
msg = "{0} count not equal to {1}, received instead {2}."
|
|
pids = remote_ops.get_pids_of_process(remote, service_name)
|
|
asserts.assert_equal(
|
|
len(pids), count, msg.format(service_name, count, len(pids)))
|
|
return pids
|