Add oslo mock fixture

Change-Id: I8f75a7c112cf8232197f901c9b1b025a30c9ba71
This commit is contained in:
Swann Croiset 2013-12-10 21:50:59 +01:00
parent 81e07c9842
commit 3eda05a9b0
4 changed files with 56 additions and 0 deletions

View File

@ -0,0 +1,49 @@
# Copyright 2010 United States Government as represented by the
# Administrator of the National Aeronautics and Space Administration.
# Copyright 2013 Hewlett-Packard Development Company, L.P.
# All Rights Reserved.
#
# Licensed under the Apache License, Version 2.0 (the "License"); you may
# not use this file except in compliance with the License. You may obtain
# a copy of the License at
#
# http://www.apache.org/licenses/LICENSE-2.0
#
# Unless required by applicable law or agreed to in writing, software
# distributed under the License is distributed on an "AS IS" BASIS, WITHOUT
# WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. See the
# License for the specific language governing permissions and limitations
# under the License.
import fixtures
import mock
class PatchObject(fixtures.Fixture):
"""Deal with code around mock."""
def __init__(self, obj, attr, **kwargs):
self.obj = obj
self.attr = attr
self.kwargs = kwargs
def setUp(self):
super(PatchObject, self).setUp()
_p = mock.patch.object(self.obj, self.attr, **self.kwargs)
self.mock = _p.start()
self.addCleanup(_p.stop)
class Patch(fixtures.Fixture):
"""Deal with code around mock.patch."""
def __init__(self, obj, **kwargs):
self.obj = obj
self.kwargs = kwargs
def setUp(self):
super(Patch, self).setUp()
_p = mock.patch(self.obj, **self.kwargs)
self.mock = _p.start()
self.addCleanup(_p.stop)

View File

@ -23,6 +23,8 @@ import testtools
from oslo.config import cfg from oslo.config import cfg
from heat.openstack.common.fixture import mockpatch
from heat.engine import environment from heat.engine import environment
from heat.engine import resources from heat.engine import resources
from heat.engine import scheduler from heat.engine import scheduler
@ -79,3 +81,7 @@ class HeatTestCase(testtools.TestCase):
self.m.StubOutWithMock(scheduler, 'wallclock') self.m.StubOutWithMock(scheduler, 'wallclock')
scheduler.wallclock = fake_wallclock scheduler.wallclock = fake_wallclock
def patch(self, obj, attr):
mockfixture = self.useFixture(mockpatch.PatchObject(obj, attr))
return mockfixture.mock

View File

@ -5,6 +5,7 @@ module=db
module=db.sqlalchemy module=db.sqlalchemy
module=eventlet_backdoor module=eventlet_backdoor
module=excutils module=excutils
module=fixture
module=gettextutils module=gettextutils
module=importutils module=importutils
module=install_venv_common module=install_venv_common