from pathlib import Path from data_engine import DataContext BASE = Path(__file__).parents[1] # Check that profiling and data quality checks return expected results def test_profile_and_quality(): ctx=DataContext.from_path(BASE/"examples"/"dirty_orders.csv") assert ctx.profile()["rows"] == 8 assert ctx.profile()["columns"] == 5 assert ctx.quality_report()["issue_count"] > 0 # Verify that schema validation detects invalid data def test_schema_validation_detects_failures(): ctx=DataContext.from_path(BASE/"examples"/"dirty_orders.csv") result=ctx.validate_schema((BASE/"examples"/"expected_schema.json").read_text()) assert result["valid"] is False # Verify that read-only SQL queries can be executed successfully def test_readonly_sql(): ctx=DataContext.from_path(BASE/"examples"/"dirty_orders.csv") result=ctx.execute_sql("SELECT COUNT(*) AS n FROM dataset") assert result["ok"] is True assert result["preview"][0]["n"] == 8