diff options
author | Monty Taylor <mordred@inaugust.com> | 2013-01-22 21:28:56 -0500 |
---|---|---|
committer | Monty Taylor <mordred@inaugust.com> | 2013-01-24 16:26:29 +1100 |
commit | 1bc3ecf25d1b86dcb178d5f59b178bde94f5f667 (patch) | |
tree | 46873c30f89f482a1a3e16480d5faf2350a248b4 | |
parent | cf7f75d66ca8e20e1058758ce5f0fb9859f413de (diff) | |
download | oslo-1bc3ecf25d1b86dcb178d5f59b178bde94f5f667.tar.gz oslo-1bc3ecf25d1b86dcb178d5f59b178bde94f5f667.tar.xz oslo-1bc3ecf25d1b86dcb178d5f59b178bde94f5f667.zip |
Start adding reusable test fixtures.
Now that nova is using fixtures, we have grown some that can be used across
projects. The mox/stubout fixture is a great example of this - and also can
be used in the oslo tests themselves.
Change-Id: Ia78019317a6772c5c66a875c948854248383f9ea
-rw-r--r-- | openstack/common/fixture/__init__.py | 0 | ||||
-rw-r--r-- | openstack/common/fixture/moxstubout.py | 37 | ||||
-rw-r--r-- | tools/test-requires | 2 |
3 files changed, 39 insertions, 0 deletions
diff --git a/openstack/common/fixture/__init__.py b/openstack/common/fixture/__init__.py new file mode 100644 index 0000000..e69de29 --- /dev/null +++ b/openstack/common/fixture/__init__.py diff --git a/openstack/common/fixture/moxstubout.py b/openstack/common/fixture/moxstubout.py new file mode 100644 index 0000000..f277fdd --- /dev/null +++ b/openstack/common/fixture/moxstubout.py @@ -0,0 +1,37 @@ +# vim: tabstop=4 shiftwidth=4 softtabstop=4 + +# 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 mox +import stubout + + +class MoxStubout(fixtures.Fixture): + """Deal with code around mox and stubout as a fixture.""" + + def setUp(self): + super(MoxStubout, self).setUp() + # emulate some of the mox stuff, we can't use the metaclass + # because it screws with our generators + self.mox = mox.Mox() + self.stubs = stubout.StubOutForTesting() + self.addCleanup(self.mox.UnsetStubs) + self.addCleanup(self.stubs.UnsetAll) + self.addCleanup(self.stubs.SmartUnsetAll) + self.addCleanup(self.mox.VerifyAll) diff --git a/tools/test-requires b/tools/test-requires index 2e349e1..393b72a 100644 --- a/tools/test-requires +++ b/tools/test-requires @@ -2,6 +2,7 @@ distribute>=0.6.24 coverage +fixtures>=0.3.12 mock mox==0.5.3 nose @@ -14,4 +15,5 @@ pylint pyzmq>=2.1.11 setuptools-git>=0.4 sphinx +testtools>=0.9.22 webtest |