def test_oldest_cache_event_is_stale_should_be_false_if_event_timestamp_is_less_than_expire_time(self): event_log = EventLog(filename="my_fake_eventlog.log") cache_events = [json.loads(line) for line in self._FAKE_EVENTLOG_CONTENTS.strip().splitlines()] event_log._log_cache = cache_events # set the new time to 1 second past the expiration time new_timestamp = event_log._log_cache[0]["__timestamp__"] + 45 time_mock = self.patch("app.util.event_log.time") time_mock.time.return_value = new_timestamp self.assertFalse(event_log._oldest_cache_event_is_stale())
def test_oldest_cache_event_is_stale_should_be_true_if_event_timestamp_is_greater_than_expire_time(self): event_log = EventLog(filename="my_fake_eventlog.log") cache_events = [json.loads(line) for line in self._FAKE_EVENTLOG_CONTENTS.strip().splitlines()] event_log._log_cache = cache_events events = event_log.get_events() # set the new time to 1 second past the expiration time new_timestamp = event_log._log_cache[0]["__timestamp__"] + LOG_CACHE_EXPIRE_TIME_IN_HOURS * 60 * 60 + 1 new_event = {"__id__": 4, "__tag__": "NETWORK_REQUEST_RECEIVED", "__timestamp__": new_timestamp} event_log._log_cache.append(new_event) self.assertTrue(event_log._oldest_cache_event_is_stale())
def test_get_events_should_return_all_events_when_no_params_specified_with_cache(self): event_log = EventLog(filename='my_fake_eventlog.log') cache_events = [json.loads(line) for line in self._FAKE_EVENTLOG_CONTENTS.strip().splitlines()] event_log._log_cache = cache_events events = event_log.get_events() returned_event_ids = [event['__id__'] for event in events] self.assertListEqual(returned_event_ids, [1, 2, 3], 'get_events() with no params should return all events ' 'as ordered in the cache')
def test_oldest_cache_event_is_stale_should_be_false_if_event_timestamp_is_less_than_expire_time(self): event_log = EventLog(filename='my_fake_eventlog.log') cache_events = [json.loads(line) for line in self._FAKE_EVENTLOG_CONTENTS.strip().splitlines()] event_log._log_cache = cache_events # set the new time to 1 second past the expiration time new_timestamp = event_log._log_cache[0]['__timestamp__'] + 45 time_mock = self.patch('app.util.event_log.time') time_mock.time.return_value = new_timestamp self.assertFalse(event_log._oldest_cache_event_is_stale())
def test_get_events_should_return_all_events_when_no_params_specified_with_cache(self): event_log = EventLog(filename="my_fake_eventlog.log") cache_events = [json.loads(line) for line in self._FAKE_EVENTLOG_CONTENTS.strip().splitlines()] event_log._log_cache = cache_events events = event_log.get_events() returned_event_ids = [event["__id__"] for event in events] self.assertListEqual( returned_event_ids, [1, 2, 3], "get_events() with no params should return all events " "as ordered in the cache", )
def test_oldest_cache_event_is_stale_should_be_true_if_event_timestamp_is_greater_than_expire_time(self): event_log = EventLog(filename='my_fake_eventlog.log') cache_events = [json.loads(line) for line in self._FAKE_EVENTLOG_CONTENTS.strip().splitlines()] event_log._log_cache = cache_events events = event_log.get_events() # set the new time to 1 second past the expiration time new_timestamp = event_log._log_cache[0]['__timestamp__'] + LOG_CACHE_EXPIRE_TIME_IN_HOURS * 60 * 60 + 1 new_event = {'__id__': 4, '__tag__': 'NETWORK_REQUEST_RECEIVED', '__timestamp__': new_timestamp} event_log._log_cache.append(new_event) self.assertTrue(event_log._oldest_cache_event_is_stale())
def test_get_events_should_return_events_from_file_if_timestamp_not_in_range(self): log_lines = self._FAKE_EVENTLOG_CONTENTS.strip().splitlines() open_mock = mock_open(read_data=self._FAKE_EVENTLOG_CONTENTS) self.patch('app.util.event_log.open', new=open_mock, create=True) event_log = EventLog(filename='my_fake_eventlog.log') event_log._log_cache = [json.loads(line) for line in log_lines[2:]] since_timestamp = 1410902723.979315 # timestamp of the first event events = event_log.get_events(since_timestamp=since_timestamp) returned_event_ids = [event['__id__'] for event in events] self.assertListEqual(returned_event_ids, [2, 3], 'get_events() with since_timestamp param should return ' 'all events since specified timestamp')
def test_get_events_should_return_events_from_file_if_timestamp_not_in_range(self): log_lines = self._FAKE_EVENTLOG_CONTENTS.strip().splitlines() open_mock = mock_open(read_data=self._FAKE_EVENTLOG_CONTENTS) self.patch("app.util.event_log.open", new=open_mock, create=True) event_log = EventLog(filename="my_fake_eventlog.log") event_log._log_cache = [json.loads(line) for line in log_lines[2:]] since_timestamp = 1410902723.979315 # timestamp of the first event events = event_log.get_events(since_timestamp=since_timestamp) returned_event_ids = [event["__id__"] for event in events] self.assertListEqual( returned_event_ids, [2, 3], "get_events() with since_timestamp param should return " "all events since specified timestamp", )