예제 #1
0
    def testHasAttributeContainers(self):
        """Tests the HasAttributeContainers function."""
        event_data_stream = events.EventDataStream()

        test_store = fake_store.FakeStore()
        test_store.Open()

        try:
            result = test_store.HasAttributeContainers(
                event_data_stream.CONTAINER_TYPE)
            self.assertFalse(result)

            test_store.AddAttributeContainer(event_data_stream)

            result = test_store.HasAttributeContainers(
                event_data_stream.CONTAINER_TYPE)
            self.assertTrue(result)

        finally:
            test_store.Close()
예제 #2
0
    def testWriteNewAttributeContainer(self):
        """Tests the _WriteNewAttributeContainer function."""
        event_data_stream = events.EventDataStream()

        test_store = fake_store.FakeStore()
        test_store.Open()

        try:
            number_of_containers = test_store.GetNumberOfAttributeContainers(
                event_data_stream.CONTAINER_TYPE)
            self.assertEqual(number_of_containers, 0)

            test_store._WriteNewAttributeContainer(event_data_stream)

            number_of_containers = test_store.GetNumberOfAttributeContainers(
                event_data_stream.CONTAINER_TYPE)
            self.assertEqual(number_of_containers, 1)

        finally:
            test_store.Close()
예제 #3
0
    def testGetAttributeContainerByIndex(self):
        """Tests the GetAttributeContainerByIndex function."""
        event_data_stream = events.EventDataStream()

        test_store = fake_store.FakeStore()
        test_store.Open()

        try:
            container = test_store.GetAttributeContainerByIndex(
                event_data_stream.CONTAINER_TYPE, 0)
            self.assertIsNone(container)

            test_store.AddAttributeContainer(event_data_stream)

            container = test_store.GetAttributeContainerByIndex(
                event_data_stream.CONTAINER_TYPE, 0)
            self.assertIsNotNone(container)

        finally:
            test_store.Close()
예제 #4
0
파일: reader.py 프로젝트: hyuunnn/plaso
  def testGetAttributeContainerByIndex(self):
    """Tests the GetAttributeContainerByIndex function."""
    test_reader = reader.StorageReader()
    test_reader._store = fake_store.FakeStore()
    test_reader._store.Open()

    try:
      event_source = event_sources.EventSource()
      test_reader._store.AddAttributeContainer(event_source)

      test_container = test_reader.GetAttributeContainerByIndex(
          event_source.CONTAINER_TYPE, 0)
      self.assertIsNotNone(test_container)

      test_container = test_reader.GetAttributeContainerByIndex(
          event_source.CONTAINER_TYPE, 99)
      self.assertIsNone(test_container)

    finally:
      test_reader._store.Close()
예제 #5
0
파일: fake_store.py 프로젝트: hyuunnn/plaso
    def testGetSortedEvents(self):
        """Tests the GetSortedEvents function."""
        test_store = fake_store.FakeStore()
        test_store.Open()

        for event, event_data, event_data_stream in (
                containers_test_lib.CreateEventsFromValues(self._TEST_EVENTS)):
            test_store.AddAttributeContainer(event_data_stream)

            event_data.SetEventDataStreamIdentifier(
                event_data_stream.GetIdentifier())
            test_store.AddAttributeContainer(event_data)

            event.SetEventDataIdentifier(event_data.GetIdentifier())
            test_store.AddAttributeContainer(event)

        test_events = list(test_store.GetSortedEvents())
        self.assertEqual(len(test_events), 4)

        test_store.Close()
예제 #6
0
파일: fake_store.py 프로젝트: hyuunnn/plaso
    def testGetAttributeContainerByIdentifier(self):
        """Tests the GetAttributeContainerByIdentifier function."""
        event_data_stream = events.EventDataStream()

        test_store = fake_store.FakeStore()
        test_store.Open()

        test_store.AddAttributeContainer(event_data_stream)
        identifier = event_data_stream.GetIdentifier()

        container = test_store.GetAttributeContainerByIdentifier(
            event_data_stream.CONTAINER_TYPE, identifier)
        self.assertIsNotNone(container)

        identifier.sequence_number = 99

        container = test_store.GetAttributeContainerByIdentifier(
            event_data_stream.CONTAINER_TYPE, identifier)
        self.assertIsNone(container)

        test_store.Close()
예제 #7
0
파일: fake_store.py 프로젝트: hyuunnn/plaso
    def testAddAttributeContainer(self):
        """Tests the AddAttributeContainer function."""
        event_data_stream = events.EventDataStream()

        test_store = fake_store.FakeStore()
        test_store.Open()

        number_of_containers = test_store.GetNumberOfAttributeContainers(
            event_data_stream.CONTAINER_TYPE)
        self.assertEqual(number_of_containers, 0)

        test_store.AddAttributeContainer(event_data_stream)

        number_of_containers = test_store.GetNumberOfAttributeContainers(
            event_data_stream.CONTAINER_TYPE)
        self.assertEqual(number_of_containers, 1)

        test_store.Close()

        with self.assertRaises(IOError):
            test_store.AddAttributeContainer(event_data_stream)
예제 #8
0
  def testGetAttributeContainerByIndex(self):
    """Tests the GetAttributeContainerByIndex function."""
    event_data_stream = events.EventDataStream()

    test_store = fake_store.FakeStore()
    test_store.Open()

    container = test_store.GetAttributeContainerByIndex(
        event_data_stream.CONTAINER_TYPE, 0)
    self.assertIsNone(container)

    test_store.AddAttributeContainer(event_data_stream)

    container = test_store.GetAttributeContainerByIndex(
        event_data_stream.CONTAINER_TYPE, 0)
    self.assertIsNotNone(container)

    with self.assertRaises(IOError):
      test_store.GetAttributeContainerByIndex('bogus', 0)

    test_store.Close()
예제 #9
0
    def testGetAttributeContainers(self):
        """Tests the GetAttributeContainers function."""
        event_data_stream = events.EventDataStream()
        event_data_stream.md5_hash = '8f0bf95a7959baad9666b21a7feed79d'

        test_store = fake_store.FakeStore()
        test_store.Open()

        try:
            containers = list(
                test_store.GetAttributeContainers(
                    event_data_stream.CONTAINER_TYPE))
            self.assertEqual(len(containers), 0)

            test_store.AddAttributeContainer(event_data_stream)

            containers = list(
                test_store.GetAttributeContainers(
                    event_data_stream.CONTAINER_TYPE))
            self.assertEqual(len(containers), 1)

            filter_expression = 'md5_hash == "8f0bf95a7959baad9666b21a7feed79d"'
            containers = list(
                test_store.GetAttributeContainers(
                    event_data_stream.CONTAINER_TYPE,
                    filter_expression=filter_expression))
            self.assertEqual(len(containers), 1)

            filter_expression = 'md5_hash != "8f0bf95a7959baad9666b21a7feed79d"'
            containers = list(
                test_store.GetAttributeContainers(
                    event_data_stream.CONTAINER_TYPE,
                    filter_expression=filter_expression))
            self.assertEqual(len(containers), 0)

        finally:
            test_store.Close()
예제 #10
0
파일: reader.py 프로젝트: cshanahan/plaso
    def testSetStorageProfiler(self):
        """Tests the SetStorageProfiler function."""
        test_reader = reader.StorageReader()
        test_reader._store = fake_store.FakeStore()

        test_reader.SetStorageProfiler(None)