@@ -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
137145def 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