diff options
Diffstat (limited to 'onap-dcae-cbs-docker-client/tests/test_client.py')
-rw-r--r-- | onap-dcae-cbs-docker-client/tests/test_client.py | 71 |
1 files changed, 36 insertions, 35 deletions
diff --git a/onap-dcae-cbs-docker-client/tests/test_client.py b/onap-dcae-cbs-docker-client/tests/test_client.py index c87f573..b1589c2 100644 --- a/onap-dcae-cbs-docker-client/tests/test_client.py +++ b/onap-dcae-cbs-docker-client/tests/test_client.py @@ -13,50 +13,51 @@ # See the License for the specific language governing permissions and # limitations under the License. # ============LICENSE_END========================================================= - +import pytest from onap_dcae_cbs_docker_client.client import get_config, get_all +from onap_dcae_cbs_docker_client.exceptions import CantGetConfig, CBSUnreachable, ENVsMissing -class FakeResponse: - def __init__(self, status_code, thejson): - self.status_code = status_code - self.thejson = thejson +def test_config(monkeypatch, monkeyed_requests_get): + monkeypatch.setattr("requests.get", monkeyed_requests_get) + assert get_config() == {"key_to_your_heart": 666} - def raise_for_status(self): - pass - def json(self): - return self.thejson +def test_all(monkeypatch, monkeyed_requests_get): + monkeypatch.setattr("requests.get", monkeyed_requests_get) + assert get_all() == { + "config": {"key_to_your_heart": 666}, + "dti": {"some amazing": "dti stuff"}, + "policies": {"event": {"foo": "bar"}, "items": [{"foo2": "bar2"}]}, + "otherkey": {"foo3": "bar3"}, + } -def monkeyed_requests_get(url): - # mock all the get calls for existent and non-existent - if url == "http://consuldotcom:8500/v1/catalog/service/config_binding_service": - return FakeResponse(status_code=200, - thejson=[{"ServiceAddress": "666.666.666.666", - "ServicePort": 8888}]) - elif url == "http://666.666.666.666:8888/service_component_all/mybestfrienddotcom": - return FakeResponse(status_code=200, - thejson={"config": {"key_to_your_heart": 666}, - "dti": {"some amazing": "dti stuff"}, - "policies": {"event": {"foo": "bar"}, - "items": [{"foo2": "bar2"}]}, - "otherkey": {"foo3": "bar3"}}) +def test_bad_hostname(monkeypatch, monkeyed_requests_get_404): + monkeypatch.setattr("requests.get", monkeyed_requests_get_404) + with pytest.raises(CantGetConfig): + get_config() + with pytest.raises(CantGetConfig): + get_all() - elif url == "http://666.666.666.666:8888/service_component/mybestfrienddotcom": - return FakeResponse(status_code=200, - thejson={"key_to_your_heart": 666}) + try: + get_config() + except CantGetConfig as e: + assert e.code == 404 + assert e.text == "" -def test_config(monkeypatch): - monkeypatch.setattr('requests.get', monkeyed_requests_get) - assert(get_config() == {"key_to_your_heart": 666}) +def test_unreachable(monkeypatch, monkeyed_requests_get_unreachable): + monkeypatch.setattr("requests.get", monkeyed_requests_get_unreachable) + with pytest.raises(CBSUnreachable): + get_config() + with pytest.raises(CBSUnreachable): + get_all() -def test_all(monkeypatch): - monkeypatch.setattr('requests.get', monkeyed_requests_get) - assert(get_all() == {"config": {"key_to_your_heart": 666}, - "dti": {"some amazing": "dti stuff"}, - "policies": {"event": {"foo": "bar"}, - "items": [{"foo2": "bar2"}]}, - "otherkey": {"foo3": "bar3"}}) +def test_badenv(monkeypatch): + monkeypatch.delenv("CONFIG_BINDING_SERVICE") + with pytest.raises(ENVsMissing): + get_config() + with pytest.raises(ENVsMissing): + get_all() |