1
0
mirror of synced 2026-01-16 09:06:29 -05:00
Files
airbyte/airbyte-cdk/python/airbyte_cdk/test/state_builder.py
2024-05-08 08:41:41 -07:00

20 lines
609 B
Python

# Copyright (c) 2023 Airbyte, Inc., all rights reserved.
from typing import Any, List
from airbyte_protocol.models import AirbyteStateMessage
class StateBuilder:
def __init__(self) -> None:
self._state: List[AirbyteStateMessage] = []
def with_stream_state(self, stream_name: str, state: Any) -> "StateBuilder":
self._state.append(
AirbyteStateMessage.parse_obj({"type": "STREAM", "stream": {"stream_state": state, "stream_descriptor": {"name": stream_name}}})
)
return self
def build(self) -> List[AirbyteStateMessage]:
return self._state