def get_statistics_map(fledge_url): _connection = http.client.HTTPConnection(fledge_url) _connection.request("GET", '/fledge/statistics') r = _connection.getresponse() assert 200 == r.status r = r.read().decode() jdoc = json.loads(r) return utils.serialize_stats_map(jdoc)
def get_statistics_map(self, foglamp_url): conn = http.client.HTTPConnection(foglamp_url) conn.request("GET", '/foglamp/statistics') r = conn.getresponse() assert 200 == r.status r = r.read().decode() jdoc = json.loads(r) return utils.serialize_stats_map(jdoc)
def test_statistics_history_with_service_enabled(self, start_south_coap, fledge_url, wait_time): # Allow CoAP listener to start time.sleep(wait_time) # ingest one reading via fogbench subprocess.run(["cd $FLEDGE_ROOT/extras/python; python3 -m fogbench -t ../../data/{}; cd -" .format(TEMPLATE_NAME)], shell=True, check=True) # Let the readings to be Ingressed time.sleep(wait_time) # verify stats conn = http.client.HTTPConnection(fledge_url) conn.request("GET", '/fledge/statistics') r = conn.getresponse() assert 200 == r.status r = r.read().decode() jdoc = json.loads(r) assert len(jdoc), "No data found" stats = utils.serialize_stats_map(jdoc) assert 1 == stats[ASSET_NAME.upper()] assert 1 == stats['READINGS'] # Allow stats collector schedule to run i.e. by default 15s time.sleep(wait_time * 2 + 1) # check stats history conn.request("GET", '/fledge/statistics/history') r = conn.getresponse() assert 200 == r.status r = r.read().decode() jdoc = json.loads(r) assert len(jdoc), "No data found" stats_history = jdoc['statistics'] # READINGS & ASSET_NAME keys and verify no duplicate entry found with value 1 read = [r['READINGS'] for r in stats_history] assert 1 in read assert 1 == read.count(1) # print(stats_history) asset_stats_history = [a for a in stats_history if ASSET_NAME.upper() in a.keys()] assert any(ash[ASSET_NAME.upper()] == 1 for ash in asset_stats_history), "Failed to find statistics history " \ "record for " + ASSET_NAME.upper() # verify stats history by READINGS key only conn.request("GET", '/fledge/statistics/history?key={}'.format('READINGS')) r = conn.getresponse() assert 200 == r.status r = r.read().decode() jdoc = json.loads(r) assert len(jdoc), "No data found" read = [r['READINGS'] for r in jdoc['statistics']] assert 1 in read assert 1 == read.count(1) # verify stats history by ASSET_NAME key only conn.request("GET", '/fledge/statistics/history?key={}'.format(ASSET_NAME.upper())) r = conn.getresponse() assert 200 == r.status r = r.read().decode() jdoc = json.loads(r) assert len(jdoc), "No data found" asset = [a[ASSET_NAME.upper()] for a in jdoc['statistics']] assert 1 in asset assert 1 == asset.count(1)