Ejemplo n.º 1
0
def test_build_slack_notification_request_with_no_validation_json():
    with mock.patch("datetime.datetime") as mock_datetime:
        mock_datetime.strftime.return_value = "05/05/19 12:12:12"
        obs = build_slack_notification_request(None)

    assert isinstance(obs, dict)
    assert obs == {
        "blocks": [
            {
                "type": "section",
                "text": {
                    "type": "mrkdwn",
                    "text": "No validation occurred. Please ensure you passed a validation_json.",
                },
            },
            {
                "type": "context",
                "elements": [
                    {
                        "type": "mrkdwn",
                        "text": "Great Expectations run id None ran at 05/05/19 12:12:12",
                    }
                ],
            },
        ]
    }
Ejemplo n.º 2
0
def test_build_slack_notification_request_with_failed_validation(
        validation_json):
    validation_json["success"] = False
    with mock.patch("datetime.datetime") as mock_datetime:
        mock_datetime.strftime.return_value = "05/05/19 12:12:12"
        obs = build_slack_notification_request(validation_json)

    assert isinstance(obs, dict)
    expected = {
        "blocks": [
            {
                "type": "section",
                "text": {
                    "type":
                    "mrkdwn",
                    "text":
                    "*Validated batch from data asset:* `diabetes_raw_csv`\n*Status: Failed :x:*\n33 of 44 expectations were met\n\n",
                },
            },
            {
                "type": "section",
                "text": {
                    "type": "mrkdwn",
                    "text": "- *Validation Report*: s3://my_bucket/blah.json",
                },
            },
            {
                "type": "section",
                "text": {
                    "type": "mrkdwn",
                    "text":
                    "- *Validation data asset*: s3://my_bucket/blah.csv",
                },
            },
            {
                "type":
                "context",
                "elements": [{
                    "type":
                    "mrkdwn",
                    "text":
                    "Great Expectations run id 7 ran at 05/05/19 12:12:12",
                }],
            },
        ]
    }
    assertDeepAlmostEqual(expected, obs)
Ejemplo n.º 3
0
def test_build_slack_notification_request_with_successful_validation_and_no_dataset(
    validation_json
):
    validation_json["meta"].pop("dataset_reference")
    with mock.patch("datetime.datetime") as mock_datetime:
        mock_datetime.strftime.return_value = "05/05/19 12:12:12"
        obs = build_slack_notification_request(validation_json)

    assert isinstance(obs, dict)
    assert obs == {
        "blocks": [
            {
                "type": "section",
                "text": {
                    "type": "mrkdwn",
                    "text": "*Validated batch from data asset:* `diabetes_raw_csv`\n*Status: Success :tada:*\n33 of 44 expectations were met\n\n",
                },
            },
            {
                "type": "section",
                "text": {
                    "type": "mrkdwn",
                    "text": "- *Validation Report*: s3://my_bucket/blah.json",
                },
            },
            {
                "type": "context",
                "elements": [
                    {
                        "type": "mrkdwn",
                        "text": "Great Expectations run id 7 ran at 05/05/19 12:12:12",
                    }
                ],
            },
        ]
    }