def test_logging_failing_dimension_sql(tmpdir, sql_error): expected_directory = Path(tmpdir) / "queries" expected_directory.mkdir(exist_ok=True) log_sql_error( sql_error.model, sql_error.explore, sql_error.test, tmpdir, sql_error.metadata["dimension"], ) expected_path = expected_directory / "eye_exam__users__users_age.sql" assert Path.exists(expected_path) with expected_path.open("r") as file: content = file.read() assert content == "SELECT age FROM users WHERE 1=2 LIMIT 1"
def print_sql_error( model: str, explore: str, message: str, sql: str, log_dir: str, dimension: Optional[str] = None, lookml_url: Optional[str] = None, ) -> None: path = model + "/" if dimension: path += dimension else: path += explore print_header(red(path), LINE_WIDTH + COLOR_CODE_LENGTH) wrapped = textwrap.fill(message, LINE_WIDTH) logger.info(wrapped) if lookml_url: logger.info("\n" + f"LookML: {lookml_url}") file_path = log_sql_error(model, explore, sql, log_dir, dimension) logger.info("\n" + f"Test SQL: {file_path}")