@@ -79,11 +79,10 @@ def graph(count: int):
7979 }
8080
8181 topic = f"test.metadata.{ os .getpid ()} "
82- _precreate_topic (topic )
8382 subKey = "foo"
8483 pubKey = ["mapped_a" , "mapped_b" , "mapped_c" ]
8584
86- c = csp .count (csp .timer (timedelta (seconds = 0.1 )))
85+ c = csp .count (csp .timer (timedelta (seconds = 0.5 )))
8786 t = csp .sample (c , csp .const ("foo" ))
8887
8988 pubStruct = MetaPubData .collectts (
@@ -104,22 +103,23 @@ def graph(count: int):
104103 )
105104
106105 csp .add_graph_output ("sub_data" , sub_data )
107- # csp.print('sub', sub_data)
106+ csp .print ('sub' , sub_data )
108107 # Wait for at least count ticks and until we get a live tick
109- done_flag = csp .count (sub_data ) >= count
110- done_flag = csp .and_ (done_flag , sub_data .mapped_live is True )
108+ done_flag = csp .and_ (csp .count (sub_data ) >= count , sub_data .mapped_live == True ) # noqa: E712
111109 stop = csp .filter (done_flag , done_flag )
112110 csp .stop_engine (stop )
113111
114- count = 5
115- results = csp .run (graph , count , starttime = datetime .utcnow (), endtime = timedelta (seconds = 30 ), realtime = True )
112+ results = csp .run (graph , 5 , starttime = datetime .utcnow (), endtime = timedelta (seconds = 20 ), realtime = True )
116113 assert len (results ["sub_data" ]) >= 5
117114 print (results )
118115 for result in results ["sub_data" ]:
119116 assert result [1 ].mapped_partition >= 0
120117 assert result [1 ].mapped_offset >= 0
121118 assert result [1 ].mapped_live is not None
122119 assert result [1 ].mapped_timestamp < datetime .utcnow ()
120+ # first record should be non live
121+ assert results ["sub_data" ][0 ][1 ].mapped_live is False
122+ # last record should be live
123123 assert results ["sub_data" ][- 1 ][1 ].mapped_live
124124
125125 @pytest .mark .skipif (not os .environ .get ("CSP_TEST_KAFKA" ), reason = "Skipping kafka adapter tests" )
@@ -145,8 +145,7 @@ def graph(symbols: list, count: int):
145145 struct_field_map = {"b" : "b2" , "i" : "i2" , "d" : "d2" , "s" : "s2" , "dt" : "dt2" }
146146
147147 done_flags = []
148- topic = f"mktdata.{ os .getpid ()} "
149- _precreate_topic (topic )
148+
150149 for symbol in symbols :
151150 kafkaadapter .publish (msg_mapper , topic , symbol , b , field_map = "b" )
152151 kafkaadapter .publish (msg_mapper , topic , symbol , i , field_map = "i" )
@@ -183,10 +182,12 @@ def graph(symbols: list, count: int):
183182 stop = csp .filter (stop , stop )
184183 csp .stop_engine (stop )
185184
185+ topic = f"mktdata.{ os .getpid ()} "
186+ _precreate_topic (topic )
186187 symbols = ["AAPL" , "MSFT" ]
187188 count = 100
188189 results = csp .run (
189- graph , symbols , count , starttime = datetime .utcnow (), endtime = timedelta (seconds = 30 ), realtime = True
190+ graph , symbols , count , starttime = datetime .utcnow (), endtime = timedelta (seconds = 10 ), realtime = True
190191 )
191192 for symbol in symbols :
192193 pub = results [f"pall_{ symbol } " ]
@@ -212,7 +213,7 @@ def pub_graph():
212213 csp .stop_engine (stop )
213214 # csp.print('pub', struct)
214215
215- csp .run (pub_graph , starttime = datetime .utcnow (), endtime = timedelta (seconds = 30 ), realtime = True )
216+ csp .run (pub_graph , starttime = datetime .utcnow (), endtime = timedelta (seconds = 10 ), realtime = True )
216217
217218 # grab start/end times
218219 def get_times_graph ():
@@ -232,7 +233,7 @@ def get_times_graph():
232233 # csp.print('sub', data)
233234 # csp.print('status', kafkaadapter.status())
234235
235- all_data = csp .run (get_times_graph , starttime = datetime .utcnow (), endtime = timedelta (seconds = 30 ), realtime = True )[
236+ all_data = csp .run (get_times_graph , starttime = datetime .utcnow (), endtime = timedelta (seconds = 10 ), realtime = True )[
236237 "data"
237238 ]
238239 min_time = all_data [0 ][1 ].dt
@@ -258,7 +259,7 @@ def get_data(start_offset, expected_count):
258259 KafkaStartOffset .EARLIEST ,
259260 10 ,
260261 starttime = datetime .utcnow (),
261- endtime = timedelta (seconds = 30 ),
262+ endtime = timedelta (seconds = 10 ),
262263 realtime = True ,
263264 )["data" ]
264265 # print(res)
@@ -276,7 +277,7 @@ def get_data(start_offset, expected_count):
276277 assert len (res ) == 0
277278
278279 res = csp .run (
279- get_data , KafkaStartOffset .START_TIME , 10 , starttime = min_time , endtime = timedelta (seconds = 30 ), realtime = True
280+ get_data , KafkaStartOffset .START_TIME , 10 , starttime = min_time , endtime = timedelta (seconds = 10 ), realtime = True
280281 )["data" ]
281282 assert len (res ) == 10
282283
@@ -287,12 +288,12 @@ def get_data(start_offset, expected_count):
287288 stime = all_data [2 ][1 ].dt + timedelta (milliseconds = 1 )
288289 expected = [x for x in all_data if x [1 ].dt >= stime ]
289290 res = csp .run (
290- get_data , stime , len (expected ), starttime = datetime .utcnow (), endtime = timedelta (seconds = 30 ), realtime = True
291+ get_data , stime , len (expected ), starttime = datetime .utcnow (), endtime = timedelta (seconds = 10 ), realtime = True
291292 )["data" ]
292293 assert len (res ) == len (expected )
293294
294295 res = csp .run (
295- get_data , timedelta (seconds = 0 ), len (expected ), starttime = stime , endtime = timedelta (seconds = 30 ), realtime = True
296+ get_data , timedelta (seconds = 0 ), len (expected ), starttime = stime , endtime = timedelta (seconds = 10 ), realtime = True
296297 )["data" ]
297298 assert len (res ) == len (expected )
298299
@@ -314,8 +315,6 @@ def graph(symbols: list, count: int):
314315 msg_mapper = RawBytesMessageMapper ()
315316
316317 done_flags = []
317- topic = f"test_str.{ os .getpid ()} "
318- _precreate_topic (topic )
319318 for symbol in symbols :
320319 topic = f"test_str.{ os .getpid ()} "
321320 kafkaadapter .publish (msg_mapper , topic , symbol , d )
@@ -356,10 +355,13 @@ def graph(symbols: list, count: int):
356355 stop = csp .filter (stop , stop )
357356 csp .stop_engine (stop )
358357
358+ topic = f"test_str.{ os .getpid ()} "
359+ _precreate_topic (topic )
360+
359361 symbols = ["AAPL" , "MSFT" ]
360362 count = 10
361363 results = csp .run (
362- graph , symbols , count , starttime = datetime .utcnow (), endtime = timedelta (seconds = 30 ), realtime = True
364+ graph , symbols , count , starttime = datetime .utcnow (), endtime = timedelta (seconds = 10 ), realtime = True
363365 )
364366 # print(results)
365367 for symbol in symbols :
0 commit comments