예제 #1
0
    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)
예제 #2
0
    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)