Exemple #1
0
def test_ValidationResultsTableContentBlockRenderer_get_unexpected_table(
        evr_success):
    evr_failed_no_result = {
        "success": False,
        "exception_info": {
            "raised_exception": False,
            "exception_message": None,
            "exception_traceback": None
        },
        "expectation_config": {
            "expectation_type": "expect_column_values_to_be_in_set",
            "kwargs": {
                "column": "Unnamed: 0",
                "value_set": [],
                "result_format": "SUMMARY"
            }
        }
    }

    evr_failed_no_unexpected_list_or_counts = {
        "success": False,
        "result": {
            "element_count": 1313,
            "missing_count": 0,
            "missing_percent": 0.0,
            "unexpected_count": 1313,
            "unexpected_percent": 100.0,
            "unexpected_percent_nonmissing": 100.0,
        },
        "exception_info": {
            "raised_exception": False,
            "exception_message": None,
            "exception_traceback": None
        },
        "expectation_config": {
            "expectation_type": "expect_column_values_to_be_in_set",
            "kwargs": {
                "column": "Unnamed: 0",
                "value_set": [],
                "result_format": "SUMMARY"
            }
        }
    }

    evr_failed_partial_unexpected_list = {
        "success": False,
        "result": {
            "element_count":
            1313,
            "missing_count":
            0,
            "missing_percent":
            0.0,
            "unexpected_count":
            1313,
            "unexpected_percent":
            100.0,
            "unexpected_percent_nonmissing":
            100.0,
            "partial_unexpected_list": [
                1, 2, 3, 4, 5, 6, 7, 8, 9, 10, 11, 12, 13, 14, 15, 16, 17, 18,
                19, 20
            ],
        },
        "exception_info": {
            "raised_exception": False,
            "exception_message": None,
            "exception_traceback": None
        },
        "expectation_config": {
            "expectation_type": "expect_column_values_to_be_in_set",
            "kwargs": {
                "column": "Unnamed: 0",
                "value_set": [],
                "result_format": "SUMMARY"
            }
        }
    }

    evr_failed_partial_unexpected_counts = {
        "success": False,
        "result": {
            "element_count":
            1313,
            "missing_count":
            0,
            "missing_percent":
            0.0,
            "unexpected_count":
            1313,
            "unexpected_percent":
            100.0,
            "unexpected_percent_nonmissing":
            100.0,
            "partial_unexpected_list": [
                1, 2, 3, 4, 5, 6, 7, 8, 9, 10, 11, 12, 13, 14, 15, 16, 17, 18,
                19, 20
            ],
            "partial_unexpected_index_list": [
                0, 1, 2, 3, 4, 5, 6, 7, 8, 9, 10, 11, 12, 13, 14, 15, 16, 17,
                18, 19
            ],
            "partial_unexpected_counts": [{
                "value": 1,
                "count": 1
            }, {
                "value": 2,
                "count": 1
            }, {
                "value": 3,
                "count": 1
            }, {
                "value": 4,
                "count": 1
            }, {
                "value": 5,
                "count": 1
            }, {
                "value": 6,
                "count": 1
            }, {
                "value": 7,
                "count": 1
            }, {
                "value": 8,
                "count": 1
            }, {
                "value": 9,
                "count": 1
            }, {
                "value": 10,
                "count": 1
            }, {
                "value": 11,
                "count": 1
            }, {
                "value": 12,
                "count": 1
            }, {
                "value": 13,
                "count": 1
            }, {
                "value": 14,
                "count": 1
            }, {
                "value": 15,
                "count": 1
            }, {
                "value": 16,
                "count": 1
            }, {
                "value": 17,
                "count": 1
            }, {
                "value": 18,
                "count": 1
            }, {
                "value": 19,
                "count": 1
            }, {
                "value": 20,
                "count": 1
            }]
        },
        "exception_info": {
            "raised_exception": False,
            "exception_message": None,
            "exception_traceback": None
        },
        "expectation_config": {
            "expectation_type": "expect_column_values_to_be_in_set",
            "kwargs": {
                "column": "Unnamed: 0",
                "value_set": [],
                "result_format": "SUMMARY"
            }
        }
    }

    # test for succeeded evr
    output_1 = ValidationResultsTableContentBlockRenderer._get_unexpected_table(
        evr_success)
    print(output_1)
    assert output_1 is None

    # test for failed evr with no "result" key
    output_2 = ValidationResultsTableContentBlockRenderer._get_unexpected_table(
        evr_failed_no_result)
    print(output_2)
    assert output_2 is None

    # test for failed evr with no unexpected list or unexpected counts
    output_3 = ValidationResultsTableContentBlockRenderer._get_unexpected_table(
        evr_failed_no_unexpected_list_or_counts)
    print(output_3)
    assert output_3 is None

    # test for failed evr with partial unexpected list
    output_4 = ValidationResultsTableContentBlockRenderer._get_unexpected_table(
        evr_failed_partial_unexpected_list)
    print(json.dumps(output_4, indent=2))
    assert output_4 == {
        "content_block_type":
        "table",
        "table": [[1], [2], [3], [4], [5], [6], [7], [8], [9], [10], [11],
                  [12], [13], [14], [15], [16], [17], [18], [19], [20]],
        "header_row": ["Unexpected Value"],
        "styling": {
            "body": {
                "classes": ["table-bordered", "table-sm", "mt-3"]
            }
        }
    }

    # test for failed evr with partial unexpected counts
    output_5 = ValidationResultsTableContentBlockRenderer._get_unexpected_table(
        evr_failed_partial_unexpected_counts)
    print(json.dumps(output_5, indent=2))
    assert output_5 == {
        "content_block_type":
        "table",
        "table": [[1, 1], [2, 1], [3, 1], [4, 1], [5, 1], [6, 1], [7, 1],
                  [8, 1], [9, 1], [10, 1], [11, 1], [12, 1], [13, 1], [14, 1],
                  [15, 1], [16, 1], [17, 1], [18, 1], [19, 1], [20, 1]],
        "header_row": ["Unexpected Value", "Count"],
        "styling": {
            "body": {
                "classes": ["table-bordered", "table-sm", "mt-3"]
            }
        }
    }
def test_ValidationResultsTableContentBlockRenderer_get_unexpected_table(
        evr_success):
    evr_failed_no_result = ExpectationValidationResult(
        success=False,
        exception_info={
            "raised_exception": False,
            "exception_message": None,
            "exception_traceback": None,
        },
        expectation_config=ExpectationConfiguration(
            expectation_type="expect_column_values_to_be_in_set",
            kwargs={
                "column": "Unnamed: 0",
                "value_set": [],
                "result_format": "SUMMARY",
            },
        ),
    )

    evr_failed_no_unexpected_list_or_counts = ExpectationValidationResult(
        success=False,
        result={
            "element_count": 1313,
            "missing_count": 0,
            "missing_percent": 0.0,
            "unexpected_count": 1313,
            "unexpected_percent": 100.0,
            "unexpected_percent_nonmissing": 100.0,
        },
        exception_info={
            "raised_exception": False,
            "exception_message": None,
            "exception_traceback": None,
        },
        expectation_config=ExpectationConfiguration(
            expectation_type="expect_column_values_to_be_in_set",
            kwargs={
                "column": "Unnamed: 0",
                "value_set": [],
                "result_format": "SUMMARY",
            },
        ),
    )

    evr_failed_partial_unexpected_list = ExpectationValidationResult(
        success=False,
        result={
            "element_count":
            1313,
            "missing_count":
            0,
            "missing_percent":
            0.0,
            "unexpected_count":
            1313,
            "unexpected_percent":
            100.0,
            "unexpected_percent_nonmissing":
            100.0,
            "partial_unexpected_list": [
                1,
                2,
                3,
                4,
                5,
                6,
                7,
                8,
                9,
                10,
                11,
                12,
                13,
                14,
                15,
                16,
                17,
                18,
                19,
                20,
            ],
        },
        exception_info={
            "raised_exception": False,
            "exception_message": None,
            "exception_traceback": None,
        },
        expectation_config=ExpectationConfiguration(
            expectation_type="expect_column_values_to_be_in_set",
            kwargs={
                "column": "Unnamed: 0",
                "value_set": [],
                "result_format": "SUMMARY",
            },
        ),
    )

    evr_failed_partial_unexpected_counts = ExpectationValidationResult(
        success=False,
        result={
            "element_count":
            1313,
            "missing_count":
            0,
            "missing_percent":
            0.0,
            "unexpected_count":
            1313,
            "unexpected_percent":
            100.0,
            "unexpected_percent_nonmissing":
            100.0,
            "partial_unexpected_list": [
                1,
                2,
                3,
                4,
                5,
                6,
                7,
                8,
                9,
                10,
                11,
                12,
                13,
                14,
                15,
                16,
                17,
                18,
                19,
                20,
            ],
            "partial_unexpected_index_list": [
                0,
                1,
                2,
                3,
                4,
                5,
                6,
                7,
                8,
                9,
                10,
                11,
                12,
                13,
                14,
                15,
                16,
                17,
                18,
                19,
            ],
            "partial_unexpected_counts": [
                {
                    "value": 1,
                    "count": 1
                },
                {
                    "value": 2,
                    "count": 1
                },
                {
                    "value": 3,
                    "count": 1
                },
                {
                    "value": 4,
                    "count": 1
                },
                {
                    "value": 5,
                    "count": 1
                },
                {
                    "value": 6,
                    "count": 1
                },
                {
                    "value": 7,
                    "count": 1
                },
                {
                    "value": 8,
                    "count": 1
                },
                {
                    "value": 9,
                    "count": 1
                },
                {
                    "value": 10,
                    "count": 1
                },
                {
                    "value": 11,
                    "count": 1
                },
                {
                    "value": 12,
                    "count": 1
                },
                {
                    "value": 13,
                    "count": 1
                },
                {
                    "value": 14,
                    "count": 1
                },
                {
                    "value": 15,
                    "count": 1
                },
                {
                    "value": 16,
                    "count": 1
                },
                {
                    "value": 17,
                    "count": 1
                },
                {
                    "value": 18,
                    "count": 1
                },
                {
                    "value": 19,
                    "count": 1
                },
                {
                    "value": 20,
                    "count": 1
                },
            ],
        },
        exception_info={
            "raised_exception": False,
            "exception_message": None,
            "exception_traceback": None,
        },
        expectation_config=ExpectationConfiguration(
            expectation_type="expect_column_values_to_be_in_set",
            kwargs={
                "column": "Unnamed: 0",
                "value_set": [],
                "result_format": "SUMMARY",
            },
        ),
    )

    # test for succeeded evr
    output_1 = ValidationResultsTableContentBlockRenderer._get_unexpected_table(
        evr_success)
    assert output_1 is None

    # test for failed evr with no "result" key
    output_2 = ValidationResultsTableContentBlockRenderer._get_unexpected_table(
        evr_failed_no_result)
    assert output_2 is None

    # test for failed evr with no unexpected list or unexpected counts
    output_3 = ValidationResultsTableContentBlockRenderer._get_unexpected_table(
        evr_failed_no_unexpected_list_or_counts)
    assert output_3 is None

    # test for failed evr with partial unexpected list
    output_4 = ValidationResultsTableContentBlockRenderer._get_unexpected_table(
        evr_failed_partial_unexpected_list)
    assert output_4.to_json_dict() == {
        "content_block_type":
        "table",
        "table": [
            [1],
            [2],
            [3],
            [4],
            [5],
            [6],
            [7],
            [8],
            [9],
            [10],
            [11],
            [12],
            [13],
            [14],
            [15],
            [16],
            [17],
            [18],
            [19],
            [20],
        ],
        "header_row": ["Sampled Unexpected Values"],
        "styling": {
            "body": {
                "classes": ["table-bordered", "table-sm", "mt-3"]
            }
        },
    }

    # test for failed evr with partial unexpected counts
    output_5 = ValidationResultsTableContentBlockRenderer._get_unexpected_table(
        evr_failed_partial_unexpected_counts)
    assert output_5.to_json_dict() == {
        "content_block_type":
        "table",
        "table": [
            [1],
            [2],
            [3],
            [4],
            [5],
            [6],
            [7],
            [8],
            [9],
            [10],
            [11],
            [12],
            [13],
            [14],
            [15],
            [16],
            [17],
            [18],
            [19],
            [20],
        ],
        "header_row": ["Sampled Unexpected Values"],
        "styling": {
            "body": {
                "classes": ["table-bordered", "table-sm", "mt-3"]
            }
        },
    }