blob: 6a95c71e55bc5b0ee738bb97c1c916803b10d10c [file] [log] [blame]
Gary Wu9abb61c2018-09-27 10:38:50 -07001import json
2
3import docker
4
5
6class PrhLibrary(object):
7
8 def __init__(self):
9 pass
10
11 @staticmethod
12 def check_for_log(search_for):
13 client = docker.from_env()
14 container = client.containers.get('prh')
15 for line in container.logs(stream=True):
16 if search_for in line.strip():
17 return True
18 else:
19 return False
20
21 @staticmethod
22 def create_pnf_ready_notification(json_file):
23 json_to_python = json.loads(json_file)
24 ipv4 = json_to_python["event"]["pnfRegistrationFields"]["oamV4IpAddress"]
25 ipv6 = json_to_python["event"]["pnfRegistrationFields"]["oamV6IpAddress"]
26 correlationId = json_to_python["event"]["commonEventHeader"]["sourceName"]
27 str_json = '{"correlationId":"' + correlationId + '","ipaddress-v4-oam":"' + ipv4 + '","ipaddress-v6-oam":"' + ipv6 + '"}'
28 python_to_json = json.dumps(str_json)
29 return python_to_json.replace("\\", "")[1:-1]
30
31 @staticmethod
32 def create_pnf_name(json_file):
33 json_to_python = json.loads(json_file)
34 correlationId = json_to_python["event"]["commonEventHeader"]["sourceName"]
35 return correlationId
36
37 @staticmethod
38 def stop_aai():
39 client = docker.from_env()
40 container = client.containers.get('aai_simulator')
41 container.stop()
42
43 def create_invalid_notification(self, json_file):
44 return self.create_pnf_ready_notification(json_file).replace("\":", "\": ")\
45 .replace("ipaddress-v4-oam", "oamV4IpAddress").replace("ipaddress-v6-oam", "oamV6IpAddress")\
46 .replace("}", "\\n}")