diff options
author | Morgan Richomme <morgan.richomme@orange.com> | 2016-04-01 14:02:23 +0000 |
---|---|---|
committer | Gerrit Code Review <gerrit@172.30.200.206> | 2016-04-01 14:02:23 +0000 |
commit | 4f48338cc7fbfb3d9c1bfcac997c4004bc473272 (patch) | |
tree | bb7c3acf9201c5b288cb5624383cf9564cab1ab3 /utils/test/scripts/shared_utils.py | |
parent | 63c4312157db00bed05bd1160d5fcd3d45f9307d (diff) | |
parent | 20c693591a98597d05a37485bb1d15d2df595af0 (diff) |
Merge "added ELK scripts for porting data from mongo to elasticsearch and managing kibana dashboards"
Diffstat (limited to 'utils/test/scripts/shared_utils.py')
-rw-r--r-- | utils/test/scripts/shared_utils.py | 36 |
1 files changed, 36 insertions, 0 deletions
diff --git a/utils/test/scripts/shared_utils.py b/utils/test/scripts/shared_utils.py new file mode 100644 index 000000000..899f844ec --- /dev/null +++ b/utils/test/scripts/shared_utils.py @@ -0,0 +1,36 @@ +import urllib3 +import json +http = urllib3.PoolManager() + + +def delete_request(url, username, password, body=None): + headers = urllib3.util.make_headers(basic_auth=':'.join([username, password])) + http.request('DELETE', url, headers=headers, body=body) + + +def publish_json(json_ojb, username, password, output_destination): + json_dump = json.dumps(json_ojb) + if output_destination == 'stdout': + print json_dump + else: + headers = urllib3.util.make_headers(basic_auth=':'.join([username, password])) + http.request('POST', output_destination, headers=headers, body=json_dump) + + +def _get_nr_of_hits(elastic_json): + return elastic_json['hits']['total'] + + +def get_elastic_data(elastic_url, username, password, body, field='_source'): + # 1. get the number of results + headers = urllib3.util.make_headers(basic_auth=':'.join([username, password])) + elastic_json = json.loads(http.request('GET', elastic_url + '/_search?size=0', headers=headers, body=body).data) + nr_of_hits = _get_nr_of_hits(elastic_json) + + # 2. get all results + elastic_json = json.loads(http.request('GET', elastic_url + '/_search?size={}'.format(nr_of_hits), headers=headers, body=body).data) + + elastic_data = [] + for hit in elastic_json['hits']['hits']: + elastic_data.append(hit[field]) + return elastic_data |