import time from models.test_case import CaseManager def randomize_display_name(case_manager: CaseManager, operation_id: str) -> None: display_name_sql = f"SELECT * FROM cases WHERE operation_id = '{operation_id}' and instr(json_extract(request, '$'), 'displayName') >0;" cases = case_manager.execute_query(display_name_sql) if len(cases) == 0: return display_name_in_pos = [ case.request["body"]["displayName"] for case in cases if case.type == "Positive" # type: ignore ][0] for case in cases: if "displayName" in case.request["body"]: # type: ignore display_name = case.request["body"].get("displayName") # type: ignore if display_name == display_name_in_pos: display_name += f"-{time.time_ns()//1000}" case.request["body"]["displayName"] = display_name # type: ignore # case_manager.add_or_update_case(case) case_manager._update_case(case) def revise_expected_status(case_manager: CaseManager) -> None: case1 = { "id": "c6f5b64ca8f0a955b73e213525287cc4", "status": 400, } # The cluster can be resumed only when it is PAUSED case2 = { "id": "32412561999792437bff8c13a80e6d91", "status": 200, } # query_param pageToken convert to string cases = [case1, case2] for case in cases: c = case_manager.get_case(case["id"]) # type: ignore if c is not None: c.expected_status = case["status"] # type: ignore case_manager._update_case(c) # type: ignore def add_ignored_flag(case_namager: CaseManager) -> None: ignored_category = [ "INVALID_METHOD", # "INVALID_PATH_PARAMETERS", # "NON_EXISTENT_PATH", ] for category in ignored_category: sql = f"UPDATE cases SET ignored = 1 WHERE category = '{category}'" case_namager.execute_query(sql) def postprocess_cases(case_manager: CaseManager) -> None: """Process cases using the provided case manager.""" randomize_display_name(case_manager, "ClusterService_CreateCluster") randomize_display_name(case_manager, "TidbNodeGroupService_CreateTidbNodeGroup") randomize_display_name( case_manager, "ClusterService_AdvancedModifyDedicatedCluster" ) revise_expected_status(case_manager) # add_ignored_flag(case_manager) case_manager.conn.commit() if __name__ == "__main__": case_manager = CaseManager("output/3ccc55b.db") postprocess_cases(case_manager)