Sync tempest code for cassandra support
* Ie60d668692e1f25f555dda2355f4e513d582736c Added the cassandra support it syncs the same in tempest plugin side. * Copied flake8 ignores from monasca-api code base in order to avoid breakage. Change-Id: I27ecc28e48da5a96e5e639026d212da3b6467646 Story: 2001400 Task: 6121
This commit is contained in:
parent
f68f2e0925
commit
1247b3e976
|
@ -1,4 +1,5 @@
|
|||
# (C) Copyright 2015 Hewlett Packard Enterprise Development Company LP
|
||||
# (C) Copyright 2017 SUSE LLC
|
||||
#
|
||||
# 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
|
||||
|
@ -133,36 +134,46 @@ def get_expected_elements_inner_offset_limit(all_elements, offset, limit, inner_
|
|||
total_statistics = 0
|
||||
|
||||
if offset is None:
|
||||
offset_id = 0
|
||||
offset_id = None
|
||||
offset_time = ""
|
||||
passed_offset = True
|
||||
else:
|
||||
offset_tuple = offset.split('_')
|
||||
offset_id = int(offset_tuple[0]) if len(offset_tuple) > 1 else 0
|
||||
offset_id = offset_tuple[0] if len(offset_tuple) > 1 else u'0'
|
||||
offset_time = offset_tuple[1] if len(offset_tuple) > 1 else offset_tuple[0]
|
||||
passed_offset = False
|
||||
|
||||
for element in all_elements:
|
||||
element_id = int(element['id'])
|
||||
if offset_id is not None and element_id < offset_id:
|
||||
element_id = element['id']
|
||||
if (not passed_offset) and element_id != offset_id:
|
||||
continue
|
||||
next_element = None
|
||||
for value in element[inner_key]:
|
||||
if (element_id == offset_id and value[0] > offset_time) or \
|
||||
element_id > offset_id:
|
||||
|
||||
for value in element[inner_key]:
|
||||
if passed_offset or (element_id == offset_id and value[0] > offset_time):
|
||||
if not passed_offset:
|
||||
passed_offset = True
|
||||
if not next_element:
|
||||
next_element = element.copy()
|
||||
next_element[inner_key] = [value]
|
||||
else:
|
||||
next_element[inner_key].append(value)
|
||||
total_statistics += 1
|
||||
if total_statistics >= limit:
|
||||
break
|
||||
if total_statistics >= limit:
|
||||
break
|
||||
|
||||
if next_element:
|
||||
expected_elements.append(next_element)
|
||||
|
||||
if total_statistics >= limit:
|
||||
break
|
||||
|
||||
for i in range(len(expected_elements)):
|
||||
expected_elements[i]['id'] = str(i)
|
||||
if element_id == offset_id:
|
||||
passed_offset = True
|
||||
|
||||
# if index is used in the element id, reset to start at zero
|
||||
if expected_elements and expected_elements[0]['id'].isdigit():
|
||||
for i in range(len(expected_elements)):
|
||||
expected_elements[i]['id'] = str(i)
|
||||
|
||||
return expected_elements
|
||||
|
|
|
@ -1,4 +1,5 @@
|
|||
# (C) Copyright 2016 Hewlett Packard Enterprise Development LP
|
||||
# (C) Copyright 2017 SUSE LLC
|
||||
#
|
||||
# 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
|
||||
|
@ -75,9 +76,14 @@ class TestDimensions(base.BaseMonascaTest):
|
|||
resp, response_body = cls.monasca_client.list_metrics(
|
||||
param)
|
||||
elements = response_body['elements']
|
||||
metric_name1_count = 0
|
||||
for element in elements:
|
||||
returned_name_set.add(str(element['name']))
|
||||
if cls._test_metric_names.issubset(returned_name_set):
|
||||
if (str(element['name']) == metric_name1):
|
||||
metric_name1_count += 1
|
||||
# Java version of influxdb never returns both metric1 in the list but Python does.
|
||||
if cls._test_metric_names.issubset(returned_name_set) \
|
||||
and (metric_name1_count == 2 or i == constants.MAX_RETRIES - 1):
|
||||
return
|
||||
time.sleep(constants.RETRY_WAIT_SECS)
|
||||
|
||||
|
|
|
@ -1,4 +1,5 @@
|
|||
# (C) Copyright 2015-2016 Hewlett Packard Enterprise Development LP
|
||||
# (C) Copyright 2017 SUSE LLC
|
||||
#
|
||||
# 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
|
||||
|
@ -238,7 +239,7 @@ class TestStatistics(base.BaseMonascaTest):
|
|||
resp, response_body = self.monasca_client.list_metrics(query_parms)
|
||||
self.assertEqual(200, resp.status)
|
||||
elements = response_body['elements']
|
||||
if elements:
|
||||
if elements and len(elements) == num_metrics:
|
||||
break
|
||||
else:
|
||||
time.sleep(constants.RETRY_WAIT_SECS)
|
||||
|
|
17
tox.ini
17
tox.ini
|
@ -42,9 +42,16 @@ commands =
|
|||
commands = oslo_debug_helper {posargs}
|
||||
|
||||
[flake8]
|
||||
# E123, E125 skipped as they are invalid PEP-8.
|
||||
|
||||
show-source = True
|
||||
ignore = E123,E125
|
||||
# TODO: ignored checks should be enabled in the future
|
||||
# H201 no 'except:' at least use 'except Exception:'
|
||||
# H302 import only modules
|
||||
# H405 multi line docstring summary not separated with an empty line
|
||||
ignore = F821,H201,H302,H405
|
||||
# H106: Don’t put vim configuration in source files
|
||||
# H203: Use assertIs(Not)None to check for None
|
||||
enable-extensions=H106,H203
|
||||
max-complexity = 50
|
||||
max-line-length = 120
|
||||
builtins = _
|
||||
exclude=.venv,.git,.tox,dist,doc,*lib/python*,*egg,build
|
||||
exclude=.venv,.git,.tox,dist,doc,*lib/python*,*egg,tools,build
|
||||
show-source = True
|
||||
|
|
Loading…
Reference in New Issue