"Fossies" - the Fresh Open Source Software Archive

Member "monasca-api-4.0.0/monasca_api/tests/test_alarms_db_health_check.py" (13 May 2020, 2032 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_alarms_db_health_check.py": 3.1.0_vs_4.0.0.

    1 # Copyright 2017 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 
   15 from unittest import mock
   16 
   17 from monasca_api import config
   18 from monasca_api.healthcheck import alarms_db_check as rdc
   19 from monasca_api.tests import base
   20 
   21 CONF = config.CONF
   22 
   23 
   24 class TestMetricsDbHealthCheckLogic(base.BaseTestCase):
   25 
   26     db_connection = "mysql+pymysql://test:test@localhost/mon?charset=utf8mb4"
   27     mocked_config = {
   28         'connection': db_connection
   29     }
   30 
   31     def setUp(self):
   32         super(TestMetricsDbHealthCheckLogic, self).setUp()
   33         self.conf_default(group='database', **self.mocked_config)
   34 
   35     @classmethod
   36     def tearDownClass(cls):
   37         if hasattr(CONF, 'sql_engine'):
   38             delattr(CONF, 'sql_engine')
   39 
   40     @mock.patch('monasca_api.healthcheck.alarms_db_check.'
   41                 'sql_repository.get_engine')
   42     def test_should_pass_db_ok(self, _):
   43 
   44         db_health = rdc.AlarmsDbHealthCheck()
   45         db_health.check_db_status = mock.Mock(return_value=(True, 'OK'))
   46         result = db_health.health_check()
   47 
   48         self.assertTrue(result.healthy)
   49         self.assertEqual('OK', result.message)
   50 
   51     @mock.patch('monasca_api.healthcheck.alarms_db_check.'
   52                 'sql_repository.get_engine')
   53     def test_should_fail_db_unavailable(self, _):
   54 
   55         db_health = rdc.AlarmsDbHealthCheck()
   56         db_health.check_db_status = mock.Mock(return_value=(False, 'bar'))
   57         result = db_health.health_check()
   58 
   59         self.assertFalse(result.healthy)
   60         self.assertEqual('bar', result.message)