31
31
32
32
MAIN_DIR = os .path .dirname (os .path .dirname (os .path .dirname (os .path .realpath (__file__ ))))
33
33
34
+ DEFAULT_CONFIG_FILE = os .path .join (os .path .dirname (__file__ ), 'config.json' )
35
+
34
36
35
37
def delete_file (filename ):
36
38
try :
@@ -128,7 +130,7 @@ def thread_local_agent_file(self):
128
130
return agent_file
129
131
130
132
@retry_with_thread_local_agent_file
131
- def push_events_to_agent (self , f , event_ids = None , priority = None , event_type = 't' ):
133
+ def push_events_to_agent (self , f = DEFAULT_CONFIG_FILE , event_ids = None , priority = None , event_type = 't' ):
132
134
if event_ids is None :
133
135
event_ids = [12 ]
134
136
@@ -155,7 +157,7 @@ def stop_agent(self):
155
157
def test_flush_threshold (self ):
156
158
flush_threshold = 2
157
159
self .start_agent (flush_interval = 10 , flush_threshold = flush_threshold )
158
- self .push_events_to_agent (range (flush_threshold ))
160
+ self .push_events_to_agent (event_ids = range (flush_threshold ))
159
161
wait_for (lambda : len (self .written_events ('t' )) == flush_threshold , 'events to be flushed' )
160
162
161
163
def test_flush_priority (self ):
@@ -168,7 +170,7 @@ def test_flush_priority(self):
168
170
def test_flush_interval (self ):
169
171
flush_interval = 0.3
170
172
self .start_agent (flush_interval = flush_interval , flush_threshold = 10 )
171
- self .push_events_to_agent (range (2 ))
173
+ self .push_events_to_agent (event_ids = range (2 ))
172
174
wait_for (lambda : len (self .written_events ('t' )) >= 2 , 'events to be flushed' , 5.0 )
173
175
174
176
def test_multiple_writers (self ):
@@ -235,10 +237,12 @@ def stop_agent(self):
235
237
raise Exception ('Agent thread has not ended' )
236
238
237
239
def written_events (self , t = None ):
240
+ events = self .mock_event_store .events ['log' ]
241
+
238
242
if t is None :
239
- return self . mock_event_store . events
243
+ return events
240
244
else :
241
- return self . mock_event_store . events [ t ]
245
+ return [ e for e in events if e [ 'type' ] == t ]
242
246
243
247
def test_not_flushed_before_reaching_threshold (self ):
244
248
self .start_agent (flush_interval = 10 , flush_threshold = 2 )
@@ -253,7 +257,7 @@ def test_select_should_not_return_on_empty_fifo(self, mock_select):
253
257
close_local_agent_file ()
254
258
wait_for (lambda : self .agent .event_count , 'event to reach agent' )
255
259
time .sleep (0.1 )
256
- self .assertEqual (mock_select .call_count , 3 )
260
+ self .assertEqual (mock_select .call_count , 2 )
257
261
258
262
259
263
class AgentProcessTests (_AbstractAgentTestCase ):
@@ -271,6 +275,7 @@ def start_agent(self, **kwargs):
271
275
args = ['python' , '-u' , '%s/agent_main.py' % (MAIN_DIR ,)]
272
276
args .extend (['--input' , self .agent_filename ])
273
277
args .extend (['--event-store' , 'jumper_logging_agent.tests.mock_event_store.MockEventStoreInJson' ])
278
+ args .extend (['--config-file' , DEFAULT_CONFIG_FILE ])
274
279
for k , v in kwargs .items ():
275
280
args .append ('--%s' % (k .replace ('_' , '-' )))
276
281
args .append (str (v ))
@@ -302,7 +307,8 @@ def written_events(self, t=None):
302
307
except (ValueError , IOError ):
303
308
events = collections .defaultdict (list )
304
309
305
- return events [t ] if t is not None else events
310
+ events = events ['log' ]
311
+ return [e for e in events if e ['type' ] == t ] if t is not None else events
306
312
307
313
308
314
if __name__ == '__main__' :
0 commit comments