コード例 #1
0
ファイル: cli.py プロジェクト: msandt3/spectacles
def run_assert(project, branch, base_url, client_id, client_secret, port,
               api_version) -> None:
    runner = Runner(base_url, project, branch, client_id, client_secret, port,
                    api_version)
    errors = runner.validate_data_tests()
    if errors:
        for error in sorted(errors, key=lambda x: x["path"]):
            printer.print_data_test_error(error)
        logger.info("")
        raise ValidationError
    else:
        logger.info("")
コード例 #2
0
def run_assert(
    project,
    branch,
    explores,
    exclude,
    base_url,
    client_id,
    client_secret,
    port,
    api_version,
    remote_reset,
    import_projects,
    commit_ref,
) -> None:
    runner = Runner(
        base_url,
        project,
        branch,
        client_id,
        client_secret,
        port,
        api_version,
        remote_reset,
        import_projects,
        commit_ref,
    )
    results = runner.validate_data_tests(explores, exclude)

    for test in sorted(results["tested"],
                       key=lambda x: (x["model"], x["explore"])):
        message = f"{test['model']}.{test['explore']}"
        printer.print_validation_result(passed=test["passed"], source=message)

    errors = sorted(
        results["errors"],
        key=lambda x: (x["model"], x["explore"], x["metadata"]["test_name"]),
    )
    if errors:
        for error in errors:
            printer.print_data_test_error(
                error["model"],
                error["explore"],
                error["metadata"]["test_name"],
                error["message"],
                error["metadata"]["lookml_url"],
            )
        logger.info("")
        raise GenericValidationError
    else:
        logger.info("")
コード例 #3
0
ファイル: test_printer.py プロジェクト: rerost/spectacles
def test_data_test_error_prints_with_relevant_info(sql_error, caplog):
    model = "model_a"
    explore = "explore_a"
    test_name = "assert_metric_is_positive"
    message = "A super important error occurred."
    lookml_url = "https://spectacles.looker.com"

    printer.print_data_test_error(
        model=model,
        explore=explore,
        test_name=test_name,
        message=message,
        lookml_url=lookml_url,
    )
    assert model in caplog.text
    assert explore in caplog.text
    assert test_name in caplog.text
    assert message in caplog.text
    assert lookml_url in caplog.text