added testcase SmartParking & cleanup

master
ermisw 2023-07-07 12:07:23 +02:00
parent d39b4a3109
commit 546b91a34c
2 changed files with 26 additions and 93 deletions

View File

@ -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):

View File

@ -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()