import gzip import json import os import pytest import sys sys.path.insert(0, os.path.dirname(os.path.dirname(os.path.dirname(os.path.abspath(__file__))))) from telemetry.TelemetryDataParse import * @pytest.fixture() def telemetry_v3_gz_path(): return os.path.join( os.path.dirname(os.path.abspath(__file__)), "test_data/telemetry_data_v3.gz", ) @pytest.fixture() def telemetry_v3_data(telemetry_v3_gz_path: str): with gzip.open(telemetry_v3_gz_path) as fp: raw_data = fp.readline() try: _ = util.json_to_pb(json.loads(raw_data)) print("RwaData matches the current schema ^_^") except Exception as e: print(e) print("RwaData doesn't match the current schema !") telemetry_data = DataParse(raw_data) assert telemetry_data != None return telemetry_data class TestTelemetryV3: def test_get_app(self, telemetry_v3_data): assert telemetry_v3_data.get_app() == "tidb" def test_get_ip(self, telemetry_v3_data): assert telemetry_v3_data.get_ip() == "175.24.186.229" def test_get_host(self, telemetry_v3_data): assert telemetry_v3_data.get_host() == "pingcap-com-beijing-1" def test_get_cluster_index(self, telemetry_v3_data): assert telemetry_v3_data.get_cluster_index() == None def test_get_cluster_index_usage(self, telemetry_v3_data): assert telemetry_v3_data.get_cluster_index_usage() == None def test_get_cluster_index_pk(self, telemetry_v3_data): assert telemetry_v3_data.get_cluster_index_pk() == None def test_get_tracking_id(self, telemetry_v3_data): assert ( telemetry_v3_data.get_tracking_id() == "593a1654-efe6-462a-82ad-85713a40174b" ) def test_get_report_timestamp(self, telemetry_v3_data): assert telemetry_v3_data.get_report_timestamp() == 1624953169 def test_get_cluster_index_cnt(self, telemetry_v3_data): assert telemetry_v3_data.get_cluster_index_cnt() == None def test_get_cluster_index_true_cnt(self, telemetry_v3_data): assert telemetry_v3_data.get_cluster_index_true_cnt() == None def test_get_cluster_index_false_cnt(self, telemetry_v3_data): assert telemetry_v3_data.get_cluster_index_false_cnt() == None def test_get_async_commit_used(self, telemetry_v3_data): assert telemetry_v3_data.get_async_commit_used() == None def test_get_async_commit_cnt(self, telemetry_v3_data): assert telemetry_v3_data.get_async_commit_cnt() == None def test_get_onePC_used(self, telemetry_v3_data): assert telemetry_v3_data.get_onePC_used() == None def test_get_onePC_cnt(self, telemetry_v3_data): assert telemetry_v3_data.get_onePC_cnt() == None def test_get_twoPC_cnt(self, telemetry_v3_data): assert telemetry_v3_data.get_twoPC_cnt() == None def test_get_execute_count(self, telemetry_v3_data): assert telemetry_v3_data.get_execute_count_sum() == None def test_get_cop_usage(self, telemetry_v3_data): assert telemetry_v3_data.get_copr_cache_usage() == None def test_get_tiflash_usage_pushdown(self, telemetry_v3_data): assert telemetry_v3_data.get_tiflash_pushdown() == None def test_get_tiflash_usage_exchange(self, telemetry_v3_data): assert telemetry_v3_data.get_tiflash_exchange_pushdown() == None def test_get_sql_usage(self, telemetry_v3_data): assert telemetry_v3_data.get_sql_usage() == None def test_get_slow_query_usage(self, telemetry_v3_data): assert telemetry_v3_data.get_slow_query_stats() == None def test_get_host_extra(self, telemetry_v3_data): assert isinstance(telemetry_v3_data.get_host_extra(), dict) def test_get_instances(self, telemetry_v3_data): assert isinstance(telemetry_v3_data.get_instances(), list) def test_get_hardware(self, telemetry_v3_data): assert isinstance(telemetry_v3_data.get_hardware(), list)