Merge "Change telemetry client to return one value and update tests"
diff --git a/tempest/api/telemetry/base.py b/tempest/api/telemetry/base.py
index e840e3b..8885187 100644
--- a/tempest/api/telemetry/base.py
+++ b/tempest/api/telemetry/base.py
@@ -52,11 +52,11 @@
@classmethod
def create_alarm(cls, **kwargs):
- resp, body = cls.telemetry_client.create_alarm(
+ body = cls.telemetry_client.create_alarm(
name=data_utils.rand_name('telemetry_alarm'),
type='threshold', **kwargs)
cls.alarm_ids.append(body['alarm_id'])
- return resp, body
+ return body
@classmethod
def create_server(cls):
@@ -100,10 +100,9 @@
timeout = CONF.compute.build_timeout
start = timeutils.utcnow()
while timeutils.delta_seconds(start, timeutils.utcnow()) < timeout:
- resp, body = self.telemetry_client.list_samples(metric, query)
- self.assertEqual(resp.status, 200)
+ body = self.telemetry_client.list_samples(metric, query)
if body:
- return resp, body
+ return body
time.sleep(CONF.compute.build_interval)
raise exceptions.TimeoutException(
diff --git a/tempest/api/telemetry/test_telemetry_alarming_api.py b/tempest/api/telemetry/test_telemetry_alarming_api.py
index b45d545..97eb4eb 100644
--- a/tempest/api/telemetry/test_telemetry_alarming_api.py
+++ b/tempest/api/telemetry/test_telemetry_alarming_api.py
@@ -32,8 +32,7 @@
@test.attr(type="gate")
def test_alarm_list(self):
# List alarms
- resp, alarm_list = self.telemetry_client.list_alarms()
- self.assertEqual(200, resp.status)
+ alarm_list = self.telemetry_client.list_alarms()
# Verify created alarm in the list
fetched_ids = [a['alarm_id'] for a in alarm_list]
@@ -47,9 +46,8 @@
def test_create_update_get_delete_alarm(self):
# Create an alarm
alarm_name = data_utils.rand_name('telemetry_alarm')
- resp, body = self.telemetry_client.create_alarm(
+ body = self.telemetry_client.create_alarm(
name=alarm_name, type='threshold', threshold_rule=self.rule)
- self.assertEqual(201, resp.status)
self.assertEqual(alarm_name, body['name'])
alarm_id = body['alarm_id']
self.assertDictContainsSubset(self.rule, body['threshold_rule'])
@@ -59,39 +57,34 @@
'threshold': 70.0,
'period': 60}
alarm_name = data_utils.rand_name('telemetry-alarm-update')
- resp, body = self.telemetry_client.update_alarm(
+ body = self.telemetry_client.update_alarm(
alarm_id,
threshold_rule=new_rule,
name=alarm_name,
type='threshold')
- self.assertEqual(200, resp.status)
self.assertEqual(alarm_name, body['name'])
self.assertDictContainsSubset(new_rule, body['threshold_rule'])
# Get and verify details of an alarm after update
- resp, body = self.telemetry_client.get_alarm(alarm_id)
- self.assertEqual(200, resp.status)
+ body = self.telemetry_client.get_alarm(alarm_id)
self.assertEqual(alarm_name, body['name'])
self.assertDictContainsSubset(new_rule, body['threshold_rule'])
# Delete alarm and verify if deleted
- resp, _ = self.telemetry_client.delete_alarm(alarm_id)
- self.assertEqual(204, resp.status)
+ self.telemetry_client.delete_alarm(alarm_id)
self.assertRaises(exceptions.NotFound,
self.telemetry_client.get_alarm, alarm_id)
@test.attr(type="gate")
def test_set_get_alarm_state(self):
alarm_states = ['ok', 'alarm', 'insufficient data']
- _, alarm = self.create_alarm(threshold_rule=self.rule)
+ alarm = self.create_alarm(threshold_rule=self.rule)
# Set alarm state and verify
new_state =\
[elem for elem in alarm_states if elem != alarm['state']][0]
- resp, state = self.telemetry_client.alarm_set_state(alarm['alarm_id'],
- new_state)
- self.assertEqual(200, resp.status)
+ _, state = self.telemetry_client.alarm_set_state(alarm['alarm_id'],
+ new_state)
self.assertEqual(new_state, state)
# Get alarm state and verify
- resp, state = self.telemetry_client.alarm_get_state(alarm['alarm_id'])
- self.assertEqual(200, resp.status)
+ _, state = self.telemetry_client.alarm_get_state(alarm['alarm_id'])
self.assertEqual(new_state, state)
@test.attr(type="gate")
@@ -100,15 +93,13 @@
"operator": "or"}
# Verifies alarm create
alarm_name = data_utils.rand_name('combination_alarm')
- resp, body = self.telemetry_client.create_alarm(name=alarm_name,
- combination_rule=rule,
- type='combination')
- self.assertEqual(201, resp.status)
+ body = self.telemetry_client.create_alarm(name=alarm_name,
+ combination_rule=rule,
+ type='combination')
self.assertEqual(alarm_name, body['name'])
alarm_id = body['alarm_id']
self.assertDictContainsSubset(rule, body['combination_rule'])
# Verify alarm delete
- resp, _ = self.telemetry_client.delete_alarm(alarm_id)
- self.assertEqual(204, resp.status)
+ self.telemetry_client.delete_alarm(alarm_id)
self.assertRaises(exceptions.NotFound,
self.telemetry_client.get_alarm, alarm_id)
diff --git a/tempest/cmd/cleanup_service.py b/tempest/cmd/cleanup_service.py
index b6e1663..6f3b50f 100644
--- a/tempest/cmd/cleanup_service.py
+++ b/tempest/cmd/cleanup_service.py
@@ -778,7 +778,7 @@
def list(self):
client = self.client
- _, alarms = client.list_alarms()
+ alarms = client.list_alarms()
LOG.debug("List count, %s Alarms" % len(alarms))
return alarms
diff --git a/tempest/cmd/javelin.py b/tempest/cmd/javelin.py
index 504a9f1..889b2dd 100755
--- a/tempest/cmd/javelin.py
+++ b/tempest/cmd/javelin.py
@@ -474,11 +474,10 @@
LOG.info("checking telemetry")
for server in self.res['servers']:
client = client_for_user(server['owner'])
- response, body = client.telemetry.list_samples(
+ body = client.telemetry.list_samples(
'instance',
query=('metadata.display_name', 'eq', server['name'])
)
- self.assertEqual(response.status, 200)
self.assertTrue(len(body) >= 1, 'expecting at least one sample')
self._confirm_telemetry_sample(server, body[-1])
diff --git a/tempest/scenario/test_swift_telemetry_middleware.py b/tempest/scenario/test_swift_telemetry_middleware.py
index e8eb45c..dce6023 100644
--- a/tempest/scenario/test_swift_telemetry_middleware.py
+++ b/tempest/scenario/test_swift_telemetry_middleware.py
@@ -71,7 +71,7 @@
Otherwise returning False will case _check_samples to be
called again.
"""
- _, results = self.telemetry_client.list_samples(
+ results = self.telemetry_client.list_samples(
'storage.api.request')
LOG.debug('got samples %s', results)
diff --git a/tempest/services/telemetry/json/telemetry_client.py b/tempest/services/telemetry/json/telemetry_client.py
index 2967cfa..dd899e4 100644
--- a/tempest/services/telemetry/json/telemetry_client.py
+++ b/tempest/services/telemetry/json/telemetry_client.py
@@ -45,8 +45,9 @@
uri = "%s/meters/%s" % (self.uri_prefix, meter_name)
body = self.serialize(sample_list)
resp, body = self.post(uri, body)
+ self.expected_success(200, resp.status)
body = self.deserialize(body)
- return resp, body
+ return service_client.ResponseBody(resp, body)
def helper_list(self, uri, query=None, period=None):
uri_dict = {}
@@ -59,8 +60,9 @@
if uri_dict:
uri += "?%s" % urllib.urlencode(uri_dict)
resp, body = self.get(uri)
+ self.expected_success(200, resp.status)
body = self.deserialize(body)
- return resp, body
+ return service_client.ResponseBodyList(resp, body)
def list_resources(self, query=None):
uri = '%s/resources' % self.uri_prefix
@@ -85,39 +87,45 @@
def get_resource(self, resource_id):
uri = '%s/resources/%s' % (self.uri_prefix, resource_id)
resp, body = self.get(uri)
+ self.expected_success(200, resp.status)
body = self.deserialize(body)
- return resp, body
+ return service_client.ResponseBody(resp, body)
def get_alarm(self, alarm_id):
uri = '%s/alarms/%s' % (self.uri_prefix, alarm_id)
resp, body = self.get(uri)
+ self.expected_success(200, resp.status)
body = self.deserialize(body)
- return resp, body
+ return service_client.ResponseBody(resp, body)
def delete_alarm(self, alarm_id):
uri = "%s/alarms/%s" % (self.uri_prefix, alarm_id)
resp, body = self.delete(uri)
+ self.expected_success(204, resp.status)
if body:
body = self.deserialize(body)
- return resp, body
+ return service_client.ResponseBody(resp, body)
def create_alarm(self, **kwargs):
uri = "%s/alarms" % self.uri_prefix
body = self.serialize(kwargs)
resp, body = self.post(uri, body)
+ self.expected_success(201, resp.status)
body = self.deserialize(body)
- return resp, body
+ return service_client.ResponseBody(resp, body)
def update_alarm(self, alarm_id, **kwargs):
uri = "%s/alarms/%s" % (self.uri_prefix, alarm_id)
body = self.serialize(kwargs)
resp, body = self.put(uri, body)
+ self.expected_success(200, resp.status)
body = self.deserialize(body)
- return resp, body
+ return service_client.ResponseBody(resp, body)
def alarm_get_state(self, alarm_id):
uri = "%s/alarms/%s/state" % (self.uri_prefix, alarm_id)
resp, body = self.get(uri)
+ self.expected_success(200, resp.status)
body = self.deserialize(body)
return resp, body
@@ -125,5 +133,6 @@
uri = "%s/alarms/%s/state" % (self.uri_prefix, alarm_id)
body = self.serialize(state)
resp, body = self.put(uri, body)
+ self.expected_success(200, resp.status)
body = self.deserialize(body)
return resp, body