MockStorageClass#

class lsst.pipe.base.tests.mocks.MockStorageClass(original: StorageClass, factory: StorageClassFactory | None = None)#

Bases: StorageClass

A reimplementation of lsst.daf.butler.StorageClass for mock datasets.

Parameters#

originalStorageClass

The original storage class.

factoryStorageClassFactory or None, optional

Storage class factory to use. If None the default factory is used.

Notes#

Each MockStorageClass instance corresponds to a real “original” storage class, with components and conversions that are mocks of the original’s components and conversions. The pytype for all MockStorageClass instances is MockDataset.

Attributes Summary

components

Return the components associated with this StorageClass.

derivedComponents

Return derived components associated with StorageClass.

Methods Summary

allComponents()

Return all defined components.

can_convert(other)

Return True if this storage class can convert python types in the other storage class.

coerce_type(incorrect)

Coerce the supplied incorrect instance to the python type associated with this StorageClass.

get_or_register_mock(original[, factory])

Return a mock storage class for the given original storage class, creating and registering it if necessary.

mock_dataset_refs(original_refs)

Replace dataset references with versions that uses a mock storage class and dataset type name.

mock_dataset_type(original_type)

Replace a dataset type with a version that uses a mock storage class and name.

unmock_dataset_refs(mock_refs)

Replace dataset references with versions that do not use a mock storage class and dataset type name.

unmock_dataset_type(mock_type)

Replace a mock dataset type with the original one it was created from.

Attributes Documentation

components#
derivedComponents#

Methods Documentation

allComponents() Mapping[str, MockStorageClass]#

Return all defined components.

This mapping includes all the derived and read/write components for the corresponding storage class.

Returns#

compdict of [str, StorageClass]

The component name to storage class mapping.

can_convert(other: StorageClass) bool#

Return True if this storage class can convert python types in the other storage class.

Parameters#

otherStorageClass

The storage class to check.

Returns#

canbool

True if this storage class has a registered converter for the python type associated with the other storage class. That converter will convert the other python type to the one associated with this storage class.

coerce_type(incorrect: Any) Any#

Coerce the supplied incorrect instance to the python type associated with this StorageClass.

Parameters#

incorrectobject

An object that might be the incorrect type.

Returns#

correctobject

An object that matches the python type of this StorageClass. Can be the same object as given. If None, None will be returned.

Raises#

TypeError

Raised if no conversion can be found.

classmethod get_or_register_mock(original: str, factory: StorageClassFactory | None = None) MockStorageClass#

Return a mock storage class for the given original storage class, creating and registering it if necessary.

Parameters#

originalstr

Name of the original storage class to be mocked.

factoryStorageClassFactory, optional

Storage class factory singleton instance.

Returns#

mockMockStorageClass

New storage class that mocks original.

static mock_dataset_refs(original_refs: Iterable[DatasetRef]) list[DatasetRef]#

Replace dataset references with versions that uses a mock storage class and dataset type name.

Parameters#

original_refsIterable [ lsst.daf.butler.DatasetRef ]

Original dataset references to be mocked.

Returns#

mock_refslist [ lsst.daf.butler.DatasetRef ]

Mocked version of the dataset references, with dataset type name and storage class changed and everything else unchanged.

static mock_dataset_type(original_type: DatasetType) DatasetType#

Replace a dataset type with a version that uses a mock storage class and name.

Parameters#

original_typelsst.daf.butler.DatasetType

Original dataset type to be mocked.

Returns#

mock_typelsst.daf.butler.DatasetType

A mock version of the dataset type, with name and storage class changed and everything else unchanged.

static unmock_dataset_refs(mock_refs: Iterable[DatasetRef]) list[DatasetRef]#

Replace dataset references with versions that do not use a mock storage class and dataset type name.

Parameters#

mock_refsIterable [ lsst.daf.butler.DatasetRef ]

Dataset references that use a mocked dataset type name and storage class.

Returns#

original_refslist [ lsst.daf.butler.DatasetRef ]

The original dataset references.

static unmock_dataset_type(mock_type: DatasetType) DatasetType#

Replace a mock dataset type with the original one it was created from.

Parameters#

mock_typelsst.daf.butler.DatasetType

A dataset type with a mocked name and storage class.

Returns#

original_typelsst.daf.butler.DatasetType

The original dataset type.