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' })
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()(), {})
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' })
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' })
def test_mongodb_context_not_related(self): self.relation_ids.return_value = [] self.os_release.return_value = 'icehouse' self.assertEqual(contexts.MongoDBContext()(), {})