diff options
Diffstat (limited to 'charms/trusty/ceilometer-agent/unit_tests/test_ceilometer_contexts.py')
-rw-r--r-- | charms/trusty/ceilometer-agent/unit_tests/test_ceilometer_contexts.py | 59 |
1 files changed, 59 insertions, 0 deletions
diff --git a/charms/trusty/ceilometer-agent/unit_tests/test_ceilometer_contexts.py b/charms/trusty/ceilometer-agent/unit_tests/test_ceilometer_contexts.py new file mode 100644 index 0000000..fdbbf15 --- /dev/null +++ b/charms/trusty/ceilometer-agent/unit_tests/test_ceilometer_contexts.py @@ -0,0 +1,59 @@ +# Copyright 2016 Canonical Ltd +# +# 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 ceilometer_contexts as contexts +from test_utils import CharmTestCase + +TO_PATCH = [ + 'relation_get', + 'relation_ids', + 'related_units', +] + + +class CeilometerContextsTest(CharmTestCase): + + def setUp(self): + super(CeilometerContextsTest, self).setUp(contexts, TO_PATCH) + self.relation_get.side_effect = self.test_relation.get + + def tearDown(self): + super(CeilometerContextsTest, self).tearDown() + + def test_ceilometer_service_context(self): + self.relation_ids.return_value = ['ceilometer-service:0'] + self.related_units.return_value = ['ceilometer/0'] + data = { + 'debug': True, + 'verbose': False, + 'rabbitmq_host': 'foo', + 'rabbitmq_user': 'bar', + 'rabbitmq_password': 'baz', + 'rabbitmq_virtual_host': 'openstack', + 'rabbit_ssl_ca': None, + 'rabbit_ssl_port': None, + 'auth_protocol': 'http', + 'auth_host': 'keystone', + 'auth_port': '80', + 'admin_tenant_name': 'admin', + 'admin_user': 'admin', + 'admin_password': 'password', + 'metering_secret': 'secret' + } + self.test_relation.set(data) + self.assertEquals(contexts.CeilometerServiceContext()(), data) + + def test_ceilometer_service_context_not_related(self): + self.relation_ids.return_value = [] + self.assertEquals(contexts.CeilometerServiceContext()(), {}) |