"Fossies" - the Fresh Open Source Software Archive

Member "monasca-api-4.0.0/monasca_api/tests/test_message_formats.py" (13 May 2020, 2396 Bytes) of package /linux/misc/openstack/monasca-api-4.0.0.tar.gz:


As a special service "Fossies" has tried to format the requested source page into HTML format using (guessed) Python source code syntax highlighting (style: standard) with prefixed line numbers. Alternatively you can here view or download the uninterpreted source code file. See also the latest Fossies "Diffs" side-by-side code changes report for "test_message_formats.py": 3.1.0_vs_4.0.0.

    1 # Copyright 2018 Fujitsu LIMITED
    2 #
    3 # Licensed under the Apache License, Version 2.0 (the "License"); you may
    4 # not use this file except in compliance with the License. You may obtain
    5 # a copy of the License at
    6 #
    7 # http://www.apache.org/licenses/LICENSE-2.0
    8 #
    9 # Unless required by applicable law or agreed to in writing, software
   10 # distributed under the License is distributed on an "AS IS" BASIS, WITHOUT
   11 # WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. See the
   12 # License for the specific language governing permissions and limitations
   13 # under the License.
   14 import json
   15 from unittest import mock
   16 
   17 from monasca_api.common.messaging.message_formats.metrics import transform
   18 from monasca_api.tests import base
   19 
   20 
   21 class TestMessageFormats(base.BaseTestCase):
   22     @mock.patch('oslo_utils.timeutils.utcnow_ts')
   23     def test_single_metrics(self, time):
   24         time.return_value = 514862580
   25         tenant_id = 222
   26         region = 'default'
   27         metrics = 'example.test'
   28         expected_metrics = {'metric': 'example.test',
   29                             'creation_time': 514862580,
   30                             'meta':
   31                                 {'region': 'default',
   32                                  'tenantId': 222}}
   33         transformed_metric = transform(metrics, tenant_id, region)
   34         self.assertIsInstance(transformed_metric, list)
   35         self.assertEqual(len(transformed_metric), 1)
   36         self.assertEqual(expected_metrics, json.loads(transformed_metric[0]))
   37 
   38     @mock.patch('oslo_utils.timeutils.utcnow_ts')
   39     def test_multiple_metrics(self, time):
   40         time.return_value = 514862580
   41         tenant_id = 222
   42         region = 'default'
   43         metrics = ['example.test1', 'example.test2']
   44         expected_metrics = []
   45         for metric in metrics:
   46             expected_metrics.append({'metric': metric,
   47                                      'creation_time': 514862580,
   48                                      'meta':
   49                                          {'region': 'default',
   50                                           'tenantId': 222}})
   51         transformed_metrics = transform(metrics, tenant_id, region)
   52         self.assertIsInstance(transformed_metrics, list)
   53         self.assertEqual(len(transformed_metrics), len(metrics))
   54         for transformed_metric in transformed_metrics:
   55             self.assertIn(json.loads(transformed_metric), expected_metrics)