> ## Documentation Index
> Fetch the complete documentation index at: https://docs.open-metadata.org/llms.txt
> Use this file to discover all available pages before exploring further.

# Test Mixin

[<img src="https://img.shields.io/badge/-source-cccccc?style=flat-square" />](https://github.com/open-metadata/OpenMetadata/tree/main/ingestion/src/metadata/ingestion/ometa/mixins/tests_mixin.py#L0)

# module `tests_mixin`

Mixin class containing Tests specific methods

To be used by OpenMetadata class

[<img src="https://img.shields.io/badge/-source-cccccc?style=flat-square" />](https://github.com/open-metadata/OpenMetadata/tree/main/ingestion/src/metadata/ingestion/ometa/mixins/tests_mixin.py#L49)

## class `OMetaTestsMixin`

OpenMetadata API methods related to Tests.

To be inherited by OpenMetadata

[<img src="https://img.shields.io/badge/-source-cccccc?style=flat-square" />](https://github.com/open-metadata/OpenMetadata/tree/main/ingestion/src/metadata/ingestion/ometa/mixins/tests_mixin.py#L297)

### method `add_logical_test_cases`

```python theme={null}
add_logical_test_cases(data: CreateLogicalTestCases) → None
```

Add logical test cases to a test suite

#### Args

* `data` (CreateLogicalTestCases):  logical test cases

[<img src="https://img.shields.io/badge/-source-cccccc?style=flat-square" />](https://github.com/open-metadata/OpenMetadata/tree/main/ingestion/src/metadata/ingestion/ometa/mixins/tests_mixin.py#L58)

### method `add_test_case_results`

```python theme={null}
add_test_case_results(test_results: TestCaseResult, test_case_fqn: str)
```

Add test case results to a test case

#### Args

* `test_results` (TestCaseResult):  test case results to pass to the test case
* `test_case_fqn` (str):  test case fqn

#### Returns

* `_type_`:  *description*

[<img src="https://img.shields.io/badge/-source-cccccc?style=flat-square" />](https://github.com/open-metadata/OpenMetadata/tree/main/ingestion/src/metadata/ingestion/ometa/mixins/tests_mixin.py#L260)

### method `create_or_update_executable_test_suite`

```python theme={null}
create_or_update_executable_test_suite(data: CreateTestSuiteRequest) → TestSuite
```

Create or update an executable test suite

#### Args

* `data` (CreateTestSuiteRequest):  test suite request

#### Returns

* `TestSuite`:  test suite object

[<img src="https://img.shields.io/badge/-source-cccccc?style=flat-square" />](https://github.com/open-metadata/OpenMetadata/tree/main/ingestion/src/metadata/ingestion/ometa/mixins/tests_mixin.py#L278)

### method `delete_executable_test_suite`

```python theme={null}
delete_executable_test_suite(
    entity: Type[TestSuite],
    entity_id: Union[str, UUID],
    recursive: bool = False,
    hard_delete: bool = False
) → None
```

Delete executable test suite

#### Args

* `entity_id` (str):  test suite ID
* `recursive` (bool, optional):  delete children if true
* `hard_delete` (bool, optional):  hard delete if true

[<img src="https://img.shields.io/badge/-source-cccccc?style=flat-square" />](https://github.com/open-metadata/OpenMetadata/tree/main/ingestion/src/metadata/ingestion/ometa/mixins/tests_mixin.py#L201)

### method `get_or_create_executable_test_suite`

```python theme={null}
get_or_create_executable_test_suite(
    entity_fqn: str
) → Union[EntityReference, TestSuite]
```

Given an entity fqn, retrieve the link test suite if it exists or create a new one

#### Args

* `table_fqn` (str):  entity fully qualified name

#### Returns

TestSuite:

[<img src="https://img.shields.io/badge/-source-cccccc?style=flat-square" />](https://github.com/open-metadata/OpenMetadata/tree/main/ingestion/src/metadata/ingestion/ometa/mixins/tests_mixin.py#L161)

### method `get_or_create_test_case`

```python theme={null}
get_or_create_test_case(
    test_case_fqn: str,
    entity_link: Optional[str] = None,
    test_definition_fqn: Optional[str] = None,
    test_case_parameter_values: Optional[List[TestCaseParameterValue]] = None
)
```

Get or create a test case

#### Args

* `test_case_fqn` (str):  fully qualified name for the test
* `entity_link` (Optional\[str], optional):  *description*. Defaults to None.
* `test_suite_fqn` (Optional\[str], optional):  *description*. Defaults to None.
* `test_definition_fqn` (Optional\[str], optional):  *description*. Defaults to None.
* `test_case_parameter_values` (Optional\[str], optional):  *description*. Defaults to None.

#### Returns

* `_type_`:  *description*

[<img src="https://img.shields.io/badge/-source-cccccc?style=flat-square" />](https://github.com/open-metadata/OpenMetadata/tree/main/ingestion/src/metadata/ingestion/ometa/mixins/tests_mixin.py#L115)

### method `get_or_create_test_definition`

```python theme={null}
get_or_create_test_definition(
    test_definition_fqn: str,
    test_definition_description: Optional[str] = None,
    entity_type: Optional[EntityType] = None,
    test_platforms: Optional[List[TestPlatform]] = None,
    test_case_parameter_definition: Optional[List[TestCaseParameterDefinition]] = None
) → TestDefinition
```

Get or create a test definition

#### Args

* `test_definition_fqn` (str):  test definition fully qualified name
* `test_definition_description` (Optional\[str], optional):  description for the test definition.  Defaults to None.
* `entity_type` (Optional\[EntityType], optional):  entity type (COLUMN or TABLE). Defaults to None.
* `test_platforms` (Optional\[List\[TestPlatform]], optional):  test platforms. Defaults to None.
* `test_case_parameter_definition` (Optional\[List\[TestCaseParameterDefinition]], optional):  parameters for the  test case definition. Defaults to None.

#### Returns

* `TestDefinition`:  a test definition object

[<img src="https://img.shields.io/badge/-source-cccccc?style=flat-square" />](https://github.com/open-metadata/OpenMetadata/tree/main/ingestion/src/metadata/ingestion/ometa/mixins/tests_mixin.py#L79)

### method `get_or_create_test_suite`

```python theme={null}
get_or_create_test_suite(
    test_suite_name: str,
    test_suite_description: Optional[str] = 'Test Suite created on 2023-12-04'
) → TestSuite
```

Get or create a TestSuite

#### Args

* `test_suite_name` (str):  test suite name
* `test_suite_description` (Optional\[str], optional):  test suite description.  Defaults to f"Test Suite created on datetime.now(timezone.utc).strftime('%Y-%m-%d')".

#### Returns

TestSuite:

[<img src="https://img.shields.io/badge/-source-cccccc?style=flat-square" />](https://github.com/open-metadata/OpenMetadata/tree/main/ingestion/src/metadata/ingestion/ometa/mixins/tests_mixin.py#L231)

### method `get_test_case_results`

```python theme={null}
get_test_case_results(
    test_case_fqn: str,
    start_ts: int,
    end_ts: int
) → Optional[List[TestCaseResult]]
```

Retrieve list of test cases

#### Args

* `test_case_fqn` (str):  test\_case\_fqn
* `start_ts` (int):  timestamp
* `end_ts` (int):  timestamp
