@@ -209,6 +209,71 @@ def test_MassFlush(self):
209209 loader .close ()
210210 self .deleteStream (key )
211211
212+ def test_InsertWriteMode (self ):
213+ key = self .streamKeys [1 ]
214+ try :
215+ stream = self .createStream (key , True )
216+ self .assertIsNotNone (stream )
217+ self .assertEqual (self .streamCount (key ), 0 ) # check stream is empty
218+
219+ count = 100
220+ options = tbapi .LoadingOptions ()
221+ options .writeMode = tbapi .WriteMode ('INSERT' )
222+ loader = stream .createLoader (options )
223+ try :
224+ tradeGenerator = generators .TradeGenerator (0 , 1000000 , count , ['MSFT' ])
225+ tradeGenerator .next ()
226+ msg = tradeGenerator .getMessage ()
227+
228+ msg .timestamp = 0 * 1000000
229+ loader .send (msg )
230+ loader .flush ()
231+ msg .timestamp = 0 * 1000000
232+ loader .send (msg )
233+ loader .flush ()
234+ msg .timestamp = 10 * 1000000
235+ loader .send (msg )
236+ loader .flush ()
237+ msg .timestamp = 10 * 1000000
238+ loader .send (msg )
239+ loader .flush ()
240+ msg .timestamp = 2 * 1000000
241+ loader .send (msg )
242+ loader .flush ()
243+ msg .timestamp = 2 * 1000000
244+ loader .send (msg )
245+ loader .flush ()
246+ msg .timestamp = 4 * 1000000
247+ loader .send (msg )
248+ loader .flush ()
249+ msg .timestamp = 4 * 1000000
250+ loader .send (msg )
251+ loader .flush ()
252+ msg .timestamp = 6 * 1000000
253+ loader .send (msg )
254+ loader .flush ()
255+ msg .timestamp = 6 * 1000000
256+ loader .send (msg )
257+ loader .flush ()
258+ msg .timestamp = 10 * 1000000
259+ loader .send (msg )
260+ loader .flush ()
261+ msg .timestamp = 11 * 1000000
262+ loader .send (msg )
263+ loader .flush ()
264+ msg .timestamp = 12 * 1000000
265+ loader .send (msg )
266+ loader .flush ()
267+
268+ time .sleep (2 )
269+ finally :
270+ if loader != None :
271+ loader .close ()
272+
273+ self .assertEqual (self .streamCount (key ), 13 )
274+ finally :
275+ self .deleteStream (key )
276+
212277 # helpers
213278
214279 def streamCount (self , key ):
0 commit comments