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