Replace mox3 with mock
In heatclient, some unit tests still use mox3, which will make the test speed much slow, so I decide to remove it. The first file: heatclient/tests/unit/test_events.py Change-Id: Ife264461d64b0cb89b251a0aefe0e5f255b39ce3 Implements: bp remove-mox3-in-heatclient
This commit is contained in:
@@ -13,7 +13,6 @@
|
|||||||
# under the License.
|
# under the License.
|
||||||
|
|
||||||
import mock
|
import mock
|
||||||
import mox
|
|
||||||
import testtools
|
import testtools
|
||||||
|
|
||||||
from heatclient.common import utils
|
from heatclient.common import utils
|
||||||
@@ -22,39 +21,39 @@ from heatclient.v1 import events
|
|||||||
|
|
||||||
class EventManagerTest(testtools.TestCase):
|
class EventManagerTest(testtools.TestCase):
|
||||||
|
|
||||||
def setUp(self):
|
|
||||||
super(EventManagerTest, self).setUp()
|
|
||||||
self.m = mox.Mox()
|
|
||||||
self.addCleanup(self.m.VerifyAll)
|
|
||||||
self.addCleanup(self.m.UnsetStubs)
|
|
||||||
|
|
||||||
def test_list_event(self):
|
def test_list_event(self):
|
||||||
stack_id = 'teststack',
|
stack_id = 'teststack',
|
||||||
resource_name = 'testresource'
|
resource_name = 'testresource'
|
||||||
manager = events.EventManager(None)
|
manager = events.EventManager(None)
|
||||||
self.m.StubOutWithMock(manager, '_resolve_stack_id')
|
with mock.patch('heatclient.v1.events.EventManager._resolve_stack_id')\
|
||||||
manager._resolve_stack_id(stack_id).AndReturn('teststack/abcd1234')
|
as mock_re:
|
||||||
self.m.ReplayAll()
|
mock_re.return_value = 'teststack/abcd1234'
|
||||||
manager._list = mock.MagicMock()
|
|
||||||
manager.list(stack_id, resource_name)
|
manager._list = mock.MagicMock()
|
||||||
# Make sure url is correct.
|
manager.list(stack_id, resource_name)
|
||||||
manager._list.assert_called_once_with('/stacks/teststack%2Fabcd1234/'
|
# Make sure url is correct.
|
||||||
'resources/testresource/events',
|
manager._list.assert_called_once_with(
|
||||||
"events")
|
'/stacks/teststack%2Fabcd1234/'
|
||||||
|
'resources/testresource/events',
|
||||||
|
"events")
|
||||||
|
mock_re.assert_called_once_with(stack_id)
|
||||||
|
|
||||||
def test_list_event_with_unicode_resource_name(self):
|
def test_list_event_with_unicode_resource_name(self):
|
||||||
stack_id = 'teststack',
|
stack_id = 'teststack',
|
||||||
resource_name = u'\u5de5\u4f5c'
|
resource_name = u'\u5de5\u4f5c'
|
||||||
manager = events.EventManager(None)
|
manager = events.EventManager(None)
|
||||||
self.m.StubOutWithMock(manager, '_resolve_stack_id')
|
with mock.patch('heatclient.v1.events.EventManager._resolve_stack_id')\
|
||||||
manager._resolve_stack_id(stack_id).AndReturn('teststack/abcd1234')
|
as mock_re:
|
||||||
self.m.ReplayAll()
|
mock_re.return_value = 'teststack/abcd1234'
|
||||||
manager._list = mock.MagicMock()
|
|
||||||
manager.list(stack_id, resource_name)
|
manager._list = mock.MagicMock()
|
||||||
# Make sure url is correct.
|
manager.list(stack_id, resource_name)
|
||||||
manager._list.assert_called_once_with('/stacks/teststack%2Fabcd1234/'
|
# Make sure url is correct.
|
||||||
'resources/%E5%B7%A5%E4%BD%9C/'
|
manager._list.assert_called_once_with(
|
||||||
'events', "events")
|
'/stacks/teststack%2Fabcd1234/'
|
||||||
|
'resources/%E5%B7%A5%E4%BD%9C/'
|
||||||
|
'events', "events")
|
||||||
|
mock_re.assert_called_once_with(stack_id)
|
||||||
|
|
||||||
def test_list_event_with_none_resource_name(self):
|
def test_list_event_with_none_resource_name(self):
|
||||||
stack_id = 'teststack',
|
stack_id = 'teststack',
|
||||||
@@ -75,28 +74,33 @@ class EventManagerTest(testtools.TestCase):
|
|||||||
'resource_status': 'COMPLETE'
|
'resource_status': 'COMPLETE'
|
||||||
}}
|
}}
|
||||||
manager = events.EventManager(None)
|
manager = events.EventManager(None)
|
||||||
self.m.StubOutWithMock(manager, '_resolve_stack_id')
|
manager = events.EventManager(None)
|
||||||
manager._resolve_stack_id(stack_id).AndReturn('teststack/abcd1234')
|
with mock.patch('heatclient.v1.events.EventManager._resolve_stack_id')\
|
||||||
self.m.ReplayAll()
|
as mock_re:
|
||||||
manager._list = mock.MagicMock()
|
mock_re.return_value = 'teststack/abcd1234'
|
||||||
manager.list(stack_id, resource_name, **kwargs)
|
|
||||||
# Make sure url is correct.
|
|
||||||
self.assertEqual(1, manager._list.call_count)
|
|
||||||
args = manager._list.call_args
|
|
||||||
self.assertEqual(2, len(args[0]))
|
|
||||||
url, param = args[0]
|
|
||||||
self.assertEqual("events", param)
|
|
||||||
base_url, query_params = utils.parse_query_url(url)
|
|
||||||
expected_base_url = ('/stacks/teststack%2Fabcd1234/'
|
|
||||||
'resources/testresource/events')
|
|
||||||
self.assertEqual(expected_base_url, base_url)
|
|
||||||
expected_query_dict = {'marker': ['6d6935f4-0ae5'],
|
|
||||||
'limit': ['2'],
|
|
||||||
'resource_action': ['CREATE'],
|
|
||||||
'resource_status': ['COMPLETE']}
|
|
||||||
self.assertEqual(expected_query_dict, query_params)
|
|
||||||
|
|
||||||
def test_get_event(self):
|
manager._list = mock.MagicMock()
|
||||||
|
manager.list(stack_id, resource_name, **kwargs)
|
||||||
|
# Make sure url is correct.
|
||||||
|
self.assertEqual(1, manager._list.call_count)
|
||||||
|
args = manager._list.call_args
|
||||||
|
self.assertEqual(2, len(args[0]))
|
||||||
|
url, param = args[0]
|
||||||
|
self.assertEqual("events", param)
|
||||||
|
base_url, query_params = utils.parse_query_url(url)
|
||||||
|
expected_base_url = ('/stacks/teststack%2Fabcd1234/'
|
||||||
|
'resources/testresource/events')
|
||||||
|
self.assertEqual(expected_base_url, base_url)
|
||||||
|
expected_query_dict = {'marker': ['6d6935f4-0ae5'],
|
||||||
|
'limit': ['2'],
|
||||||
|
'resource_action': ['CREATE'],
|
||||||
|
'resource_status': ['COMPLETE']}
|
||||||
|
self.assertEqual(expected_query_dict, query_params)
|
||||||
|
mock_re.assert_called_once_with(stack_id)
|
||||||
|
|
||||||
|
@mock.patch('heatclient.v1.events.EventManager._resolve_stack_id')
|
||||||
|
@mock.patch('heatclient.common.utils.get_response_body')
|
||||||
|
def test_get_event(self, mock_utils, mock_re):
|
||||||
fields = {'stack_id': 'teststack',
|
fields = {'stack_id': 'teststack',
|
||||||
'resource_name': 'testresource',
|
'resource_name': 'testresource',
|
||||||
'event_id': '1'}
|
'event_id': '1'}
|
||||||
@@ -116,15 +120,14 @@ class EventManagerTest(testtools.TestCase):
|
|||||||
|
|
||||||
manager = events.EventManager(FakeAPI())
|
manager = events.EventManager(FakeAPI())
|
||||||
with mock.patch('heatclient.v1.events.Event'):
|
with mock.patch('heatclient.v1.events.Event'):
|
||||||
self.m.StubOutWithMock(manager, '_resolve_stack_id')
|
mock_utils.return_value = {'event': []}
|
||||||
self.m.StubOutWithMock(utils, 'get_response_body')
|
mock_re.return_value = 'teststack/abcd1234'
|
||||||
utils.get_response_body(mox.IgnoreArg()).AndReturn({'event': []})
|
|
||||||
manager._resolve_stack_id('teststack').AndReturn(
|
|
||||||
'teststack/abcd1234')
|
|
||||||
self.m.ReplayAll()
|
|
||||||
manager.get(**fields)
|
manager.get(**fields)
|
||||||
|
mock_re.assert_called_once_with('teststack')
|
||||||
|
|
||||||
def test_get_event_with_unicode_resource_name(self):
|
@mock.patch('heatclient.v1.events.EventManager._resolve_stack_id')
|
||||||
|
@mock.patch('heatclient.common.utils.get_response_body')
|
||||||
|
def test_get_event_with_unicode_resource_name(self, mock_utils, mock_re):
|
||||||
fields = {'stack_id': 'teststack',
|
fields = {'stack_id': 'teststack',
|
||||||
'resource_name': u'\u5de5\u4f5c',
|
'resource_name': u'\u5de5\u4f5c',
|
||||||
'event_id': '1'}
|
'event_id': '1'}
|
||||||
@@ -144,10 +147,7 @@ class EventManagerTest(testtools.TestCase):
|
|||||||
|
|
||||||
manager = events.EventManager(FakeAPI())
|
manager = events.EventManager(FakeAPI())
|
||||||
with mock.patch('heatclient.v1.events.Event'):
|
with mock.patch('heatclient.v1.events.Event'):
|
||||||
self.m.StubOutWithMock(manager, '_resolve_stack_id')
|
mock_utils.return_value = {'event': []}
|
||||||
self.m.StubOutWithMock(utils, 'get_response_body')
|
mock_re.return_value = 'teststack/abcd1234'
|
||||||
utils.get_response_body(mox.IgnoreArg()).AndReturn({'event': []})
|
|
||||||
manager._resolve_stack_id('teststack').AndReturn(
|
|
||||||
'teststack/abcd1234')
|
|
||||||
self.m.ReplayAll()
|
|
||||||
manager.get(**fields)
|
manager.get(**fields)
|
||||||
|
mock_re.assert_called_once_with('teststack')
|
||||||
|
|||||||
Reference in New Issue
Block a user