summaryrefslogtreecommitdiffstats
path: root/openstack/common/fixture
diff options
context:
space:
mode:
authorMonty Taylor <mordred@inaugust.com>2013-01-22 21:28:56 -0500
committerMonty Taylor <mordred@inaugust.com>2013-01-24 16:26:29 +1100
commit1bc3ecf25d1b86dcb178d5f59b178bde94f5f667 (patch)
tree46873c30f89f482a1a3e16480d5faf2350a248b4 /openstack/common/fixture
parentcf7f75d66ca8e20e1058758ce5f0fb9859f413de (diff)
downloadoslo-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
Diffstat (limited to 'openstack/common/fixture')
-rw-r--r--openstack/common/fixture/__init__.py0
-rw-r--r--openstack/common/fixture/moxstubout.py37
2 files changed, 37 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)