summaryrefslogtreecommitdiffstats
path: root/dmaap/tests/test_consulif.py
diff options
context:
space:
mode:
authorMiroslav Los <miroslav.los@pantheon.tech>2019-11-18 16:53:21 +0100
committerMiroslav Los <miroslav.los@pantheon.tech>2020-01-07 12:11:23 +0100
commit0b0a6ca5d765ea2bda591c34b6c995aae00bcd4c (patch)
tree9c71c58513874b752c8368afec3018940adb6ee9 /dmaap/tests/test_consulif.py
parent8e573aa799c96cbe2a0404e58d67f48eea50b9db (diff)
Make DMaaP tests independent of each other
The tests in controllerif need not run to make the other tests work. Use mockconsul instead of test_get_config_service to feed test_dmaapc. Use mockconsul fixture in all other tests. Do not wrap actual exceptions with NonRecoverableError in test code. Signed-off-by: Miroslav Los <miroslav.los@pantheon.tech> Issue-ID: CCSDK-1937 Change-Id: Iacb229cb8569838cc63932bcf572a6692ffd9124
Diffstat (limited to 'dmaap/tests/test_consulif.py')
-rw-r--r--dmaap/tests/test_consulif.py57
1 files changed, 5 insertions, 52 deletions
diff --git a/dmaap/tests/test_consulif.py b/dmaap/tests/test_consulif.py
index 2d26576..e310afc 100644
--- a/dmaap/tests/test_consulif.py
+++ b/dmaap/tests/test_consulif.py
@@ -25,7 +25,7 @@ import os
from consulif.consulif import ConsulHandle
-#When run unit test, please update the consul interface parameters based on local consul configuration.
+# No connections are actually made to this host
CONSUL_HOST = "consul" # Should always be a local consul agent on Cloudify Manager
#CONSUL_PORT = '8510'
CONSUL_PORT = '8500'
@@ -33,76 +33,33 @@ DBCL_KEY_NAME = "dmaap_dbcl_info" # Consul key containing DMaaP data b
DBC_SERVICE_NAME= "dmaap_bus_controller" # Name under which the DMaaP bus controller is registered
-def _fake_get_config(self, key):
- fix ={'dmaap': {'username': 'm06814@controller.dcae.ecomp.att.com',
- 'url': 'https://dcae-dbcl.d54852.dyh1b.tci.att.com:8443/webapi',
- 'password' : 'Dca3wr3x',
- 'owner': 'dcaeorch' }}
- return fix
-
-def _fake_service(self, key):
- service_address = "myAddress"
- service_port= "8443"
- return service_address, service_port
-
-def test_get_config_service(monkeypatch):
- monkeypatch.setattr(ConsulHandle, 'get_config', _fake_get_config)
- monkeypatch.setattr(ConsulHandle, 'get_service', _fake_service)
- try:
+def test_get_config_service(mockconsul):
err_msg = "Error getting ConsulHandle when configuring dmaap plugin: {0}"
_ch = ConsulHandle("http://{0}:{1}".format(CONSUL_HOST, CONSUL_PORT), None, None, None)
- assert None != _ch
-
- err_msg = "Error getting config for '{0}' from ConsulHandle when configuring dmaap plugin: ".format(DBCL_KEY_NAME) + "{0}"
+
config = _ch.get_config(DBCL_KEY_NAME)
- err_msg = "Error setting DMAAP_USER while configuring dmaap plugin: {0}"
DMAAP_USER = config['dmaap']['username']
-
- err_msg = "Error setting DMAAP_PASS while configuring dmaap plugin: {0}"
DMAAP_PASS = config['dmaap']['password']
-
- err_msg = "Error setting DMAAP_OWNER while configuring dmaap plugin: {0}"
DMAAP_OWNER = config['dmaap']['owner']
- err_msg = "Error setting DMAAP_PROTOCOL while configuring dmaap plugin: {0}"
if 'protocol' in config['dmaap']:
DMAAP_PROTOCOL = config['dmaap']['protocol']
else:
DMAAP_PROTOCOL = 'https' # Default to https (service discovery should give us this but doesn't
- err_msg = "Error setting DMAAP_PATH while configuring dmaap plugin: {0}"
if 'path' in config['dmaap']:
DMAAP_PATH = config['dmaap']['path']
else:
- DMAAP_PATH = 'webapi' # SHould come from service discovery but Consul doesn't support it
+ DMAAP_PATH = 'webapi' # Should come from service discovery but Consul doesn't support it
- err_msg = "Error getting service_address and service_port for '{0}' from ConsulHandle when configuring dmaap plugin: ".format(DBC_SERVICE_NAME) + "{0}"
service_address, service_port = _ch.get_service(DBC_SERVICE_NAME)
- err_msg = "Error setting DMAAP_API_URL while configuring dmaap plugin: {0}"
DMAAP_API_URL = '{0}://{1}:{2}/{3}'.format(DMAAP_PROTOCOL, service_address, service_port, DMAAP_PATH)
- assert DMAAP_API_URL != None
- dmaap_config = {'DMAAP_USER':DMAAP_USER, 'DMAAP_API_URL':DMAAP_API_URL, 'DMAAP_PASS':DMAAP_PASS, 'DMAAP_OWNER':DMAAP_OWNER}
- print "return dmaap config info from consul: {0}".format(dmaap_config)
- return dmaap_config
- except Exception as e:
- raise NonRecoverableError(err_msg.format(e))
-def _fake_add_to_entry(self, key, add_name, add_value):
- return True
-
-def _fake_delete_entry(self, entry_name):
- return True
-
-def test_add_entry(monkeypatch):
- monkeypatch.setattr(ConsulHandle, 'get_config', _fake_get_config)
- monkeypatch.setattr(ConsulHandle, 'add_to_entry', _fake_add_to_entry)
- monkeypatch.setattr(ConsulHandle, 'delete_entry', _fake_delete_entry)
- try:
+def test_add_entry(mockconsul):
_ch = ConsulHandle("http://{0}:{1}".format(CONSUL_HOST, CONSUL_PORT), None, None, None)
- assert None != _ch
key = 'DMAAP_TEST'
name = 'dmaap_test_name'
@@ -114,7 +71,3 @@ def test_add_entry(monkeypatch):
_ch.add_to_entry(key, name, value)
_ch.delete_entry(key)
-
- except Exception as e:
- raise NonRecoverableError("Error in test_add_entry: {0}".format(e))
-