Esempio n. 1
0
    def test_get_events_raises_exception_if_both_timestamp_and_id_are_specified(self):
        event_log = EventLog(filename="my_fake_eventlog.log")

        with self.assertRaises(
            ValueError, msg="get_events() should raise erro if both id and timestamp " "are specified"
        ):
            event_log.get_events(since_timestamp=0.0, since_id=0)
    def test_get_events_raises_exception_if_both_timestamp_and_id_are_specified(self):
        event_log = EventLog(filename='my_fake_eventlog.log')

        with self.assertRaises(ValueError,
                               msg='get_events() should raise erro if both id and timestamp '
                                   'are specified'):
            event_log.get_events(since_timestamp=0.0, since_id=0)
Esempio n. 3
0
 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_get_events_should_return_all_events_when_no_params_specified(self):
        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')

        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 eventlog file')
 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())
Esempio n. 7
0
 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_since_a_specified_timestamp(self):
        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')

        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_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())
Esempio n. 10
0
 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",
     )
Esempio n. 11
0
    def test_get_events_should_return_all_events_since_a_specified_event_id(self):
        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')

        since_id = 2 # id of second event
        events = event_log.get_events(since_id=since_id)

        returned_event_ids = [event['__id__'] for event in events]
        self.assertListEqual(returned_event_ids, [3],
                             'get_events() with since_id should return all events '
                             'since an id')
Esempio n. 12
0
    def test_get_events_should_return_all_events_since_a_specified_event_id(self):
        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")

        since_id = 2  # id of second event
        events = event_log.get_events(since_id=since_id)

        returned_event_ids = [event["__id__"] for event in events]
        self.assertListEqual(
            returned_event_ids, [3], "get_events() with since_id should return all events " "since an id"
        )
Esempio n. 13
0
    def test_get_events_should_return_all_events_when_no_params_specified(self):
        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")

        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 eventlog file",
        )
Esempio n. 14
0
    def test_get_events_should_return_all_events_since_a_specified_timestamp(self):
        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")

        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",
        )
Esempio n. 15
0
    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')
Esempio n. 16
0
    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",
        )
Esempio n. 17
0
def initialize(eventlog_file=None):
    """
    Initialize the analytics output. This will cause analytics events to be output to either a file or stdout.

    If this function is not called, analytics events will not be output. If it is called with a filename, the events
    will be output to that file. If it is called with 'STDOUT' or None, the events will be output to stdout.

    :param eventlog_file: The filename to output events to, 'STDOUT' to output to stdout, None to disable event logging
    :type eventlog_file: str | None
    """
    global _event_log

    _event_log = EventLog(filename=eventlog_file)
Esempio n. 18
0
 def test_get_events_should_write_to_cache(self):
     self.patch("app.util.event_log.TaggingLogger")
     event_log = EventLog(filename="my_fake_eventlog.log")
     event_log.record_event("my_tag", message="foo")
     event = event_log._log_cache[0]
     self.assertEqual(event["message"], "foo")
Esempio n. 19
0
 def test_get_events_should_write_to_cache(self):
     self.patch('app.util.event_log.TaggingLogger')
     event_log = EventLog(filename='my_fake_eventlog.log')
     event_log.record_event('my_tag', message='foo')
     event = event_log._log_cache[0]
     self.assertEqual(event['message'], 'foo')