
Moves common/utils tests out of the test folder in that directory and into the root tests folder, where tox and Jenkins can pick them up. Change-Id: I28222a1839102a0973712d72bfcb365b5e4bc4b5
76 lines
3.3 KiB
Python
Executable File
76 lines
3.3 KiB
Python
Executable File
import time
|
|
from unittest import TestCase
|
|
|
|
import mock
|
|
from orm.common.orm_common.utils import cross_api_utils
|
|
|
|
|
|
class TestCrossApiUtil(TestCase):
|
|
@mock.patch('pecan.conf')
|
|
def setUp(self, mock_conf):
|
|
self.mock_response = mock.Mock()
|
|
cross_api_utils.conf = mock_conf
|
|
|
|
def respond(self, value, code):
|
|
self.mock_response.json.return_value = value
|
|
self.mock_response.status_code = code
|
|
return self.mock_response
|
|
|
|
def test_set_utils_conf(self):
|
|
cross_api_utils.set_utils_conf(None)
|
|
self.assertEqual(cross_api_utils.conf, None)
|
|
|
|
def test_check_conf_initialization(self):
|
|
cross_api_utils.set_utils_conf(None)
|
|
self.assertRaises(AssertionError, cross_api_utils._check_conf_initialization)
|
|
|
|
@mock.patch('orm.common.orm_common.utils.cross_api_utils.get_rms_region_group')
|
|
def test_is_region_group_exist(self, mock_rms_region_group):
|
|
mock_rms_region_group.return_value = 'test_group'
|
|
exist = cross_api_utils.is_region_group_exist('test_group_name')
|
|
self.assertEqual(exist, True)
|
|
|
|
@mock.patch('orm.common.orm_common.utils.cross_api_utils.get_rms_region_group')
|
|
def test_is_region_group_exist_false(self, mock_rms_region_group):
|
|
mock_rms_region_group.return_value = None
|
|
exist = cross_api_utils.is_region_group_exist('test_group_name')
|
|
self.assertEqual(exist, False)
|
|
|
|
@mock.patch('orm.common.orm_common.utils.cross_api_utils.get_rms_region_group')
|
|
def test_get_regions_of_group(self, mock_rms_region_group):
|
|
mock_rms_region_group.return_value = {'regions': 'group'}
|
|
exist = cross_api_utils.get_regions_of_group('test_group_name')
|
|
self.assertEqual(exist, 'group')
|
|
|
|
@mock.patch('orm.common.orm_common.utils.cross_api_utils.get_rms_region_group')
|
|
def test_get_regions_of_group_false(self, mock_rms_region_group):
|
|
mock_rms_region_group.return_value = None
|
|
exist = cross_api_utils.get_regions_of_group('test_group_name')
|
|
self.assertEqual(exist, None)
|
|
|
|
@mock.patch('requests.get')
|
|
def test_get_rms_region_group(self, mock_get):
|
|
mock_get.return_value = self.respond({'result': 'success'}, 200)
|
|
result = cross_api_utils.get_rms_region_group('test_group_name')
|
|
self.assertEqual(result, {'result': 'success'})
|
|
|
|
def test_get_rms_region_group_cache_used(self):
|
|
cross_api_utils.prev_timestamp = time.time()
|
|
cross_api_utils.prev_group_name = 'test_group'
|
|
cross_api_utils.prev_resp = 'test_response'
|
|
cross_api_utils.conf.api.rms_server.cache_seconds = 14760251830
|
|
self.assertEqual(cross_api_utils.prev_resp,
|
|
cross_api_utils.get_rms_region_group(
|
|
cross_api_utils.prev_group_name))
|
|
|
|
@mock.patch.object(cross_api_utils, 'logger')
|
|
@mock.patch.object(time, 'time', side_effect=ValueError('test'))
|
|
def test_get_rms_region_group_cache_used(self, mock_time, mock_logger):
|
|
self.assertRaises(ValueError, cross_api_utils.get_rms_region_group,
|
|
'test')
|
|
|
|
# @mock.patch('requests.get')
|
|
# def test_get_rms_region_group_with_exception(self, mock_get):
|
|
# mock_get.side_affect = Exception('boom')
|
|
# self.assertRaises(Exception, cross_api_utils.get_rms_region_group, 'test_group_name')
|