Skip to content

Commit fa5e35f

Browse files
committed
more testing for StreamSlicerTestReadDecorator
1 parent 8aba62e commit fa5e35f

File tree

1 file changed

+42
-7
lines changed

1 file changed

+42
-7
lines changed

unit_tests/sources/declarative/stream_slicers/test_stream_slicer_read_decorator.py

Lines changed: 42 additions & 7 deletions
Original file line numberDiff line numberDiff line change
@@ -124,18 +124,26 @@ def test_isinstance_global_cursor():
124124
maximum_number_of_slices=5,
125125
)
126126
assert isinstance(wrapped_slicer, GlobalSubstreamCursor)
127+
assert isinstance(wrapped_slicer.wrapped_slicer, GlobalSubstreamCursor)
128+
assert isinstance(wrapped_slicer, StreamSlicerTestReadDecorator)
129+
130+
assert not isinstance(wrapped_slicer.wrapped_slicer, StreamSlicerTestReadDecorator)
127131
assert not isinstance(wrapped_slicer, AsyncJobPartitionRouter)
132+
assert not isinstance(wrapped_slicer.wrapped_slicer, AsyncJobPartitionRouter)
128133
assert not isinstance(wrapped_slicer, PerPartitionWithGlobalCursor)
134+
assert not isinstance(wrapped_slicer.wrapped_slicer, PerPartitionWithGlobalCursor)
129135
assert not isinstance(wrapped_slicer, SubstreamPartitionRouter)
136+
assert not isinstance(wrapped_slicer.wrapped_slicer, SubstreamPartitionRouter)
130137

131138
assert isinstance(global_cursor, GlobalSubstreamCursor)
139+
assert not isinstance(global_cursor, StreamSlicerTestReadDecorator)
132140
assert not isinstance(global_cursor, AsyncJobPartitionRouter)
133141
assert not isinstance(global_cursor, PerPartitionWithGlobalCursor)
134142
assert not isinstance(global_cursor, SubstreamPartitionRouter)
135143

136144

137145
def test_isinstance_global_cursor_aysnc_job_partition_router():
138-
partition_router = AsyncJobPartitionRouter(
146+
async_job_partition_router = AsyncJobPartitionRouter(
139147
stream_slicer=SinglePartitionRouter(parameters={}),
140148
job_orchestrator_factory=lambda stream_slices: AsyncJobOrchestrator(
141149
MockAsyncJobRepository(),
@@ -148,21 +156,29 @@ def test_isinstance_global_cursor_aysnc_job_partition_router():
148156
)
149157

150158
wrapped_slicer = StreamSlicerTestReadDecorator(
151-
wrapped_slicer=partition_router,
159+
wrapped_slicer=async_job_partition_router,
152160
maximum_number_of_slices=5,
153161
)
154162
assert isinstance(wrapped_slicer, AsyncJobPartitionRouter)
163+
assert isinstance(wrapped_slicer.wrapped_slicer, AsyncJobPartitionRouter)
164+
assert isinstance(wrapped_slicer, StreamSlicerTestReadDecorator)
165+
166+
assert not isinstance(wrapped_slicer.wrapped_slicer, StreamSlicerTestReadDecorator)
155167
assert not isinstance(wrapped_slicer, GlobalSubstreamCursor)
168+
assert not isinstance(wrapped_slicer.wrapped_slicer, GlobalSubstreamCursor)
156169
assert not isinstance(wrapped_slicer, PerPartitionWithGlobalCursor)
170+
assert not isinstance(wrapped_slicer.wrapped_slicer, PerPartitionWithGlobalCursor)
157171
assert not isinstance(wrapped_slicer, SubstreamPartitionRouter)
172+
assert not isinstance(wrapped_slicer.wrapped_slicer, SubstreamPartitionRouter)
158173

159-
assert isinstance(partition_router, AsyncJobPartitionRouter)
160-
assert not isinstance(partition_router, GlobalSubstreamCursor)
161-
assert not isinstance(partition_router, PerPartitionWithGlobalCursor)
162-
assert not isinstance(partition_router, SubstreamPartitionRouter)
174+
assert isinstance(async_job_partition_router, AsyncJobPartitionRouter)
175+
assert not isinstance(async_job_partition_router, StreamSlicerTestReadDecorator)
176+
assert not isinstance(async_job_partition_router, GlobalSubstreamCursor)
177+
assert not isinstance(async_job_partition_router, PerPartitionWithGlobalCursor)
178+
assert not isinstance(async_job_partition_router, SubstreamPartitionRouter)
163179

164180

165-
def test_isinstance_substrea_partition_router():
181+
def test_isinstance_substream_partition_router():
166182
partition_router = create_substream_partition_router()
167183

168184
wrapped_slicer = StreamSlicerTestReadDecorator(
@@ -171,11 +187,19 @@ def test_isinstance_substrea_partition_router():
171187
)
172188

173189
assert isinstance(wrapped_slicer, SubstreamPartitionRouter)
190+
assert isinstance(wrapped_slicer.wrapped_slicer, SubstreamPartitionRouter)
191+
assert isinstance(wrapped_slicer, StreamSlicerTestReadDecorator)
192+
193+
assert not isinstance(wrapped_slicer.wrapped_slicer, StreamSlicerTestReadDecorator)
174194
assert not isinstance(wrapped_slicer, GlobalSubstreamCursor)
195+
assert not isinstance(wrapped_slicer.wrapped_slicer, GlobalSubstreamCursor)
175196
assert not isinstance(wrapped_slicer, AsyncJobPartitionRouter)
197+
assert not isinstance(wrapped_slicer.wrapped_slicer, AsyncJobPartitionRouter)
176198
assert not isinstance(wrapped_slicer, PerPartitionWithGlobalCursor)
199+
assert not isinstance(wrapped_slicer.wrapped_slicer, PerPartitionWithGlobalCursor)
177200

178201
assert isinstance(partition_router, SubstreamPartitionRouter)
202+
assert not isinstance(partition_router, StreamSlicerTestReadDecorator)
179203
assert not isinstance(partition_router, GlobalSubstreamCursor)
180204
assert not isinstance(partition_router, AsyncJobPartitionRouter)
181205
assert not isinstance(partition_router, PerPartitionWithGlobalCursor)
@@ -198,17 +222,27 @@ def test_isinstance_perpartition_with_global_cursor():
198222
)
199223

200224
assert isinstance(wrapped_slicer, PerPartitionWithGlobalCursor)
225+
assert isinstance(wrapped_slicer.wrapped_slicer, PerPartitionWithGlobalCursor)
226+
assert isinstance(wrapped_slicer, StreamSlicerTestReadDecorator)
227+
228+
assert not isinstance(wrapped_slicer.wrapped_slicer, StreamSlicerTestReadDecorator)
201229
assert not isinstance(wrapped_slicer, GlobalSubstreamCursor)
230+
assert not isinstance(wrapped_slicer.wrapped_slicer, GlobalSubstreamCursor)
202231
assert not isinstance(wrapped_slicer, AsyncJobPartitionRouter)
232+
assert not isinstance(wrapped_slicer.wrapped_slicer, AsyncJobPartitionRouter)
203233
assert not isinstance(wrapped_slicer, SubstreamPartitionRouter)
234+
assert not isinstance(wrapped_slicer.wrapped_slicer, SubstreamPartitionRouter)
235+
204236
assert wrapped_slicer._per_partition_cursor._cursor_factory == cursor_factory
205237
assert wrapped_slicer._partition_router == partition_router
206238
assert wrapped_slicer._global_cursor._stream_cursor == date_time_based_cursor
207239

208240
assert isinstance(substream_cursor, PerPartitionWithGlobalCursor)
241+
assert not isinstance(substream_cursor, StreamSlicerTestReadDecorator)
209242
assert not isinstance(substream_cursor, GlobalSubstreamCursor)
210243
assert not isinstance(substream_cursor, AsyncJobPartitionRouter)
211244
assert not isinstance(substream_cursor, SubstreamPartitionRouter)
245+
212246
assert substream_cursor._per_partition_cursor._cursor_factory == cursor_factory
213247
assert substream_cursor._partition_router == partition_router
214248
assert substream_cursor._global_cursor._stream_cursor == date_time_based_cursor
@@ -232,3 +266,4 @@ def test_slice_limiting_functionality():
232266
# Verify only 3 slices are returned
233267
slices = list(wrapped_slicer.stream_slices())
234268
assert len(slices) == 3
269+
assert slices == mock_slicer.stream_slices.return_value[:3]

0 commit comments

Comments
 (0)