diff options
Diffstat (limited to 'ceilometer/storage/impl_test.py')
-rw-r--r-- | ceilometer/storage/impl_test.py | 27 |
1 files changed, 24 insertions, 3 deletions
diff --git a/ceilometer/storage/impl_test.py b/ceilometer/storage/impl_test.py index fa76b002..c6e2d7e8 100644 --- a/ceilometer/storage/impl_test.py +++ b/ceilometer/storage/impl_test.py @@ -21,7 +21,12 @@ This driver is based on MIM, an in-memory version of MongoDB. """ import os -from ming import mim +import nose + +try: + from ming import mim +except ImportError: + mim = None from ceilometer.openstack.common import log as logging @@ -103,6 +108,22 @@ class TestConnection(impl_mongodb.Connection): # MIM will die if we have too many connections, so use a # Singleton if TestConnection._mim_instance is None: - LOG.debug('Creating a new MIM Connection object') - TestConnection._mim_instance = mim.Connection() + if mim: + LOG.debug('Creating a new MIM Connection object') + TestConnection._mim_instance = mim.Connection() + else: + raise nose.SkipTest("Ming not found") return TestConnection._mim_instance + + +def require_map_reduce(conn): + """Raises SkipTest if the connection is using mim. + """ + # NOTE(dhellmann): mim requires spidermonkey to implement the + # map-reduce functions, so if we can't import it then just + # skip these tests unless we aren't using mim. + try: + import spidermonkey + except BaseException: + if isinstance(conn.conn, mim.Connection): + raise skip.SkipTest('requires spidermonkey') |