ds_provider_mock_py_lib.dataset.mock

File: mock.py Region: ds_provider_mock_py_lib/dataset

Mock read-only dataset for e2e testing with deterministic change batches.

The mock plays the role of a bronze-layer source. A full load emits the initial snapshot; every incremental load emits one change batch whose row-level composition is fully controlled by settings. Gold merge uses primary key plus row hash: insert is a new key, update is an existing key with changed values, and noop is an identical re-delivery.

Follows DATASET_CONTRACT.md. Field classification:
exposedid, name, description, version, settings, linked_service,

serializer, deserializer

internal : input, output, operation, checkpoint (base-class runtime fields)

Example

>>> from uuid import uuid4
>>> from ds_provider_mock_py_lib.dataset import MockDataset, MockDatasetSettings
>>> from ds_provider_mock_py_lib.linked_service import MockLinkedService, MockLinkedServiceSettings
>>> linked_service = MockLinkedService(
...     id=uuid4(),
...     name="mock-ls",
...     version="1.0.0",
...     settings=MockLinkedServiceSettings(),
... )
>>> dataset = MockDataset(
...     id=uuid4(),
...     name="mock-ds",
...     version="1.0.0",
...     linked_service=linked_service,
...     settings=MockDatasetSettings(row_count=5),
... )
>>> linked_service.connect()
>>> dataset.read()
>>> len(dataset.output.index)
5

Attributes

logger

Classes

MockDataset

Read-only tabular dataset that emits deterministic synthetic rows.

Module Contents

ds_provider_mock_py_lib.dataset.mock.logger
class ds_provider_mock_py_lib.dataset.mock.MockDataset[source]

Bases: ds_resource_plugin_py_lib.common.resource.dataset.TabularDataset[ds_provider_mock_py_lib.linked_service.mock.MockLinkedService, ds_provider_mock_py_lib.dataset.settings.MockDatasetSettings, ds_resource_plugin_py_lib.common.serde.serialize.PandasSerializer, ds_resource_plugin_py_lib.common.serde.deserialize.PandasDeserializer]

Read-only tabular dataset that emits deterministic synthetic rows.

linked_service: ds_provider_mock_py_lib.linked_service.mock.MockLinkedService
settings: ds_provider_mock_py_lib.dataset.settings.MockDatasetSettings
serializer: ds_resource_plugin_py_lib.common.serde.serialize.PandasSerializer | None
deserializer: ds_resource_plugin_py_lib.common.serde.deserialize.PandasDeserializer | None
__post_init__() None[source]

Ensure serializer and deserializer are always available.

property supports_checkpoint: bool

Whether this dataset supports incremental loads via self.checkpoint.

Returns:

Always True for the mock provider.

Return type:

bool

property type: ds_provider_mock_py_lib.enums.ResourceType

Get the type of the dataset.

Returns:

ResourceType

read() None[source]

Read the current mock batch into self.output.

An empty checkpoint performs a full load (batch 0). A populated incremental watermark reads the next change batch. A pagination cursor resumes an in-flight batch after failure.

Raises:
  • ReadError – If the mock backend fails or settings are invalid for read.

  • ConnectionError – If dataset-level injection is configured as a connection error.

create() NoReturn[source]

Create is not supported by this dataset.

update() NoReturn[source]

Update is not supported by this dataset.

upsert() NoReturn[source]

Upsert is not supported by this dataset.

delete() NoReturn[source]

Delete is not supported by this dataset.

purge() NoReturn[source]

Purge is not supported by this dataset.

rename() NoReturn[source]

Rename is not supported by this dataset.

list() NoReturn[source]

List is not supported by this dataset.

close() None[source]

Close the dataset and underlying linked service.

_unsupported(method: str) NoReturn[source]

Raise NotSupportedError for a read-only method.

Parameters:

method – Dataset method name.

Raises:

NotSupportedError – Always.