def test_render_DefaultJinjaPageView_meta_info():
    validation_results = {
        "results": [],
        "statistics": {
            "evaluated_expectations": 156,
            "successful_expectations": 139,
            "unsuccessful_expectations": 17,
            "success_percent": 89.1025641025641
        },
        "meta": {
            "great_expectations.__version__": "0.7.0-beta",
            "data_asset_name": "tetanusvaricella",
            "expectation_suite_name": "my_suite",
            "run_id": "2019-06-25T14:58:09.960521",
            "batch_kwargs": {
                "path":
                "/Users/user/project_data/public_healthcare_datasets/tetanusvaricella/tetvardata.csv",
                "timestamp": 1561474688.693565
            }
        }
    }
    document = DescriptivePageRenderer.render(validation_results)
    html = DefaultJinjaPageView.render(document)
    print(html)
    # TODO: Use above print to set up snapshot test once we like the result

    assert '<a class="navbar-brand" href="#">tetanusvaricella</a>' in html
예제 #2
0
def test_render_descriptive_page_view(titanic_validation_results):
    document = DescriptivePageRenderer.render(titanic_validation_results)
    rendered = DefaultJinjaPageView.render(document)
    with open('./tests/render/output/test_render_descriptive_page_view.html',
              'w') as outfile:
        outfile.write(rendered)

    assert len(rendered) > 1000
예제 #3
0
def test_render_profiled_fixture_evrs(titanic_profiler_evrs):
    rendered_json = DescriptivePageRenderer.render(titanic_profiler_evrs)
    rendered_page = DefaultJinjaPageView.render(rendered_json)

    with open('./tests/render/output/test_render_profiled_fixture_evrs.html',
              'w') as f:
        f.write(rendered_page)

    assert rendered_page[:15] == "<!DOCTYPE html>"
    assert rendered_page[-7:] == "</html>"
예제 #4
0
def test_render_validation_results(titanic_profiled_evrs_1):
    rendered_json = ValidationResultsPageRenderer.render(
        titanic_profiled_evrs_1)
    rendered_page = DefaultJinjaPageView.render(rendered_json)

    with open('./tests/render/output/test_render_validation_results.html',
              'w') as f:
        f.write(rendered_page)

    assert rendered_page[:15] == "<!DOCTYPE html>"
    assert rendered_page[-7:] == "</html>"
예제 #5
0
def render(render_object):
    """Render a great expectations object to documentation.

    RENDER_OBJECT: path to a GE object to render
    """
    with open(render_object, "r") as infile:
        raw = json.load(infile)

    model = DescriptivePageRenderer.render(raw)
    # model = PrescriptivePageRenderer.render(raw)
    print(DefaultJinjaPageView.render(model))
예제 #6
0
def test_full_oobe_flow():
    df = ge.read_csv("examples/data/Titanic.csv")
    df.profile(BasicDatasetProfiler)
    evrs = df.validate()  # ["results"]

    rendered_json = DescriptivePageRenderer.render(evrs)
    rendered_page = DefaultJinjaPageView.render(rendered_json)

    with open('./tests/render/output/test_full_oobe_flow.html', 'w') as f:
        f.write(rendered_page)

    assert rendered_page[:15] == "<!DOCTYPE html>"
    assert rendered_page[-7:] == "</html>"
예제 #7
0
def test_render_profiled_fixture_expectations(
        tetanus_varicella_basic_dataset_profiler_expectations):
    rendered_json = PrescriptivePageRenderer.render(
        tetanus_varicella_basic_dataset_profiler_expectations)
    rendered_page = DefaultJinjaPageView.render(rendered_json)

    with open(
            './tests/render/output/test_render_profiled_fixture_expectations.html',
            'w') as f:
        f.write(rendered_page)

    assert rendered_page[:15] == "<!DOCTYPE html>"
    assert rendered_page[-7:] == "</html>"
예제 #8
0
def render(render_object):
    """Render a great expectations object to documentation.

    RENDER_OBJECT: path to a GE object to render
    """
    with open(render_object, "r") as infile:
        raw = json.load(infile)

    if "results" in raw:
        model = ProfilingResultsPageRenderer.render(raw)
    else:
        model = ExpectationSuitePageRenderer.render(raw)
    print(DefaultJinjaPageView.render(model))
예제 #9
0
def test_render_profiled_fixture_expectation_suite(
        titanic_dataset_profiler_expectations):
    rendered_json = ExpectationSuitePageRenderer.render(
        titanic_dataset_profiler_expectations)
    rendered_page = DefaultJinjaPageView.render(rendered_json)

    with open(
            './tests/render/output/test_render_profiled_fixture_expectation_suite.html',
            'w') as f:
        f.write(rendered_page)

    assert rendered_page[:15] == "<!DOCTYPE html>"
    assert rendered_page[-7:] == "</html>"
예제 #10
0
def test_smoke_render_descriptive_page_renderer_with_exception(
        tetanus_varicella_basic_dataset_profiler_evrs_with_exception):
    rendered_json = DescriptivePageRenderer.render(
        tetanus_varicella_basic_dataset_profiler_evrs_with_exception)
    rendered_page = DefaultJinjaPageView.render(rendered_json)

    with open(
            './tests/render/output/test_render_descriptive_column_section_renderer_with_exception.html',
            'w') as f:
        f.write(rendered_page)

    assert rendered_page[:15] == "<!DOCTYPE html>"
    assert rendered_page[-7:] == "</html>"
    assert "exception" in rendered_page
예제 #11
0
def test_smoke_render_profiling_results_page_renderer_with_exception(
        titanic_profiler_evrs_with_exception):
    rendered_json = ProfilingResultsPageRenderer.render(
        titanic_profiler_evrs_with_exception)
    rendered_page = DefaultJinjaPageView.render(rendered_json)

    with open(
            './tests/render/output/test_render_profiling_results_column_section_renderer_with_exception.html',
            'w') as f:
        f.write(rendered_page)

    assert rendered_page[:15] == "<!DOCTYPE html>"
    assert rendered_page[-7:] == "</html>"
    assert "exception" in rendered_page
예제 #12
0
def test_render_profiled_fixture_expectation_suite_with_distribution(
        titanic_dataset_profiler_expectations_with_distribution):
    # Tests sparkline
    rendered_json = ExpectationSuitePageRenderer.render(
        titanic_dataset_profiler_expectations_with_distribution)
    rendered_page = DefaultJinjaPageView.render(rendered_json)

    with open(
            './tests/render/output/titanic_dataset_profiler_expectation_suite_with_distribution.html',
            'wb') as f:
        f.write(rendered_page.encode("utf-8"))

    assert rendered_page[:15] == "<!DOCTYPE html>"
    assert rendered_page[-7:] == "</html>"
예제 #13
0
def test_render_validation_results(titanic_profiled_evrs_1):
    rendered_json = ValidationResultsPageRenderer().render(
        titanic_profiled_evrs_1)
    rendered_page = DefaultJinjaPageView.render(rendered_json)

    with open('./tests/render/output/test_render_validation_results.html',
              'w') as f:
        f.write(rendered_page)

    assert rendered_page[:15] == "<!DOCTYPE html>"
    assert rendered_page[-7:] == "</html>"
    assert "Table-Level Expectations" in rendered_page
    assert 'Must have more than <span class="badge badge-secondary" >0</span> rows.' in rendered_page
    assert 'Must have between <span class="badge badge-secondary" >0</span> and <span class="badge badge-secondary" >23</span> columns.' in rendered_page