def _helper_test_build_issue_info(self): items = [] command_log_files = _get_command_log_files(self.cli_ctx) log_file = command_log_files[0] issue_prefix, _, original_issue_body = _build_issue_info_tup(log_file) items.append((log_file, original_issue_body)) self.assertTrue(_CLI_ISSUES_URL in issue_prefix) log_file = command_log_files[2] issue_prefix, _, original_issue_body = _build_issue_info_tup(log_file) items.append((log_file, original_issue_body)) self.assertTrue(_EXTENSIONS_ISSUES_URL in issue_prefix) self.assertTrue(log_file.command_data_dict["extension_name"] in original_issue_body) self.assertTrue(log_file.command_data_dict["extension_version"] in original_issue_body) for log_file, original_issue_body in items: self.assertTrue( log_file.get_command_name_str() in original_issue_body) self.assertTrue(log_file.command_data_dict["command_args"] in original_issue_body) self.assertTrue( log_file.command_data_dict["errors"][0] in original_issue_body)
def _helper_test_log_metadata_correct(self): time_now = datetime.datetime.now() command_log_files = _get_command_log_files(self.cli_ctx, time_now) p_id = os.getpid() self.assertEqual(len(command_log_files), 4) for log_file in command_log_files: path = log_file.metadata_tup.file_path time_ago = log_file.metadata_tup.seconds_ago # time of logging should be within a couple minutes of this check self.assertTrue(time_ago < 300) self.assertEqual(log_file.metadata_tup.p_id, p_id) self.assertTrue(os.path.basename(path), self.temp_command_log_dir) self.assertEqual(log_file.metadata_tup.cmd, log_file.get_command_name_str()) self.assertEqual("az extension remove", command_log_files[0].metadata_tup.cmd) self.assertEqual("az extension add", command_log_files[1].metadata_tup.cmd) self.assertEqual("az alias create", command_log_files[2].metadata_tup.cmd) self.assertEqual("az alias list", command_log_files[3].metadata_tup.cmd)
def _helper_test_log_contents_correct(self): time_now = datetime.datetime.now() command_log_files = _get_command_log_files(self.cli_ctx, time_now) self.assertEqual(len(command_log_files), 4) self.assertEqual(command_log_files[0].get_command_status(), "FAILURE") self.assertEqual(command_log_files[1].get_command_status(), "SUCCESS") self.assertEqual(command_log_files[2].get_command_status(), "FAILURE") self.assertEqual(command_log_files[3].get_command_status(), "SUCCESS") was_successful = command_log_files[0].command_data_dict.pop("success") self.assertEqual(command_log_files[0].get_command_status(), "RUNNING") command_log_files[0].command_data_dict["success"] = was_successful # check failed cli command: data_dict = command_log_files[0].command_data_dict self.assertTrue(data_dict["success"] is False) self.assertEqual("There was an error during execution.", data_dict["errors"][0].strip()) self.assertEqual(data_dict["command_args"], "extension remove -n {}") # check successful cli command data_dict = command_log_files[1].command_data_dict self.assertTrue(data_dict["success"] is True) self.assertEqual(data_dict["command_args"], "extension add -n {}") # check unsuccessful extension command data_dict = command_log_files[2].command_data_dict self.assertTrue(data_dict["success"] is False) self.assertTrue("errors" in data_dict) self.assertEqual(data_dict["command_args"], "alias create -n {} -c {}") # check successful extension command data_dict = command_log_files[3].command_data_dict self.assertTrue(data_dict["success"] is True) self.assertEqual(data_dict["command_args"], "alias list") ext_version = self.cmd( "az extension show -n alias").get_output_in_json()["version"] for i, log_file in enumerate(command_log_files): if i >= 2: self.assertEqual(data_dict["extension_name"], "alias") self.assertEqual(data_dict["extension_version"], ext_version)