From 546b91a34c744d5b83d94c49c1c4c9988060160b Mon Sep 17 00:00:00 2001 From: ermisw Date: Fri, 7 Jul 2023 12:07:23 +0200 Subject: [PATCH] added testcase SmartParking & cleanup --- KRParser/krparser.py | 93 ------------------------------------------ tests/test_patterns.py | 26 ++++++++++++ 2 files changed, 26 insertions(+), 93 deletions(-) diff --git a/KRParser/krparser.py b/KRParser/krparser.py index efaefea..46e8902 100644 --- a/KRParser/krparser.py +++ b/KRParser/krparser.py @@ -173,99 +173,6 @@ class KRParser: return tmp_KR - # except Exception as err: - # kr.keyRequests[gid]["exception"]="resolveKeyRequests failed: "+repr(err) - - # for gid, k in enumerate(kr.keyRequests): - # try: - # query="type(service_method)" - # group=kr.matchedGroups[k["groupId"]] - - # if len(group["services"])> 0: - # if group["services"][0].startswith("SERVICE-"): - # query+=",fromRelationship.isServiceMethodOfService(type(\"SERVICE\"),entityId(\""+'","'.join(group["services"])+"\"))" - # else: - # query+=",fromRelationship.isServiceMethodOfService(type(\"SERVICE\"),entityName.in(\""+'","'.join(group["services"])+"\"))" - - # if k["comparer"]=="entityId": - # query+=",entityId("+k["entityId"]+")" - # else: - # query+=",entityName.in(\""+k["displayName"]+"\")" - - # params={"entitySelector": query, "from":"now-1y","fields": "fromRelationships"} - # response = helper.get_request(DTAPIURL, headers, params) - # entities = (response.json())['entities'] - - - # if len(entities)> 0: - - # kr.keyRequests[gid]["found"]=True - # kr.keyRequests[gid]['foundCount']=len(entities) - # kr.keyRequests[gid]["displayName"]=entities[0]["displayName"] - # kr.keyRequests[gid]["entityId"]=entities[0]["entityId"] - - # if "isServiceMethodOfService" in entities[0]["fromRelationships"]: - # kr.keyRequests[gid]["services"]=entities[0]["fromRelationships"]["isServiceMethodOfService"] - - # if options and KROption.RESOLVESERVICES in options and len( kr.keyRequests[gid]["services"])>0: - # self.resolveServices(kr.keyRequests[gid]["services"], DTAPIURL, DTAPIToken) - - # except Exception as err: - # kr.keyRequests[gid]["exception"]="resolveKeyRequests failed: "+repr(err) - - - - #kr.mergeServices(entities) - - # def resolveKeyRequests(self,kr, DTAPIURL, DTAPIToken, options): - # DTAPIURL = DTAPIURL + "/api/v2/entities" - - # headers = { - # 'Content-Type': 'application/json', - # 'Authorization': 'Api-Token ' + DTAPIToken - # } - - - # for gid, k in enumerate(kr.keyRequests): - # try: - # query="type(service_method)" - # group=kr.matchedGroups[k["groupId"]] - - # if len(group["services"])> 0: - # if group["services"][0].startswith("SERVICE-"): - # query+=",fromRelationship.isServiceMethodOfService(type(\"SERVICE\"),entityId(\""+'","'.join(group["services"])+"\"))" - # else: - # query+=",fromRelationship.isServiceMethodOfService(type(\"SERVICE\"),entityName.in(\""+'","'.join(group["services"])+"\"))" - - # if k["comparer"]=="entityId": - # query+=",entityId("+k["entityId"]+")" - # else: - # query+=",entityName.in(\""+k["displayName"]+"\")" - - # params={"entitySelector": query, "from":"now-1y","fields": "fromRelationships"} - # response = helper.get_request(DTAPIURL, headers, params) - # entities = (response.json())['entities'] - - - # if len(entities)> 0: - - # kr.keyRequests[gid]["found"]=True - # kr.keyRequests[gid]['foundCount']=len(entities) - # kr.keyRequests[gid]["displayName"]=entities[0]["displayName"] - # kr.keyRequests[gid]["entityId"]=entities[0]["entityId"] - - # if "isServiceMethodOfService" in entities[0]["fromRelationships"]: - # kr.keyRequests[gid]["services"]=entities[0]["fromRelationships"]["isServiceMethodOfService"] - - # if options and KROption.RESOLVESERVICES in options and len( kr.keyRequests[gid]["services"])>0: - # self.resolveServices(kr.keyRequests[gid]["services"], DTAPIURL, DTAPIToken) - - # except Exception as err: - # kr.keyRequests[gid]["exception"]="resolveKeyRequests failed: "+repr(err) - - - - # #kr.mergeServices(entities) def getKeyRequestsByServices(self, services): diff --git a/tests/test_patterns.py b/tests/test_patterns.py index 385a284..96de5ac 100644 --- a/tests/test_patterns.py +++ b/tests/test_patterns.py @@ -174,7 +174,33 @@ class patterns(unittest.TestCase): # self.assertListEqual(result[0].matchedGroups[0]["services"], expected_services) # self.assertListEqual(result[0].matchedGroups[0]["methods"], expected_methods) # self.assertEqual(result[0].matchedGroups[0]["pattern"], expected_pattern) + # TP_* SLO definition (Pattern1) + # Used SLO: TP_Mobile_Login + # https://xxu26128.apps.dynatrace.com/ui/apps/dynatrace.classic.settings/ui/settings/builtin:monitoring.slo?gtf=-2h&gf=all&id=2a07c9bf-2c7f-37eb-815b-efda7658bc13 + def test_TP_SmartParking(self): + + DTURL=self.env_doc['cnprod'][1]["env-url"] + DTTOKEN = config(self.env_doc['cnprod'][2].get('env-token-name')) + + api_url = DTURL+"/api/v2/slo/91e02599-a243-3201-a87e-91066419e52a" + + headers = { + 'Content-Type': 'application/json', + 'Authorization': 'Api-Token ' + DTTOKEN + } + + + slo_result=get_request(api_url, headers, {}) + slo=slo_result.json() + + krp = KRParser(options=KROption.RESOLVEKEYREQUETS | KROption.VALIDATE_HASDATA | KROption.RESOLVESERVICES, config={"threads":1,"serviceLookupParams":{"fields":"tags"},"extendResultObjects":{"env":"emea"}}, DTAPIURL=DTURL, DTAPIToken=DTTOKEN) + + result= krp.parse(slo) + + self.assertListEqual(result[0].matchedGroups[0]["services"], expected_services) + # self.assertListEqual(result[0].matchedGroups[0]["methods"], expected_methods) + # self.assertEqual(result[0].matchedGroups[0]["pattern"], expected_pattern) if __name__ == '__main__': unittest.main() \ No newline at end of file