예제 #1
0
        def it_should_show_help(capsys) -> None:
            with pytest.raises(SystemExit):
                sys.argv = [
                    "pytest",
                    *_key_args(),
                    *_secret_args(),
                ]

                parse_main_arguments()
                _assert_error_message(capsys)
예제 #2
0
        def main_arguments() -> MainArguments:
            sys.argv = [
                "pytest", "-b", "http://api.ed-fi.org/v5.1", "-k",
                "populatedTemplateX", "-s", "populatedSecretX", "-c", "404",
                "-o", "test_outputX", "-t",
                str(OutputFormat.CSV), "-r", "academicWeeks", "students", "-p",
                "42", "-l", "debug", "-d", "test run"
            ]

            return parse_main_arguments()
예제 #3
0
    def main_arguments() -> MainArguments:
        os.environ["PERF_API_BASEURL"] = "http://api.ed-fi.org"
        os.environ["PERF_API_KEY"] = "populatedTemplate"
        os.environ["PERF_API_SECRET"] = "populatedSecret"
        os.environ["PERF_CONNECTION_LIMIT"] = "40"
        os.environ["PERF_OUTPUT_DIR"] = "test_output"
        os.environ["PERF_CONTENT_TYPE"] = str(OutputFormat.JSON)
        os.environ["PERF_RESOURCE_LIST"] = '["a", "b"]'
        os.environ["PERF_API_PAGE_SIZE"] = "402"
        os.environ["PERF_LOG_LEVEL"] = "WARNing"
        os.environ["PERF_DESCRIPTION"] = "page run"
        os.environ["IGNORE_TLS_CERTIFICATE"] = "True"
        sys.argv = ["pytest"]

        return parse_main_arguments()
async def main() -> None:
    load_dotenv()
    configuration = parse_main_arguments()
    _configure_logging(configuration)

    # Important that this comes _after_ the logging configuration
    error_tracker = ErrorHandler()

    await run(configuration)

    if error_tracker.fired:
        print(
            "A fatal error occurred, please review the log output for more information.",
            file=sys.stderr,
        )
        sys.exit(1)
    sys.exit(0)