Initialization script now passes signal to xapp process
[ric-app/admin.git] / test / mock_ves_collector.py
1 import cherrypy
2 import json
3 import os;
4
5 Rates = {};
6
7 @cherrypy.expose
8 class VES(object):
9     def __init__ (self):
10         self._name = "test";
11
12     @cherrypy.tools.accept(media='application/json')
13     def POST (self):
14         data = cherrypy.request.body.read(int(cherrypy.request.headers['Content-Length']));
15         json_data = json.loads(data);
16         measurement_interval = -1;
17         sgnb_req_count = 0;
18         sgnb_rej_count = 0;
19         class_id = None;
20         timestamp = 0;
21  
22         if 'event' in json_data:
23             if  'measurementFields' in json_data['event']:
24                 if  'measurementInterval' in json_data['event']['measurementFields']:
25                     measurement_interval = float(json_data['event']['measurementFields']['measurementInterval']);
26
27                 if  'additionalFields' in json_data['event']['measurementFields']:
28                     if  'SgNB Request Count' in json_data['event']['measurementFields']['additionalFields']:
29                         sgnb_req_count = float(json_data['event']['measurementFields']['additionalFields']['SgNB Request Count']);
30
31                     if  'SgNB Accept Count' in json_data['event']['measurementFields']['additionalFields']:
32                         sgnb_accpt_count = float(json_data['event']['measurementFields']['additionalFields']['SgNB Accept Count']);
33
34                     if 'Class Id' in json_data['event']['measurementFields']['additionalFields']:
35                         class_id = int(json_data['event']['measurementFields']['additionalFields']['Class Id']);
36                         
37
38         if measurement_interval > 0:
39             print("Class:{0}|Request Rate = {1}|Accept Rate = {2}\n".format(class_id, sgnb_req_count/float(measurement_interval), sgnb_accpt_count/float(measurement_interval)));
40                         
41
42
43 #=============================
44 if __name__ == '__main__':
45
46     conf = {
47         '/': {
48             'request.dispatch': cherrypy.dispatch.MethodDispatcher(),
49             'tools.sessions.on': True,
50             'tools.response_headers.on':True,
51             'tools.response_headers.headers':[('Content-Type','application/json')],
52             'tools.staticdir.on': True,
53             'tools.staticdir.dir':'/tmp/ves'
54         }
55      }
56
57     host_name = '127.0.0.1';
58     port = 6350;
59
60     cherrypy.config.update({'server.socket_host':host_name, 'server.socket_port':port});
61     cherrypy.tree.mount(VES(), '/', config=conf);
62     cherrypy.engine.start();
63     cherrypy.engine.block();
64