diff --git a/monasca_tempest_tests/services/monasca_client.py b/monasca_tempest_tests/services/monasca_client.py index 39eb27d..366f5cb 100644 --- a/monasca_tempest_tests/services/monasca_client.py +++ b/monasca_tempest_tests/services/monasca_client.py @@ -197,7 +197,7 @@ class MonascaClient(rest_client.RestClient): request_body['ok_actions'] = ok_actions request_body['undetermined_actions'] = undetermined_actions - for key, value in kwargs.iteritems(): + for key, value in kwargs.items(): request_body[key] = value resp, response_body = self.put(uri, json.dumps(request_body)) @@ -236,7 +236,7 @@ class MonascaClient(rest_client.RestClient): if undetermined_actions is not None: request_body['undetermined_actions'] = undetermined_actions - for key, value in kwargs.iteritems(): + for key, value in kwargs.items(): request_body[key] = value resp, response_body = self.patch(uri, json.dumps(request_body)) @@ -266,7 +266,7 @@ class MonascaClient(rest_client.RestClient): request_body['lifecycle_state'] = lifecycle_state request_body['link'] = link - for key, value in kwargs.iteritems(): + for key, value in kwargs.items(): request_body[key] = value resp, response_body = self.put(uri, json.dumps(request_body)) @@ -283,7 +283,7 @@ class MonascaClient(rest_client.RestClient): if link is not None: request_body['link'] = link - for key, value in kwargs.iteritems(): + for key, value in kwargs.items(): request_body[key] = value resp, response_body = self.patch(uri, json.dumps(request_body)) @@ -328,7 +328,7 @@ class MonascaClient(rest_client.RestClient): request_body['alarm_actions'] = alarm_actions request_body['undetermined_actions'] = undetermined_actions - for key, value in kwargs.iteritems(): + for key, value in kwargs.items(): request_body[key] = value resp, response_body = self.put(uri, json.dumps(request_body)) diff --git a/monasca_tempest_tests/tests/api/test_alarm_definitions.py b/monasca_tempest_tests/tests/api/test_alarm_definitions.py index e01b13e..d598a4f 100644 --- a/monasca_tempest_tests/tests/api/test_alarm_definitions.py +++ b/monasca_tempest_tests/tests/api/test_alarm_definitions.py @@ -16,6 +16,7 @@ import time import six.moves.urllib.parse as urlparse +from six import PY3 from tempest.lib.common.utils import data_utils from tempest.lib import decorators from tempest.lib import exceptions @@ -219,8 +220,7 @@ class TestAlarmDefinitions(base.BaseMonascaTest): alarm_def_name = data_utils.rand_name('monitoring_alarm') alarm_definition = helpers.create_alarm_definition( name=alarm_def_name, - expression="avg(mem_total_mb{dev=\usr\local\bin}) " - "gt 0", + expression="avg(mem_total_mb{dev=\\usr\local\bin}) gt 0", alarm_actions=[notification_id], ok_actions=[notification_id], undetermined_actions=[notification_id], @@ -339,8 +339,9 @@ class TestAlarmDefinitions(base.BaseMonascaTest): @decorators.attr(type="gate") def test_list_alarm_definitions_with_multibyte_character(self): - name = data_utils.rand_name('alarm_definition').decode('utf8') - description = 'description'.decode('utf8') + rand_name = data_utils.rand_name('alarm_definition') + name = rand_name if PY3 else rand_name.decode('utf8') + description = 'description' if PY3 else 'description'.decode('utf8') response_body_list = self._create_alarm_definitions( name=name, @@ -720,8 +721,9 @@ class TestAlarmDefinitions(base.BaseMonascaTest): @decorators.attr(type="gate") def test_get_alarm_definition_with_multibyte_character(self): # Create an alarm definition - name = data_utils.rand_name('alarm_definition').decode('utf8') - description = 'description'.decode('utf8') + rand_name = data_utils.rand_name('alarm_definition') + name = rand_name if PY3 else rand_name.decode('utf-8') + description = 'description' if PY3 else 'description'.decode('utf8') response_body_list = self._create_alarm_definitions( name=name, description=description, diff --git a/monasca_tempest_tests/tests/api/test_alarms.py b/monasca_tempest_tests/tests/api/test_alarms.py index 06782bc..27edc01 100644 --- a/monasca_tempest_tests/tests/api/test_alarms.py +++ b/monasca_tempest_tests/tests/api/test_alarms.py @@ -13,7 +13,6 @@ # under the License. import time -import urllib import six.moves.urllib.parse as urlparse @@ -527,7 +526,7 @@ class TestAlarms(base.BaseMonascaTest): for iter in range(2): sort_by_params = 'link,lifecycle_state' if iter == 1: - query_parms = urllib.urlencode([('sort_by', sort_by_params)]) + query_parms = urlparse.urlencode([('sort_by', sort_by_params)]) else: query_parms = 'sort_by=' + sort_by_params resp, response_body = self.monasca_client.list_alarms( diff --git a/monasca_tempest_tests/tests/api/test_alarms_count.py b/monasca_tempest_tests/tests/api/test_alarms_count.py index 08e76b6..77d2edf 100644 --- a/monasca_tempest_tests/tests/api/test_alarms_count.py +++ b/monasca_tempest_tests/tests/api/test_alarms_count.py @@ -13,7 +13,8 @@ # under the License. import time -import urllib + +import six.moves.urllib.parse as parse from tempest.lib.common.utils import data_utils from tempest.lib import decorators @@ -239,7 +240,7 @@ class TestAlarmsCount(base.BaseMonascaTest): # a string. The API needs to handle both. # test_with_all_group_by_params tests multiple group_by without # urlencode - query_params = urllib.urlencode([('group_by', 'state,severity')]) + query_params = parse.urlencode([('group_by', 'state,severity')]) resp, response_body = self.monasca_client.count_alarms("?" + query_params) self._verify_counts_format(response_body, group_by=['state', 'severity']) diff --git a/monasca_tempest_tests/tests/api/test_alarms_state_history_one_transition.py b/monasca_tempest_tests/tests/api/test_alarms_state_history_one_transition.py index 98c8fa8..d35c47a 100644 --- a/monasca_tempest_tests/tests/api/test_alarms_state_history_one_transition.py +++ b/monasca_tempest_tests/tests/api/test_alarms_state_history_one_transition.py @@ -92,7 +92,7 @@ class TestAlarmsStateHistoryOneTransition(base.BaseMonascaTest): if elements: element = elements[0] dimension = element['metrics'][0]['dimensions'] - dimension_items = dimension.items() + dimension_items = list(dimension.items()) dimension_item = dimension_items[0] dimension_item_0 = dimension_item[0] dimension_item_1 = dimension_item[1] diff --git a/monasca_tempest_tests/tests/api/test_dimensions.py b/monasca_tempest_tests/tests/api/test_dimensions.py index 4a09e40..aba2f64 100644 --- a/monasca_tempest_tests/tests/api/test_dimensions.py +++ b/monasca_tempest_tests/tests/api/test_dimensions.py @@ -14,7 +14,8 @@ # under the License. import time -from urllib import urlencode + +from six.moves.urllib.parse import urlencode from tempest.lib.common.utils import data_utils from tempest.lib import decorators diff --git a/monasca_tempest_tests/tests/api/test_measurements.py b/monasca_tempest_tests/tests/api/test_measurements.py index 49ef5e4..3823b45 100644 --- a/monasca_tempest_tests/tests/api/test_measurements.py +++ b/monasca_tempest_tests/tests/api/test_measurements.py @@ -14,6 +14,8 @@ import time +from six import text_type + from monasca_tempest_tests.tests.api import base from monasca_tempest_tests.tests.api import constants from monasca_tempest_tests.tests.api import helpers @@ -90,7 +92,7 @@ class TestMeasurements(base.BaseMonascaTest): format(name2, start_time, end_time)) for timer in range(constants.MAX_RETRIES): - responses = map(cls.monasca_client.list_measurements, queries) + responses = list(map(cls.monasca_client.list_measurements, queries)) resp_first = responses[0][0] response_body_first = responses[0][1] resp_second = responses[1][0] @@ -271,7 +273,7 @@ class TestMeasurements(base.BaseMonascaTest): self._verify_list_measurements_elements(elements, None, None) for measurements in elements: self.assertEqual(1, len(measurements['dimensions'].keys())) - self.assertEqual([u'key2'], measurements['dimensions'].keys()) + self.assertEqual([u'key2'], list(measurements['dimensions'].keys())) @decorators.attr(type="gate") def test_list_measurements_with_group_by_multiple(self): @@ -347,7 +349,7 @@ class TestMeasurements(base.BaseMonascaTest): '}&merge_metrics=false'. format(self._names_list[0], self._start_time, self._end_time)) - responses = map(self.monasca_client.list_measurements, queries) + responses = list(map(self.monasca_client.list_measurements, queries)) for i in range(2): self._verify_list_measurements(responses[i][0], responses[i][1]) @@ -388,7 +390,7 @@ class TestMeasurements(base.BaseMonascaTest): self.assertEqual(set(element), set(['columns', 'dimensions', 'id', 'measurements', 'name'])) - self.assertTrue(type(element['name']) is unicode) + self.assertTrue(type(element['name']) is text_type) self.assertTrue(type(element['dimensions']) is dict) self.assertTrue(type(element['columns']) is list) self.assertTrue(type(element['measurements']) is list) diff --git a/monasca_tempest_tests/tests/api/test_metrics.py b/monasca_tempest_tests/tests/api/test_metrics.py index 67453b7..c764360 100644 --- a/monasca_tempest_tests/tests/api/test_metrics.py +++ b/monasca_tempest_tests/tests/api/test_metrics.py @@ -18,6 +18,8 @@ import time from six.moves import urllib_parse as urlparse +from six import PY3 +from six import text_type from tempest.lib.common.utils import data_utils from tempest.lib import decorators @@ -75,15 +77,20 @@ class TestMetrics(base.BaseMonascaTest): @decorators.attr(type='gate') def test_create_metric_with_multibyte_character(self): - name = data_utils.rand_name('name').decode('utf8') - key = data_utils.rand_name('key').decode('utf8') - value = data_utils.rand_name('value').decode('utf8') + name = data_utils.rand_name('name') if PY3 \ + else data_utils.rand_name('name').decode('utf8') + key = data_utils.rand_name('key') if PY3 \ + else data_utils.rand_name('key').decode('utf8') + value = data_utils.rand_name('value') if PY3 \ + else data_utils.rand_name('value').decode('utf8') timestamp = int(round(time.time() * 1000)) time_iso = helpers.timestamp_to_iso(timestamp) end_timestamp = int(round((time.time() + 3600 * 24) * 1000)) end_time_iso = helpers.timestamp_to_iso(end_timestamp) - value_meta_key = data_utils.rand_name('value_meta_key').decode('utf8') - value_meta_value = data_utils.rand_name('value_meta_value').decode('utf8') + value_meta_key = data_utils.rand_name('value_meta_key') if PY3 \ + else data_utils.rand_name('value_meta_key').decode('utf8') + value_meta_value = data_utils.rand_name('value_meta_value') if PY3 \ + else data_utils.rand_name('value_meta_value').decode('utf8') metric = helpers.create_metric(name=name, dimensions={key: value}, timestamp=timestamp, @@ -616,8 +623,8 @@ class TestMetrics(base.BaseMonascaTest): def _verify_list_metrics_element(self, element, test_key=None, test_value=None, test_name=None): - self.assertTrue(type(element['id']) is unicode) - self.assertTrue(type(element['name']) is unicode) + self.assertTrue(type(element['id']) is text_type) + self.assertTrue(type(element['name']) is text_type) self.assertTrue(type(element['dimensions']) is dict) self.assertEqual(set(element), set(['dimensions', 'id', 'name'])) self.assertTrue(str(element['id']) is not None) @@ -653,7 +660,7 @@ class TestMetrics(base.BaseMonascaTest): if elements: dimensions = elements[0] dimension = dimensions['dimensions'] - value = dimension[unicode(key)] + value = dimension[text_type(key)] self.assertEqual(value_org, str(value)) break else: diff --git a/monasca_tempest_tests/tests/api/test_metrics_names.py b/monasca_tempest_tests/tests/api/test_metrics_names.py index 4ff87b8..e96dd29 100644 --- a/monasca_tempest_tests/tests/api/test_metrics_names.py +++ b/monasca_tempest_tests/tests/api/test_metrics_names.py @@ -14,12 +14,13 @@ import time +from six.moves.urllib.parse import urlencode + from monasca_tempest_tests.tests.api import base from monasca_tempest_tests.tests.api import constants from monasca_tempest_tests.tests.api import helpers from tempest.lib.common.utils import data_utils from tempest.lib import decorators -from urllib import urlencode class TestMetricsNames(base.BaseMonascaTest): diff --git a/monasca_tempest_tests/tests/api/test_notification_methods.py b/monasca_tempest_tests/tests/api/test_notification_methods.py index 4f6f5e6..da34f83 100644 --- a/monasca_tempest_tests/tests/api/test_notification_methods.py +++ b/monasca_tempest_tests/tests/api/test_notification_methods.py @@ -15,6 +15,7 @@ import time import six.moves.urllib.parse as urlparse +from six import text_type from monasca_tempest_tests.tests.api import base from monasca_tempest_tests.tests.api import constants @@ -336,11 +337,11 @@ class TestNotificationMethods(base.BaseMonascaTest): element = elements[0] self.assertTrue(set(['id', 'links', 'name', 'type', 'address', 'period']) == set(element)) - self.assertTrue(type(element['id']) is unicode) + self.assertTrue(type(element['id']) is text_type) self.assertTrue(type(element['links']) is list) - self.assertTrue(type(element['name']) is unicode) - self.assertTrue(type(element['type']) is unicode) - self.assertTrue(type(element['address']) is unicode) + self.assertTrue(type(element['name']) is text_type) + self.assertTrue(type(element['type']) is text_type) + self.assertTrue(type(element['address']) is text_type) resp, response_body = self.monasca_client.\ delete_notification_method(id) diff --git a/monasca_tempest_tests/tests/api/test_statistics.py b/monasca_tempest_tests/tests/api/test_statistics.py index 02a9c10..1e6e4cd 100644 --- a/monasca_tempest_tests/tests/api/test_statistics.py +++ b/monasca_tempest_tests/tests/api/test_statistics.py @@ -16,6 +16,8 @@ import time import six.moves.urllib.parse as urlparse +from six.moves.urllib.parse import urlencode +from six import text_type from monasca_tempest_tests.tests.api import base from monasca_tempest_tests.tests.api import constants @@ -23,7 +25,6 @@ from monasca_tempest_tests.tests.api import helpers from tempest.lib.common.utils import data_utils from tempest.lib import decorators from tempest.lib import exceptions -from urllib import urlencode NUM_MEASUREMENTS = 100 MIN_REQUIRED_MEASUREMENTS = 2 @@ -331,7 +332,7 @@ class TestStatistics(base.BaseMonascaTest): self.assertEqual(len(elements), 2) for statistics in elements: self.assertEqual(1, len(statistics['dimensions'].keys())) - self.assertEqual([u'key2'], statistics['dimensions'].keys()) + self.assertEqual([u'key2'], list(statistics['dimensions'].keys())) @decorators.attr(type="gate") def test_list_statistics_with_group_by_multiple(self): @@ -479,9 +480,9 @@ class TestStatistics(base.BaseMonascaTest): def _verify_element(self, element): self.assertTrue(set(['id', 'name', 'dimensions', 'columns', 'statistics']) == set(element)) - self.assertTrue(type(element['id']) is unicode) + self.assertTrue(type(element['id']) is text_type) self.assertTrue(element['id'] is not None) - self.assertTrue(type(element['name']) is unicode) + self.assertTrue(type(element['name']) is text_type) self.assertTrue(type(element['dimensions']) is dict) self.assertEqual(len(element['dimensions']), 0) self.assertTrue(type(element['columns']) is list)