X-Git-Url: https://osm.etsi.org/gitweb/?a=blobdiff_plain;f=osm_mon%2Ftest%2Fintegration%2Ftest_access_cred.py;h=231711b23d34ca950caf6e90e71b8d6121be046c;hb=6439eb0e6f03b89629bbb8bad3e092133e56a614;hp=532a2f640e0ad13e2b4acb61acf5de1a54a8e125;hpb=058ddc52db38655cc3c7a621859794780ee0305b;p=osm%2FMON.git diff --git a/osm_mon/test/integration/test_access_cred.py b/osm_mon/test/integration/test_access_cred.py index 532a2f6..231711b 100644 --- a/osm_mon/test/integration/test_access_cred.py +++ b/osm_mon/test/integration/test_access_cred.py @@ -23,51 +23,59 @@ """Test an end to end Openstack access_credentials requests.""" import json - import logging +import unittest +import mock from kafka import KafkaConsumer from kafka import KafkaProducer - +from kafka.errors import KafkaError from keystoneclient.v3 import client -import mock - +from osm_mon.plugins.OpenStack.Aodh import alarming from osm_mon.plugins.OpenStack.common import Common log = logging.getLogger(__name__) -# Create an instance of the common openstack class, producer and consumer -openstack_auth = Common() - -producer = KafkaProducer(bootstrap_servers='localhost:9092') -req_consumer = KafkaConsumer(bootstrap_servers='localhost:9092', - group_id='osm_mon') -req_consumer.subscribe("access_credentials") - - -@mock.patch.object(client, "Client") -def test_access_cred_req(keyclient): - """Test access credentials request message from KafkaProducer.""" - # Set-up message, producer and consumer for tests - payload = {"vim_type": "OpenStack", - "access_config": - {"openstack_site": "my_site", - "user": "my_user", - "password": "my_password", - "vim_tenant_name": "my_tenant"}} - - producer.send('access_credentials', value=json.dumps(payload)) - - for message in req_consumer: - # Check the vim desired by the message - vim_type = json.loads(message.value)["vim_type"].lower() - if vim_type == "openstack": - openstack_auth._authenticate(message=message) - - # A keystone client is created with the valid access_credentials - keyclient.assert_called_with( - auth_url="my_site", username="my_user", password="my_password", - tenant_name="my_tenant") - return +# TODO: Remove this file +class AccessCredentialsTest(unittest.TestCase): + def setUp(self): + # Set up common and alarming class instances + self.alarms = alarming.Alarming() + self.openstack_auth = Common() + + try: + self.producer = KafkaProducer(bootstrap_servers='localhost:9092') + self.req_consumer = KafkaConsumer(bootstrap_servers='localhost:9092', + group_id='osm_mon', + consumer_timeout_ms=2000) + self.req_consumer.subscribe(['access_credentials']) + except KafkaError: + self.skipTest('Kafka server not present.') + + @mock.patch.object(client, "Client") + def test_access_cred_req(self, keyclient): + """Test access credentials request message from KafkaProducer.""" + # Set-up message, producer and consumer for tests + payload = {"vim_type": "OpenStack", + "access_config": + {"openstack_site": "my_site", + "user": "my_user", + "password": "my_password", + "vim_tenant_name": "my_tenant"}} + + self.producer.send('access_credentials', value=json.dumps(payload)) + + for message in self.req_consumer: + # Check the vim desired by the message + vim_type = json.loads(message.value)["vim_type"].lower() + if vim_type == "openstack": + self.openstack_auth._authenticate(message=message) + + # A keystone client is created with the valid access_credentials + keyclient.assert_called_with( + auth_url="my_site", username="my_user", password="my_password", + tenant_name="my_tenant") + + return