Skip to content

Commit

Permalink
[pre-commit.ci] auto fixes from pre-commit.com hooks
Browse files Browse the repository at this point in the history
for more information, see https://pre-commit.ci
  • Loading branch information
pre-commit-ci[bot] committed Jan 21, 2025
1 parent 0f7f85a commit 7c5ca51
Show file tree
Hide file tree
Showing 16 changed files with 35 additions and 109 deletions.
4 changes: 1 addition & 3 deletions .github/scripts/verify_tag_and_version.py
Original file line number Diff line number Diff line change
Expand Up @@ -7,9 +7,7 @@

repo_dir = Path(__file__).parent.parent.parent

path_of_init_file = Path(
repo_dir / "great_expectations_provider" / "__init__.py"
)
path_of_init_file = Path(repo_dir / "great_expectations_provider" / "__init__.py")
version_file = path_of_init_file.read_text()
git_ref = os.getenv("GITHUB_REF", "")
git_tag = git_ref.replace("refs/tags/", "")
Expand Down
3 changes: 1 addition & 2 deletions great_expectations_provider/common/gx_context_actions.py
Original file line number Diff line number Diff line change
Expand Up @@ -16,8 +16,7 @@ def run_validation_definition(
task_id: str,
expect: Expectation | ExpectationSuite,
batch_definition: BatchDefinition,
result_format: Literal["BOOLEAN_ONLY", "BASIC", "SUMMARY", "COMPLETE"]
| None,
result_format: Literal["BOOLEAN_ONLY", "BASIC", "SUMMARY", "COMPLETE"] | None,
batch_parameters: dict,
gx_context: AbstractDataContext,
) -> ExpectationSuiteValidationResult:
Expand Down
Original file line number Diff line number Diff line change
Expand Up @@ -7,15 +7,9 @@
from airflow import DAG
from airflow.decorators import task
from airflow.models.baseoperator import chain
from great_expectations import (
Checkpoint,
ExpectationSuite,
ValidationDefinition,
)
from great_expectations import Checkpoint, ExpectationSuite, ValidationDefinition

from great_expectations_provider.operators.validate_batch import (
GXValidateBatchOperator,
)
from great_expectations_provider.operators.validate_batch import GXValidateBatchOperator
from great_expectations_provider.operators.validate_checkpoint import (
GXValidateCheckpointOperator,
)
Expand Down
Original file line number Diff line number Diff line change
Expand Up @@ -8,15 +8,9 @@
from airflow import DAG
from airflow.decorators import task
from airflow.models.baseoperator import chain
from great_expectations import (
Checkpoint,
ExpectationSuite,
ValidationDefinition,
)
from great_expectations import Checkpoint, ExpectationSuite, ValidationDefinition

from great_expectations_provider.operators.validate_batch import (
GXValidateBatchOperator,
)
from great_expectations_provider.operators.validate_batch import GXValidateBatchOperator
from great_expectations_provider.operators.validate_checkpoint import (
GXValidateCheckpointOperator,
)
Expand Down
4 changes: 1 addition & 3 deletions great_expectations_provider/operators/validate_batch.py
Original file line number Diff line number Diff line change
Expand Up @@ -20,9 +20,7 @@
class GXValidateBatchOperator(BaseOperator):
def __init__(
self,
configure_batch_definition: Callable[
[AbstractDataContext], BatchDefinition
],
configure_batch_definition: Callable[[AbstractDataContext], BatchDefinition],
expect: Expectation | ExpectationSuite,
batch_parameters: BatchParameters | None = None,
context_type: Literal["ephemeral", "cloud"] = "ephemeral",
Expand Down
21 changes: 5 additions & 16 deletions great_expectations_provider/operators/validate_checkpoint.py
Original file line number Diff line number Diff line change
Expand Up @@ -8,14 +8,9 @@
if TYPE_CHECKING:
from airflow.utils.context import Context
from great_expectations import Checkpoint
from great_expectations.checkpoint.checkpoint import (
CheckpointDescriptionDict,
)
from great_expectations.checkpoint.checkpoint import CheckpointDescriptionDict
from great_expectations.core.batch import BatchParameters
from great_expectations.data_context import (
AbstractDataContext,
FileDataContext,
)
from great_expectations.data_context import AbstractDataContext, FileDataContext


class GXValidateCheckpointOperator(BaseOperator):
Expand Down Expand Up @@ -51,9 +46,7 @@ def execute(self, context: Context) -> CheckpointDescriptionDict:
from great_expectations.data_context import FileDataContext

gx_context: AbstractDataContext
file_context_generator: (
Generator[FileDataContext, None, None] | None
) = None
file_context_generator: Generator[FileDataContext, None, None] | None = None

if self.context_type == "file":
if not self.configure_file_data_context:
Expand All @@ -62,9 +55,7 @@ def execute(self, context: Context) -> CheckpointDescriptionDict:
)
elif inspect.isgeneratorfunction(self.configure_file_data_context):
file_context_generator = self.configure_file_data_context()
gx_context = self._get_value_from_generator(
file_context_generator
)
gx_context = self._get_value_from_generator(file_context_generator)
else:
file_context_fn = cast(
Callable[[], FileDataContext],
Expand Down Expand Up @@ -95,9 +86,7 @@ def _get_value_from_generator(
try:
return next(generator)
except StopIteration:
raise RuntimeError(
"Generator must yield exactly once; did not yield"
)
raise RuntimeError("Generator must yield exactly once; did not yield")

def _allow_generator_teardown(self, generator: Generator) -> None:
"""Run the generator to completion to allow for any cleanup/teardown.
Expand Down
4 changes: 1 addition & 3 deletions great_expectations_provider/operators/validate_dataframe.py
Original file line number Diff line number Diff line change
Expand Up @@ -16,9 +16,7 @@
from great_expectations.data_context import AbstractDataContext
from great_expectations.expectations import Expectation
from pandas import DataFrame
from pyspark.sql.connect.dataframe import (
DataFrame as SparkConnectDataFrame,
)
from pyspark.sql.connect.dataframe import DataFrame as SparkConnectDataFrame


class GXValidateDataFrameOperator(BaseOperator):
Expand Down
16 changes: 4 additions & 12 deletions tests/integration/conftest.py
Original file line number Diff line number Diff line change
Expand Up @@ -47,9 +47,7 @@ def postgres_connection_string() -> str:
pg_pw = os.environ["POSTGRES_PASSWORD"]
pg_port = os.environ["POSTGRES_PORT"]
pg_db = os.environ["POSTGRES_DB"]
return (
f"postgresql+psycopg2://{pg_user}:{pg_pw}@localhost:{pg_port}/{pg_db}"
)
return f"postgresql+psycopg2://{pg_user}:{pg_pw}@localhost:{pg_port}/{pg_db}"


@pytest.fixture
Expand Down Expand Up @@ -139,14 +137,10 @@ def _load_postgres_data(data: list[dict]) -> None:
engine = create_engine(url=postgres_connection_string)
with engine.connect() as conn, conn.begin():
conn.execute(
text(
f"CREATE TABLE {table_name} (name VARCHAR(255), age INT);"
)
text(f"CREATE TABLE {table_name} (name VARCHAR(255), age INT);")
)
conn.execute(
text(
f"INSERT INTO {table_name} (name, age) VALUES (:name, :age);"
),
text(f"INSERT INTO {table_name} (name, age) VALUES (:name, :age);"),
data,
)

Expand All @@ -158,9 +152,7 @@ def _load_postgres_data(data: list[dict]) -> None:


@pytest.fixture
def load_csv_data() -> (
Generator[Callable[[Path, list[dict]], None], None, None]
):
def load_csv_data() -> Generator[Callable[[Path, list[dict]], None], None, None]:
def _load_csv_data(path: Path, data: list[dict]) -> None:
with path.open("w") as f:
f.write("name,age\n")
Expand Down
8 changes: 2 additions & 6 deletions tests/integration/test_example_dag.py
Original file line number Diff line number Diff line change
Expand Up @@ -40,9 +40,7 @@ def test_example_dag(self, session: Session):
dag_run = dag.test()

assert dag_run.get_state() == DagRunState.SUCCESS
assert all(
[ti.state == State.SUCCESS for ti in dag_run.get_task_instances()]
)
assert all([ti.state == State.SUCCESS for ti in dag_run.get_task_instances()])


class TestBatchParametersDag:
Expand All @@ -56,6 +54,4 @@ def test(self, session: Session):
dag_run = dag.test()

assert dag_run.get_state() == DagRunState.SUCCESS
assert all(
[ti.state == State.SUCCESS for ti in dag_run.get_task_instances()]
)
assert all([ti.state == State.SUCCESS for ti in dag_run.get_task_instances()])
6 changes: 2 additions & 4 deletions tests/integration/test_validate_batch_operator.py
Original file line number Diff line number Diff line change
Expand Up @@ -7,12 +7,10 @@
from great_expectations import expectations as gxe
from great_expectations.core.batch_definition import BatchDefinition
from great_expectations.data_context import AbstractDataContext

from great_expectations_provider.operators.validate_batch import (
GXValidateBatchOperator,
)
from integration.conftest import rand_name

from great_expectations_provider.operators.validate_batch import GXValidateBatchOperator

pytestmark = pytest.mark.integration


Expand Down
11 changes: 3 additions & 8 deletions tests/integration/test_validate_checkpoint_operator.py
Original file line number Diff line number Diff line change
Expand Up @@ -5,15 +5,12 @@
import great_expectations.expectations as gxe
import pandas as pd
import pytest
from great_expectations.data_context import (
AbstractDataContext,
FileDataContext,
)
from great_expectations.data_context import AbstractDataContext, FileDataContext
from integration.conftest import is_valid_gx_cloud_url, rand_name

from great_expectations_provider.operators.validate_checkpoint import (
GXValidateCheckpointOperator,
)
from integration.conftest import is_valid_gx_cloud_url, rand_name

pytestmark = pytest.mark.integration

Expand Down Expand Up @@ -128,9 +125,7 @@ def test_with_cloud_context(

assert result["success"] is True
# make sure we have something that looks like a valid result url
assert is_valid_gx_cloud_url(
result["validation_results"][0]["result_url"]
)
assert is_valid_gx_cloud_url(result["validation_results"][0]["result_url"])

def test_with_file_context(
self,
Expand Down
4 changes: 1 addition & 3 deletions tests/integration/test_validate_dataframe_operator.py
Original file line number Diff line number Diff line change
Expand Up @@ -90,9 +90,7 @@ def configure_dataframe() -> pyspark.DataFrame:

@pytest.mark.spark_connect_integration
def test_spark_connect(self, spark_connect_session: SparkConnectSession) -> None:
from pyspark.sql.connect.dataframe import (
DataFrame as SparkConnectDataFrame,
)
from pyspark.sql.connect.dataframe import DataFrame as SparkConnectDataFrame

column_name = "col_A"
task_id = f"test_spark_{rand_name()}"
Expand Down
4 changes: 1 addition & 3 deletions tests/unit/conftest.py
Original file line number Diff line number Diff line change
Expand Up @@ -16,8 +16,6 @@ def mock_gx(mocker: MockerFixture) -> Generator[Mock, None, None]:
mocks.
"""
mock_gx = Mock()
mock_gx.expectations.Expectation = (
Expectation # required for isinstance check
)
mock_gx.expectations.Expectation = Expectation # required for isinstance check
mocker.patch.dict("sys.modules", {"great_expectations": mock_gx})
yield mock_gx
16 changes: 4 additions & 12 deletions tests/unit/test_common.py
Original file line number Diff line number Diff line change
Expand Up @@ -49,9 +49,7 @@ def test_validation_is_run_with_result_format(
task_id = "test_run_validation_definition"
mock_context = Mock()
validation_definition_factory = mock_context.validation_definitions
validation_definition = (
validation_definition_factory.add_or_update.return_value
)
validation_definition = validation_definition_factory.add_or_update.return_value
batch_definition = Mock()
expect = Mock()
batch_parameters = {
Expand All @@ -74,16 +72,12 @@ def test_validation_is_run_with_result_format(
batch_parameters=batch_parameters, result_format=result_format
)

def test_null_result_format_is_not_passed_through(
self, mock_gx: Mock
) -> None:
def test_null_result_format_is_not_passed_through(self, mock_gx: Mock) -> None:
# arrange
task_id = "test_run_validation_definition"
mock_context = Mock()
validation_definition_factory = mock_context.validation_definitions
validation_definition = (
validation_definition_factory.add_or_update.return_value
)
validation_definition = validation_definition_factory.add_or_update.return_value
batch_definition = Mock()
expect = Mock()
batch_parameters = {
Expand Down Expand Up @@ -142,9 +136,7 @@ def test_result(self, mock_gx: Mock) -> None:
batch_definition = Mock()
expect = Mock()
validation_definition_factory = mock_context.validation_definitions
validation_definition = (
validation_definition_factory.add_or_update.return_value
)
validation_definition = validation_definition_factory.add_or_update.return_value

# act
result = run_validation_definition(
Expand Down
12 changes: 3 additions & 9 deletions tests/unit/test_validate_batch_operator.py
Original file line number Diff line number Diff line change
Expand Up @@ -10,9 +10,7 @@
from great_expectations.data_context import AbstractDataContext
from great_expectations.expectations import ExpectColumnValuesToBeInSet

from great_expectations_provider.operators.validate_batch import (
GXValidateBatchOperator,
)
from great_expectations_provider.operators.validate_batch import GXValidateBatchOperator

pytestmark = pytest.mark.unit

Expand Down Expand Up @@ -250,9 +248,7 @@ def test_batch_parameters_passed_on_init(self, mock_gx: Mock):
batch_parameters=batch_parameters
)

def test_batch_parameters_passed_through_context_parameters(
self, mock_gx: Mock
):
def test_batch_parameters_passed_through_context_parameters(self, mock_gx: Mock):
"""Expect that param batch_parameters is passed to BatchDefinition.get_batch"""
# arrange
mock_context = mock_gx.get_context.return_value
Expand Down Expand Up @@ -331,9 +327,7 @@ def test_validation_definition_construction(self, mock_gx: Mock):
# arrange
task_id = "test_validation_definition_construction"
mock_context = mock_gx.get_context.return_value
mock_validation_definition_factory = (
mock_context.validation_definitions
)
mock_validation_definition_factory = mock_context.validation_definitions
mock_validation_definition = mock_gx.ValidationDefinition.return_value
mock_batch_definition = create_autospec(BatchDefinition)
expect = create_autospec(ExpectationSuite)
Expand Down
11 changes: 2 additions & 9 deletions tests/unit/test_validate_checkpoint_operator.py
Original file line number Diff line number Diff line change
Expand Up @@ -4,15 +4,8 @@

import pandas as pd
import pytest
from great_expectations import (
Checkpoint,
ExpectationSuite,
ValidationDefinition,
)
from great_expectations.data_context import (
AbstractDataContext,
FileDataContext,
)
from great_expectations import Checkpoint, ExpectationSuite, ValidationDefinition
from great_expectations.data_context import AbstractDataContext, FileDataContext
from great_expectations.expectations import ExpectColumnValuesToBeInSet
from pytest_mock import MockerFixture

Expand Down

0 comments on commit 7c5ca51

Please sign in to comment.