예제 #1
0
    def testOpenAndClose(self):
        """Test the open and close functionality."""
        file_system = sqlite_blob_file_system.SQLiteBlobFileSystem(
            self._resolver_context, self._sqlite_blob_path_spec)
        self.assertIsNotNone(file_system)

        file_system.Open()

        file_system = sqlite_blob_file_system.SQLiteBlobFileSystem(
            self._resolver_context, self._sqlite_blob_path_spec_2)
        self.assertIsNotNone(file_system)

        file_system.Open()
예제 #2
0
    def setUp(self):
        """Sets up the needed objects used throughout the test."""
        self._resolver_context = context.Context()
        test_file = self._GetTestFilePath(['blob.db'])
        path_spec = os_path_spec.OSPathSpec(location=test_file)
        self._sqlite_blob_path_spec = sqlite_blob_path_spec.SQLiteBlobPathSpec(
            table_name='myblobs',
            column_name='blobs',
            row_condition=('name', '==', 'mmssms.db'),
            parent=path_spec)
        self._sqlite_blob_path_spec_2 = sqlite_blob_path_spec.SQLiteBlobPathSpec(
            table_name='myblobs',
            column_name='blobs',
            row_index=2,
            parent=path_spec)
        self._sqlite_blob_path_spec_3 = sqlite_blob_path_spec.SQLiteBlobPathSpec(
            table_name='myblobs',
            column_name='blobs',
            row_condition=('name', '==', 4),
            parent=path_spec)
        self._sqlite_blob_path_spec_directory = (
            sqlite_blob_path_spec.SQLiteBlobPathSpec(table_name='myblobs',
                                                     column_name='blobs',
                                                     parent=path_spec))

        self._file_system = sqlite_blob_file_system.SQLiteBlobFileSystem(
            self._resolver_context)
        self._file_system.Open(self._sqlite_blob_path_spec)
    def NewFileSystem(self, resolver_context):
        """Creates a new file system object.

    Args:
      resolver_context (Context): resolver context.

    Returns:
      SQLiteBlobFileSystem: file system.
    """
        return sqlite_blob_file_system.SQLiteBlobFileSystem(resolver_context)
예제 #4
0
    def testGetRootFileEntry(self):
        """Test the get root file entry functionality."""
        file_system = sqlite_blob_file_system.SQLiteBlobFileSystem(
            self._resolver_context, self._sqlite_blob_path_spec)
        self.assertIsNotNone(file_system)

        file_system.Open()

        file_entry = file_system.GetRootFileEntry()

        self.assertIsNotNone(file_entry)
        self.assertEqual(file_entry.name, 'myblobs.blobs')
  def NewFileSystem(self, resolver_context, path_spec):
    """Creates a new file system object.

    Args:
      resolver_context (Context): resolver context.
      path_spec (PathSpec): a path specification.

    Returns:
      SQLiteBlobFileSystem: file system.
    """
    return sqlite_blob_file_system.SQLiteBlobFileSystem(
        resolver_context, path_spec)
예제 #6
0
    def testOpenAndClose(self):
        """Test the open and close functionality."""
        file_system = sqlite_blob_file_system.SQLiteBlobFileSystem(
            self._resolver_context)
        self.assertNotEqual(file_system, None)

        file_system.Open(path_spec=self._sqlite_blob_path_spec)

        file_system.Close()

        file_system.Open(path_spec=self._sqlite_blob_path_spec_2)

        file_system.Close()
예제 #7
0
    def testGetRootFileEntry(self):
        """Test the get root file entry functionality."""
        file_system = sqlite_blob_file_system.SQLiteBlobFileSystem(
            self._resolver_context)
        self.assertNotEqual(file_system, None)

        file_system.Open(path_spec=self._sqlite_blob_path_spec)

        file_entry = file_system.GetRootFileEntry()

        self.assertNotEqual(file_entry, None)
        self.assertEqual(file_entry.name, u'myblobs.blobs')

        file_system.Close()
예제 #8
0
    def testFileEntryExistsByPathSpec(self):
        """Test the file entry exists by path specification functionality."""
        file_system = sqlite_blob_file_system.SQLiteBlobFileSystem(
            self._resolver_context, self._sqlite_blob_path_spec)
        self.assertIsNotNone(file_system)

        file_system.Open()

        result = file_system.FileEntryExistsByPathSpec(
            self._sqlite_blob_path_spec)
        self.assertTrue(result)

        result = file_system.FileEntryExistsByPathSpec(
            self._sqlite_blob_path_spec_2)
        self.assertTrue(result)
예제 #9
0
    def testFileEntryExistsByPathSpec(self):
        """Test the file entry exists by path specification functionality."""
        file_system = sqlite_blob_file_system.SQLiteBlobFileSystem(
            self._resolver_context)
        self.assertNotEqual(file_system, None)

        file_system.Open(path_spec=self._sqlite_blob_path_spec)

        self.assertTrue(
            file_system.FileEntryExistsByPathSpec(self._sqlite_blob_path_spec))

        self.assertTrue(
            file_system.FileEntryExistsByPathSpec(
                self._sqlite_blob_path_spec_2))

        file_system.Close()
예제 #10
0
    def testGetFileEntryByPathSpec(self):
        """Tests the GetFileEntryByPathSpec function."""
        file_system = sqlite_blob_file_system.SQLiteBlobFileSystem(
            self._resolver_context, self._sqlite_blob_path_spec)
        self.assertIsNotNone(file_system)

        file_system.Open()

        file_entry = file_system.GetFileEntryByPathSpec(
            self._sqlite_blob_path_spec)

        self.assertIsNotNone(file_entry)
        self.assertEqual(file_entry.name, 'WHERE name == \'mmssms.db\'')

        file_entry = file_system.GetFileEntryByPathSpec(
            self._sqlite_blob_path_spec_2)

        self.assertIsNotNone(file_entry)
        self.assertEqual(file_entry.name, 'OFFSET 2')
예제 #11
0
    def setUp(self):
        """Sets up the needed objects used throughout the test."""
        self._resolver_context = context.Context()
        test_file = os.path.join(u'test_data', u'blob.db')
        path_spec = os_path_spec.OSPathSpec(location=test_file)
        self._sqlite_blob_path_spec = sqlite_blob_path_spec.SQLiteBlobPathSpec(
            table_name=u'myblobs',
            column_name=u'blobs',
            row_condition=(u'name', u'==', u'mmssms.db'),
            parent=path_spec)
        self._sqlite_blob_path_spec_2 = sqlite_blob_path_spec.SQLiteBlobPathSpec(
            table_name=u'myblobs',
            column_name=u'blobs',
            row_index=2,
            parent=path_spec)

        self._file_system = sqlite_blob_file_system.SQLiteBlobFileSystem(
            self._resolver_context)
        self._file_system.Open(path_spec=self._sqlite_blob_path_spec)
예제 #12
0
    def testGetFileEntryByPathSpec(self):
        """Test the get entry by path specification functionality."""
        file_system = sqlite_blob_file_system.SQLiteBlobFileSystem(
            self._resolver_context)
        self.assertNotEqual(file_system, None)

        file_system.Open(path_spec=self._sqlite_blob_path_spec)

        file_entry = file_system.GetFileEntryByPathSpec(
            self._sqlite_blob_path_spec)

        self.assertNotEqual(file_entry, None)
        self.assertEqual(file_entry.name, u'WHERE name == \'mmssms.db\'')

        file_entry = file_system.GetFileEntryByPathSpec(
            self._sqlite_blob_path_spec_2)

        self.assertNotEqual(file_entry, None)
        self.assertEqual(file_entry.name, u'OFFSET 2')

        file_system.Close()