aboutsummaryrefslogtreecommitdiffstats
path: root/tests/test_binding.py
diff options
context:
space:
mode:
Diffstat (limited to 'tests/test_binding.py')
-rw-r--r--tests/test_binding.py139
1 files changed, 0 insertions, 139 deletions
diff --git a/tests/test_binding.py b/tests/test_binding.py
deleted file mode 100644
index 3bbe5d9..0000000
--- a/tests/test_binding.py
+++ /dev/null
@@ -1,139 +0,0 @@
-# ============LICENSE_START=======================================================
-# org.onap.dcae
-# ================================================================================
-# Copyright (c) 2017 AT&T Intellectual Property. All rights reserved.
-# ================================================================================
-# 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.
-# ============LICENSE_END=========================================================
-#
-# ECOMP is a trademark and service mark of AT&T Intellectual Property.
-from config_binding_service import client
-import pytest
-import json
-
-def monkeyed_get_connection_info_from_consul(service_component_name):
- #shared monkeypatch. probably somewhat lazy because the function htis patches can be broken up.
- if service_component_name == "cdap":
- return '666.666.666.666:666'
- elif service_component_name == "testing_bravo.somedomain.com":
- return '7.7.7.7:777'
- elif service_component_name == "testing_alpha.somedomain.com":
- return '6.6.6.6:666'
- elif service_component_name == "testing_charlie.somedomain.com":
- return '5.5.5.5:555'
- elif service_component_name == "nonexistent_hope":
- return None #the real function returns None here
- elif service_component_name == "cdap_serv.dcae.ecomp.somedomain.com":
- broker_ip = '1.1.1.1'
- broker_port = 444
- return "http://{0}:{1}/application/{2}".format(broker_ip, broker_port, service_component_name)
-
-def test_bad_config_http():
- test_config = {'yeahhhhh' : "{{}}"}
- test_rels = ["testing_bravo.somedomain.com"]
- assert {'yeahhhhh' : []} == client.resolve_override(test_config, test_rels)
-
-def test_bad_config_dmaap():
- test_config = {'darkness' : "<<>>"}
- test_dmaap = {"WHO?" : "darkness"}
- assert {'darkness' : {}} == client.resolve_override(test_config, test_dmaap)
-
-def test_config(monkeypatch):
- #test config override
- monkeypatch.setattr('config_binding_service.client._get_connection_info_from_consul', monkeyed_get_connection_info_from_consul)
- test_config = {"autoderegisterafter": "10m", "cdap_to_manage": {'some_nested_thing' : "{{cdap}}"}, "bindingttw": 5, "hcinterval": "5s"}
- test_rels = ["cdap"]
- test_bind_1 = client.resolve_override(test_config, test_rels)
- assert test_bind_1 == {'autoderegisterafter': '10m', 'cdap_to_manage': {'some_nested_thing': ['666.666.666.666:666']}, 'bindingttw': 5, 'hcinterval': '5s'}
-
-def test_non_existent(monkeypatch):
- #test a valid config-rels but the key is not in Consul
- monkeypatch.setattr('config_binding_service.client._get_connection_info_from_consul', monkeyed_get_connection_info_from_consul)
- test_config = {"you shall not be fufilled" : "{{nonexistent_hope}}"}
- test_rels = ["nonexistent_hope.rework-central.ecomp.somedomain.com"] #hopefully not registered in Consul..
- test_bind_1 = client.resolve_override(test_config, test_rels, {})
- assert(test_bind_1 == {"you shall not be fufilled" : []})
-
-def test_cdap(monkeypatch):
- #user override to test CDAP functionality
- monkeypatch.setattr('config_binding_service.client._get_connection_info_from_consul', monkeyed_get_connection_info_from_consul)
- test_rels = ["testing_alpha.somedomain.com", "testing_bravo.somedomain.com", "testing_charlie.somedomain.com", "testing_charlie.somedomain.com", "cdap"]
- test_config = { "streams_publishes" : "{{alpha}}",
- "services_calls" : [{"somekey" : "{{charlie}}"}], #should be dumped
- "cdap_to_manage": {'some_nested_thing' : "{{cdap}}"} #no dumps
- }
- test_bind_1 = client.resolve_override(test_config, test_rels)
- assert test_bind_1 == {'services_calls': [{"somekey": ["5.5.5.5:555", "5.5.5.5:555"]}], 'streams_publishes': ["6.6.6.6:666"], 'cdap_to_manage': {'some_nested_thing': ['666.666.666.666:666']}}
- assert test_bind_1['services_calls'] == [{"somekey" : ["5.5.5.5:555", "5.5.5.5:555"]}]
- assert test_bind_1['streams_publishes'] == ["6.6.6.6:666"]
-
-def test_broker_redirect(monkeypatch):
- #test the broker redirect
- monkeypatch.setattr('config_binding_service.client._get_connection_info_from_consul', monkeyed_get_connection_info_from_consul)
- test_config = {"gimmie_dat_cdap" : "{{cdap_serv}}"}
- test_rels = ["cdap_serv.dcae.ecomp.somedomain.com"]
- assert {"gimmie_dat_cdap" : ['http://1.1.1.1:444/application/cdap_serv.dcae.ecomp.somedomain.com']} == client.resolve_override(test_config, test_rels)
-
-def test_multiple_service_types(monkeypatch):
- #test {{x,y,z}}
- monkeypatch.setattr('config_binding_service.client._get_connection_info_from_consul', monkeyed_get_connection_info_from_consul)
-
- #test 1: they all resovle
- test_rels = ["testing_alpha.somedomain.com", "testing_bravo.somedomain.com", "testing_charlie.somedomain.com", "testing_charlie.somedomain.com"]
- config = {"ALL YOUR SERVICE BELONG TO US" : "{{alpha,bravo,charlie}}"}
- test_bind_1 = client.resolve_override(config, test_rels)
- assert(test_bind_1 == {"ALL YOUR SERVICE BELONG TO US" : ['6.6.6.6:666', '7.7.7.7:777', '5.5.5.5:555', '5.5.5.5:555']})
-
- #test 2: two resolve, one is missing from rels key
- config2 = {"two there one not exist" : "{{alpha,bravo,notexist}}"}
- test_bind_2 = client.resolve_override(config2, test_rels)
- assert(test_bind_2 == {"two there one not exist" : ['6.6.6.6:666', '7.7.7.7:777']})
-
- #test 3: two resolve, one is in rels key but not registered
- config3 = {"two there one unregistered" : "{{alpha,bravo,unregistered}}"}
- test_rels3 = ["testing_alpha.somedomain.com", "testing_bravo.somedomain.com", "unregistered.somedomain.com"]
- test_bind_3 = client.resolve_override(config3, test_rels3)
- assert(test_bind_3 == {"two there one unregistered" : ['6.6.6.6:666', '7.7.7.7:777']})
-
-def test_dmaap(monkeypatch):
- #test resolving dmaap key
- config = {"TODAY IS YOUR LUCKY DAY" : "<<XXX>>"}
- #does not match
- test_bind = client.resolve_override(config, dmaap={"XX" : "ABSOLVEME"}) #XX != XXX
- assert(test_bind == {"TODAY IS YOUR LUCKY DAY" : {}})
- #matches
- test_bind_2 = client.resolve_override(config, dmaap={"XXX" : "ABSOLVEME"})
- assert(test_bind_2 == {"TODAY IS YOUR LUCKY DAY" : "ABSOLVEME"})
-
-
-def test_both(monkeypatch):
- #test rels and http
- monkeypatch.setattr('config_binding_service.client._get_connection_info_from_consul', monkeyed_get_connection_info_from_consul)
- test_rels = ["testing_alpha.somedomain.com", "testing_bravo.somedomain.com", "testing_charlie.somedomain.com", "testing_charlie.somedomain.com"]
- test_dmaap = {"WHO?" : "darkness"}
- config = {
- "deep" : {
- "ALL YOUR SERVICE BELONG TO US" : "{{alpha,bravo,charlie}}"},
- "doubledeep" : {
- "sodeep" : {"hello" : "<<WHO?>>"}}
- }
- test_bind_1 = client.resolve_override(config, test_rels, test_dmaap)
- expected_config = {
- "deep" : {
- "ALL YOUR SERVICE BELONG TO US" : ['6.6.6.6:666', '7.7.7.7:777', '5.5.5.5:555', '5.5.5.5:555']},
- "doubledeep" : {
- "sodeep" : {"hello" : "darkness"}}
- }
- assert(test_bind_1 == expected_config)
-
-