X-Git-Url: https://gerrit.o-ran-sc.org/r/gitweb?a=blobdiff_plain;f=tests%2Ftest_controller.py;h=9a73ea8a59a78ce18d2feb7531a28721ba0fae1e;hb=36d6d9b1ad748c7e05d6192563727b74a208afd5;hp=bbfe9969ccf9a13f74059ff125ef0062dd7f86b1;hpb=0e3bc64f93a316e49bbdeb047e7592840207231d;p=ric-plt%2Fa1.git diff --git a/tests/test_controller.py b/tests/test_controller.py index bbfe996..9a73ea8 100644 --- a/tests/test_controller.py +++ b/tests/test_controller.py @@ -19,8 +19,8 @@ tests for controller # ================================================================================== import time import json -from rmr.rmr_mocks import rmr_mocks -from ricsdl.syncstorage import SyncStorage +from ricxappframe.rmr.rmr_mocks import rmr_mocks +from ricxappframe.xapp_sdl import SDLWrapper from ricsdl.exceptions import RejectedByBackend, NotConnected, BackendError from a1 import a1rmr, data @@ -89,7 +89,7 @@ def _fake_dequeue_deleted(): def _test_put_patch(monkeypatch): rmr_mocks.patch_rmr(monkeypatch) # assert that rmr bad states don't cause problems - monkeypatch.setattr("rmr.rmr.rmr_send_msg", rmr_mocks.send_mock_generator(10)) + monkeypatch.setattr("ricxappframe.rmr.rmr.rmr_send_msg", rmr_mocks.send_mock_generator(10)) def _no_ac(client): @@ -232,7 +232,8 @@ def _verify_instance_and_status(client, expected_instance, expected_status, expe def setup_module(): """module level setup""" - data.SDL.sdl = SyncStorage(fake_db_backend="dict") + # swap sdl for the fake backend + data.SDL = SDLWrapper(use_fake_sdl=True) def noop(): pass @@ -351,7 +352,7 @@ def test_bad_instances(client, monkeypatch, adm_type_good): # test 503 handlers - def monkey_set(key, value): + def monkey_set(ns, key, value): # set a key override function that throws sdl errors on certain keys if key == "a1.policy_type.111": raise RejectedByBackend() @@ -362,20 +363,31 @@ def test_bad_instances(client, monkeypatch, adm_type_good): monkeypatch.setattr("a1.data.SDL.set", monkey_set) - res = client.put("/a1-p/policytypes/111", json=adm_type_good) - assert res.status_code == 503 - res = client.put("/a1-p/policytypes/112", json=adm_type_good) - assert res.status_code == 503 - res = client.put("/a1-p/policytypes/113", json=adm_type_good) - assert res.status_code == 503 + def create_alt_id(json, id): + """ + Overwrites the json's policy type ID, attempts create and tests for 503 + """ + json['policy_type_id'] = id + url = "/a1-p/policytypes/{0}".format(id) + res = client.put(url, json=json) + assert res.status_code == 503 + + create_alt_id(adm_type_good, 111) + create_alt_id(adm_type_good, 112) + create_alt_id(adm_type_good, 113) def test_illegal_types(client, adm_type_good): """ Test illegal types """ + # below valid range res = client.put("/a1-p/policytypes/0", json=adm_type_good) assert res.status_code == 400 + # ID mismatch + res = client.put("/a1-p/policytypes/1", json=adm_type_good) + assert res.status_code == 400 + # above valid range res = client.put("/a1-p/policytypes/2147483648", json=adm_type_good) assert res.status_code == 400 @@ -388,6 +400,14 @@ def test_healthcheck(client): assert res.status_code == 200 +def test_metrics(client): + """ + test Prometheus metrics + """ + res = client.get("/a1-p/metrics") + assert res.status_code == 200 + + def teardown_module(): """module teardown""" a1rmr.stop_rmr_thread()