def test_render_datasource_new_notebook_with_sql_Datasource( empty_data_context, construct_datasource_new_notebook_assets, ): """ What does this test and why? The DatasourceNewNotebookRenderer should generate a notebook with text based on the datasource we are trying to implement. Here we are testing sql Datasource. """ context: DataContext = empty_data_context datasource_name = "my_sql_datasource_name" datasource_yaml = '"""test_yaml:\n indented_key: value"""' datasource_new_notebook_renderer = DatasourceNewNotebookRenderer( context=context, datasource_type=DatasourceTypes.SQL, datasource_yaml=datasource_yaml, datasource_name=datasource_name, sql_credentials_snippet='host = "localhost"', ) obs: nbformat.NotebookNode = datasource_new_notebook_renderer.render() assert isinstance(obs, dict) datasource_new_notebook_assets = construct_datasource_new_notebook_assets( datasource_name=datasource_name, datasource_yaml=datasource_yaml ) expected_cells = ( datasource_new_notebook_assets["sql_header"] + datasource_new_notebook_assets["imports"] + datasource_new_notebook_assets["customize_docs_cell"] + datasource_new_notebook_assets["datasource_name_cell"] + datasource_new_notebook_assets["sql_docs_cell"] + datasource_new_notebook_assets["sql_credentials_cell"] + datasource_new_notebook_assets["template_cell"] + datasource_new_notebook_assets["test_yaml_cells"] + datasource_new_notebook_assets["save_datasource_cells"] ) expected = { "nbformat": 4, "nbformat_minor": 4, "metadata": {}, "cells": expected_cells, } del expected["nbformat_minor"] del obs["nbformat_minor"] for obs_cell, expected_cell in zip(obs["cells"], expected["cells"]): obs_cell.pop("id", None) assert obs_cell == expected_cell assert obs == expected
def get_notebook_renderer(self, context) -> DatasourceNewNotebookRenderer: return DatasourceNewNotebookRenderer( context, datasource_type=self.datasource_type, datasource_yaml=self.yaml_snippet(), datasource_name=self.datasource_name, )
def get_notebook_renderer( self, context: DataContext) -> DatasourceNewNotebookRenderer: return DatasourceNewNotebookRenderer( context, datasource_type=self.datasource_type, datasource_yaml=self.yaml_snippet(), datasource_name=self.datasource_name, sql_credentials_snippet=self.credentials_snippet(), )