def testParseInvalidCache2Entry(self): """Test file with valid filename and invalid content.""" parser_object = firefox_cache.FirefoxCache2Parser() path_segments = [ u'firefox_cache', u'cache2', u'C966EB70794E44E7E3E8A260106D0C72439AF65B' ] with self.assertRaises(errors.UnableToParseFile): self._ParseFile(path_segments, parser_object)
def testParseCache2Entry(self): """Test Firefox cache2 file parsing.""" parser = firefox_cache.FirefoxCache2Parser() path_segments = [ u'firefox_cache', u'cache2', u'1F4B3A4FC81FB19C530758231FA54313BE8F6FA2' ] storage_writer = self._ParseFile(path_segments, parser) self.assertEqual(storage_writer.number_of_events, 3) events = list(storage_writer.GetEvents()) event = events[0] expected_timestamp = timelib.Timestamp.CopyFromString( u'2015-05-02 15:35:31') self.assertEqual(event.timestamp, expected_timestamp) expected_url = (u':https://tiles.cdn.mozilla.net/images/' u'8acf9436e1b315f5f04b9435a518bcd1aef131f8.5663.png') self.assertEqual(event.url, expected_url) self.assertEqual(event.request_method, u'GET') self.assertEqual(event.response_code, u'HTTP/1.1 200 OK') self.assertEqual(event.fetch_count, 2) event = events[1] expected_timestamp = timelib.Timestamp.CopyFromString( u'2015-05-02 15:35:31') self.assertEqual(event.timestamp, expected_timestamp) event = events[2] expected_timestamp = timelib.Timestamp.CopyFromString( u'2016-05-01 15:35:31') self.assertEqual(event.timestamp, expected_timestamp)