Esempio n. 1
0
    def test_mongodb_context_related_replset_multiple_mongo(self):
        self.relation_ids.return_value = ['shared-db:0']
        related_units = {
            'mongodb/0': {
                'hostname': 'mongodb-0',
                'port': 8090,
                'replset': 'replset-1'
            },
            'mongodb/1': {
                'hostname': 'mongodb-1',
                'port': 8090,
                'replset': 'replset-1'
            }
        }
        self.related_units.return_value = [k for k in related_units.keys()]

        def relation_get(attr, unit, relid):
            values = related_units.get(unit)
            if attr is None:
                return values
            else:
                return values.get(attr, None)

        self.relation_get.side_effect = relation_get

        self.os_release.return_value = 'icehouse'
        self.assertEqual(
            contexts.MongoDBContext()(), {
                'db_mongo_servers': 'mongodb-0:8090,mongodb-1:8090',
                'db_name': 'ceilometer',
                'db_replset': 'replset-1'
            })
Esempio n. 2
0
 def test_mongodb_context_related_replset_missing_values(self, mock_ctxcmp):
     mock_ctxcmp.return_value = False
     self.relation_ids.return_value = ['shared-db:0']
     self.related_units.return_value = ['mongodb/0']
     data = {'hostname': None, 'port': 8090, 'replset': 'replset-1'}
     self.test_relation.set(data)
     self.os_release.return_value = 'icehouse'
     self.assertEqual(contexts.MongoDBContext()(), {})
Esempio n. 3
0
 def test_mongodb_context_related(self):
     self.relation_ids.return_value = ['shared-db:0']
     self.related_units.return_value = ['mongodb/0']
     data = {'hostname': 'mongodb', 'port': 8090}
     self.test_relation.set(data)
     self.os_release.return_value = 'havana'
     self.assertEqual(contexts.MongoDBContext()(), {
         'db_host': 'mongodb',
         'db_port': 8090,
         'db_name': 'ceilometer'
     })
Esempio n. 4
0
 def test_mongodb_context_related_replset_single_mongo(self):
     self.relation_ids.return_value = ['shared-db:0']
     self.related_units.return_value = ['mongodb/0']
     data = {'hostname': 'mongodb-0', 'port': 8090, 'replset': 'replset-1'}
     self.test_relation.set(data)
     self.os_release.return_value = 'icehouse'
     self.assertEqual(contexts.MongoDBContext()(), {
         'db_host': 'mongodb-0',
         'db_port': 8090,
         'db_name': 'ceilometer'
     })
Esempio n. 5
0
 def test_mongodb_context_not_related(self):
     self.relation_ids.return_value = []
     self.os_release.return_value = 'icehouse'
     self.assertEqual(contexts.MongoDBContext()(), {})