X-Git-Url: https://gerrit.o-ran-sc.org/r/gitweb?a=blobdiff_plain;f=near-rt-ric-simulator%2Ftests%2Ftest_std_2_0_0.py;h=7fc8e40e73509dfcd27c7dbe633d6c2489ef6931;hb=f5ffd09d7b10237f7ba31617b30821a36e5647f3;hp=84d05dd74562d09ff0500cce988973dd72279a44;hpb=d629ad239729f3b4b4131c012c3808d8b1491889;p=sim%2Fa1-interface.git diff --git a/near-rt-ric-simulator/tests/test_std_2_0_0.py b/near-rt-ric-simulator/tests/test_std_2_0_0.py index 84d05dd..7fc8e40 100644 --- a/near-rt-ric-simulator/tests/test_std_2_0_0.py +++ b/near-rt-ric-simulator/tests/test_std_2_0_0.py @@ -18,6 +18,7 @@ # This test case tests the STD_2.0.0 version of the simulator. import json +import pytest import time import multiprocessing from unittest_setup import SERVER_URL, HOST_IP, PORT_NUMBER, setup_env, get_testdata_dir, client @@ -31,6 +32,42 @@ INTERFACE_VERSION="STD_2.0.0" setup_env(INTERFACE_VERSION) from compare_json import compare +from models.enforceStatus import EnforceStatus + +def test_enforce_reason(client): + """ + Test that we can set a valid enforce status and reason, and that we reject invalid cases. + """ + enforceStatus = EnforceStatus() + + enforceStatus.enforce_status = 'NOT_ENFORCED' + enforceStatus.enforce_reason = 'SCOPE_NOT_APPLICABLE' + enforce_dict = enforceStatus.to_dict() + assert enforce_dict['enforceStatus'] == 'NOT_ENFORCED' + assert enforce_dict['enforceReason'] == 'SCOPE_NOT_APPLICABLE' + + enforceStatus.enforce_status = 'ENFORCED' + enforceStatus.enforce_reason = 'STATEMENT_NOT_APPLICABLE' + enforce_dict = enforceStatus.to_dict() + assert enforce_dict['enforceStatus'] == 'ENFORCED' + assert enforce_dict['enforceReason'] == 'STATEMENT_NOT_APPLICABLE' + + enforceStatus.enforce_reason = 'OTHER_REASON' + enforce_dict = enforceStatus.to_dict() + assert enforce_dict['enforceReason'] == 'OTHER_REASON' + + enforce_status = enforceStatus.enforce_status + assert str(enforce_status) == 'ENFORCED' + + enforce_reason = enforceStatus.enforce_reason + assert str(enforce_reason) == 'OTHER_REASON' + + with pytest.raises(ValueError): + enforceStatus.enforce_status = 'ERROR' + + with pytest.raises(ValueError): + enforceStatus.enforce_reason = 'ERROR' + def test_apis(client): @@ -259,7 +296,7 @@ def test_apis(client): assert res == True # API: API: Get policy status - data_response = {"enforceStatus" : "", "enforceReason" : ""} + data_response = {"enforceStatus" : "NOT_ENFORCED", "enforceReason" : "OTHER_REASON"} response=client.get(SERVER_URL+'A1-P/v2/policytypes/STD_1/policies/pi1/status') assert response.status_code == 200 result=json.loads(response.data) @@ -360,7 +397,7 @@ def test_apis(client): assert res == True # API: API: Get policy status - data_response = {"enforceStatus" : "", "enforceReason" : ""} + data_response = {"enforceStatus" : "NOT_ENFORCED", "enforceReason" : "OTHER_REASON"} response=client.get(SERVER_URL+'A1-P/v2/policytypes/STD_1/policies/pi2/status') assert response.status_code == 200 result=json.loads(response.data) @@ -368,11 +405,11 @@ def test_apis(client): assert res == True # Set status for policy instance pi2 - response=client.put(SERVER_URL+'status?policyid=pi2&status=OK') + response=client.put(SERVER_URL+'status?policyid=pi2&status=NOT_ENFORCED&reason=STATEMENT_NOT_APPLICABLE') assert response.status_code == 200 # API: API: Get policy status - data_response = {"enforceStatus" : "OK"} + data_response = {"enforceStatus" : "NOT_ENFORCED", "enforceReason" : "STATEMENT_NOT_APPLICABLE"} response=client.get(SERVER_URL+'A1-P/v2/policytypes/STD_1/policies/pi2/status') assert response.status_code == 200 result=json.loads(response.data) @@ -381,11 +418,11 @@ def test_apis(client): assert res == True # Set status for policy instance pi2 - response=client.put(SERVER_URL+'status?policyid=pi2&status=NOTOK&reason=notok_reason') + response=client.put(SERVER_URL+'status?policyid=pi2&status=NOT_ENFORCED&reason=OTHER_REASON') assert response.status_code == 200 # API: API: Get policy status - data_response = {"enforceStatus" : "NOTOK", "enforceReason" : "notok_reason"} + data_response = {"enforceStatus" : "NOT_ENFORCED", "enforceReason" : "OTHER_REASON"} response=client.get(SERVER_URL+'A1-P/v2/policytypes/STD_1/policies/pi2/status') assert response.status_code == 200 result=json.loads(response.data)