X-Git-Url: https://gerrit.o-ran-sc.org/r/gitweb?a=blobdiff_plain;f=Automation%2FTests%2FScripts%2Fe2mdbscripts.py;h=abc46e27279bba9e06cb98594c0fa50c8dbdccd4;hb=ef8e7b290c648ce0655c0fc0e8d0882fe31f2abc;hp=7b9475b611531221d643ff448c378909a41a8391;hpb=372a275602ae05da22130a4601709291c7fbbaa6;p=ric-plt%2Fe2mgr.git diff --git a/Automation/Tests/Scripts/e2mdbscripts.py b/Automation/Tests/Scripts/e2mdbscripts.py index 7b9475b..abc46e2 100644 --- a/Automation/Tests/Scripts/e2mdbscripts.py +++ b/Automation/Tests/Scripts/e2mdbscripts.py @@ -17,33 +17,90 @@ ############################################################################## import config -import redis -import cleanup_db import json +import redis +import variables -def getRedisClientDecodeResponse(): + +def get_redis_client_decode_response(): c = config.redis_ip_address p = config.redis_ip_port return redis.Redis(host=c, port=p, db=0, decode_responses=True) -def verify_ran_is_associated_with_e2t_instance(ranName, e2tAddress): - r = getRedisClientDecodeResponse() - e2tInstanceJson = r.get("{e2Manager},E2TInstance:"+e2tAddress) - e2tInstanceDic = json.loads(e2tInstanceJson) - assocRanList = e2tInstanceDic.get("associatedRanList") - return ranName in assocRanList - -# def dissociate_ran_from_e2tInstance(ranName, e2tAddress): -# r = getRedisClientDecodeResponse() -# e2tInstanceJson = r.get("{e2Manager},E2TInstance:"+e2tAddress) -# e2tInstanceDic = json.loads(e2tInstanceJson) -# assocRanList = e2tInstanceDic.get("associatedRanList") -# print(assocRanList) -# assocRanList.remove(ranName) -# updatedE2tInstanceJson = json.dumps(e2tInstanceDic) -# print(updatedE2tInstanceJson) -# r.set("{e2Manager},E2TInstance:"+e2tAddress, updatedE2tInstanceJson) -# nodebBytes = r.get("{e2Manager},RAN:"+ranName) -# encoded = nodebBytes.decode().replace(e2tAddress,"").encode() -# r.set("{e2Manager},RAN:"+ranName, encoded) + +def verify_ran_is_associated_with_e2t_instance(ran_name, e2t_address): + r = get_redis_client_decode_response() + e2t_instance_json = r.get("{e2Manager},E2TInstance:" + e2t_address) + + if e2t_instance_json is None: + return False + + e2t_instance_dic = json.loads(e2t_instance_json) + assoc_ran_list = e2t_instance_dic.get("associatedRanList") + if assoc_ran_list is None: + return False + else: + return ran_name in assoc_ran_list + + +def verify_e2t_instance_has_no_associated_rans(e2t_address): + r = get_redis_client_decode_response() + e2t_instance_json = r.get("{e2Manager},E2TInstance:" + e2t_address) + e2t_instance_dic = json.loads(e2t_instance_json) + assoc_ran_list = e2t_instance_dic.get("associatedRanList") + return not assoc_ran_list + + +def verify_e2t_instance_exists_in_addresses(e2t_address): + r = get_redis_client_decode_response() + e2t_addresses_json = r.get("{e2Manager},E2TAddresses") + e2t_addresses = json.loads(e2t_addresses_json) + return e2t_address in e2t_addresses + + +def verify_e2t_instance_key_exists(e2t_address): + r = get_redis_client_decode_response() + return r.exists("{e2Manager},E2TInstance:" + e2t_address) + + +def populate_e2t_instances_in_e2m_db_for_get_e2t_instances_tc(): + r = get_redis_client_decode_response() + r.set("{e2Manager},E2TAddresses", "[\"e2t.att.com:38000\"]") + r.set("{e2Manager},E2TInstance:e2t.att.com:38000", + "{\"address\":\"e2t.att.com:38000\",\"associatedRanList\":[\"test1\",\"test2\",\"test3\"]," + "\"keepAliveTimestamp\":1577619310484022369,\"state\":\"ACTIVE\"}") + return True + + +def verify_e2t_addresses_for_e2t_initialization_tc(): + r = get_redis_client_decode_response() + + value = "[\"{}\"]".format(variables.e2t_alpha_address) + + return r.get("{e2Manager},E2TAddresses") == value + + +def verify_e2t_instance_for_e2t_initialization_tc(): + r = get_redis_client_decode_response() + + e2_address = "\"address\":\"{}\"".format(variables.e2t_alpha_address) + e2_associated_ran_list = "\"associatedRanList\":[]" + e2_state = "\"state\":\"ACTIVE\"" + + e2_db_instance = r.get("{{e2Manager}},E2TInstance:{}".format(variables.e2t_alpha_address)) + + if e2_db_instance.find(e2_address) < 0: + return False + if e2_db_instance.find(e2_associated_ran_list) < 0: + return False + if e2_db_instance.find(e2_state) < 0: + return False + + return True + + +def set_enable_ric_false(): + r = get_redis_client_decode_response() + r.set("{e2Manager},GENERAL", "{\"enableRic\":false}") + return True