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
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
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>"
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>"
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))
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>"
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>"
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))
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>"
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
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
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>"
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