~ubuntu-branches/ubuntu/vivid/ceilometer/vivid-proposed

« back to all changes in this revision

Viewing changes to ceilometer/tests/storage/test_impl_mongodb.py

  • Committer: Package Import Robot
  • Author(s): Chuck Short
  • Date: 2014-06-13 13:20:35 UTC
  • mfrom: (1.1.17)
  • Revision ID: package-import@ubuntu.com-20140613132035-42ibzh8j7ww2q31i
Tags: 2014.2~b1-0ubuntu1
* New upstream release.
* debian/control: Open up juno release
* debian/patches/fix-requirements.patch: Refreshed.
* debian/rules: Patch the ceilometer.conf.sample directly since
  the configuration files are generated by a tool.
* debian/ceilometer-common.install: Drop sources.json.

Show diffs side-by-side

added added

removed removed

Lines of Context:
1
 
# -*- encoding: utf-8 -*-
2
1
#
3
 
# Copyright © 2012 New Dream Network, LLC (DreamHost)
 
2
# Copyright 2012 New Dream Network, LLC (DreamHost)
4
3
#
5
4
# Author: Doug Hellmann <doug.hellmann@dreamhost.com>
6
5
#
26
25
 
27
26
from ceilometer.storage import base
28
27
from ceilometer.storage import impl_mongodb
 
28
from ceilometer.tests import base as test_base
29
29
from ceilometer.tests import db as tests_db
30
30
from ceilometer.tests.storage import test_storage_scenarios
31
31
 
32
32
 
33
 
class MongoDBEngineTestBase(tests_db.TestBase):
34
 
    database_connection = tests_db.MongoDBFakeConnectionUrl()
35
 
 
36
 
 
37
 
class MongoDBConnection(MongoDBEngineTestBase):
 
33
@tests_db.run_with('mongodb')
 
34
class MongoDBConnection(tests_db.TestBase):
38
35
    def test_connection_pooling(self):
39
 
        self.assertEqual(self.conn.conn,
40
 
                         impl_mongodb.Connection(self.CONF).conn)
 
36
        test_conn = impl_mongodb.Connection(self.db_manager.url)
 
37
        self.assertEqual(self.conn.conn, test_conn.conn)
41
38
 
42
39
    def test_replica_set(self):
43
 
        self.CONF.set_override(
44
 
            'connection',
45
 
            str(tests_db.MongoDBFakeConnectionUrl()) + '?replicaSet=foobar',
46
 
            group='database')
47
 
        conn = impl_mongodb.Connection(self.CONF)
 
40
        url = self.db_manager._url + '?replicaSet=foobar'
 
41
        conn = impl_mongodb.Connection(url)
48
42
        self.assertTrue(conn.conn)
49
43
 
50
44
    def test_recurse_sort_keys(self):
58
52
        self.assertEqual(expect, ret)
59
53
 
60
54
 
61
 
class MongoDBTestMarkerBase(test_storage_scenarios.DBTestBase,
62
 
                            MongoDBEngineTestBase):
 
55
@tests_db.run_with('mongodb')
 
56
class MongoDBTestMarkerBase(test_storage_scenarios.DBTestBase):
63
57
    #NOTE(Fengqian): All these three test case are the same for resource
64
58
    #and meter collection. As to alarm, we will set up in AlarmTestPagination.
65
59
    def test_get_marker(self):
87
81
            self.assertTrue(True)
88
82
 
89
83
 
90
 
class IndexTest(MongoDBEngineTestBase):
 
84
@tests_db.run_with('mongodb')
 
85
class IndexTest(tests_db.TestBase):
91
86
    def test_meter_ttl_index_absent(self):
92
87
        # create a fake index and check it is deleted
93
88
        self.conn.db.meter.ensure_index('foo', name='meter_ttl')
115
110
                                                        name='meter_ttl'))
116
111
 
117
112
 
118
 
class AlarmTestPagination(test_storage_scenarios.AlarmTestBase,
119
 
                          MongoDBEngineTestBase):
 
113
@tests_db.run_with('mongodb')
 
114
class AlarmTestPagination(test_storage_scenarios.AlarmTestBase):
120
115
    def test_alarm_get_marker(self):
121
116
        self.add_some_alarms()
122
117
        marker_pairs = {'name': 'red-alert'}
145
140
            self.assertTrue(True)
146
141
 
147
142
 
148
 
class CapabilitiesTest(MongoDBEngineTestBase):
 
143
class CapabilitiesTest(test_base.BaseTestCase):
149
144
    # Check the returned capabilities list, which is specific to each DB
150
145
    # driver
151
146
 
186
181
            'events': {'query': {'simple': False}}
187
182
        }
188
183
 
189
 
        actual_capabilities = self.conn.get_capabilities()
 
184
        actual_capabilities = impl_mongodb.Connection.get_capabilities()
 
185
        self.assertEqual(expected_capabilities, actual_capabilities)
 
186
 
 
187
    def test_storage_capabilities(self):
 
188
        expected_capabilities = {
 
189
            'storage': {'production_ready': True},
 
190
        }
 
191
        actual_capabilities = impl_mongodb.Connection.\
 
192
            get_storage_capabilities()
190
193
        self.assertEqual(expected_capabilities, actual_capabilities)