示例#1
0
    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)
示例#2
0
    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)
示例#3
0
    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)