Exemple #1
0
    def testGetFileEntryByPathSpec(self):
        """Tests the GetFileEntryByPathSpec function."""
        file_system = hfs_file_system.HFSFileSystem(self._resolver_context,
                                                    self._hfs_path_spec)
        self.assertIsNotNone(file_system)

        file_system.Open()

        path_spec = path_spec_factory.Factory.NewPathSpec(
            definitions.TYPE_INDICATOR_HFS,
            identifier=self._IDENTIFIER_PASSWORDS_TXT,
            parent=self._raw_path_spec)

        file_entry = file_system.GetFileEntryByPathSpec(path_spec)
        self.assertIsNotNone(file_entry)

        # There is no way to determine the file_entry.name without a location string
        # in the path_spec or retrieving the file_entry from its parent.

        path_spec = path_spec_factory.Factory.NewPathSpec(
            definitions.TYPE_INDICATOR_HFS,
            location='/passwords.txt',
            identifier=self._IDENTIFIER_PASSWORDS_TXT,
            parent=self._raw_path_spec)
        file_entry = file_system.GetFileEntryByPathSpec(path_spec)
        self.assertIsNotNone(file_entry)
        self.assertEqual(file_entry.name, 'passwords.txt')

        path_spec = path_spec_factory.Factory.NewPathSpec(
            definitions.TYPE_INDICATOR_HFS,
            location='/bogus.txt',
            parent=self._raw_path_spec)
        file_entry = file_system.GetFileEntryByPathSpec(path_spec)
        self.assertIsNone(file_entry)
Exemple #2
0
    def testOpenAndClose(self):
        """Test the open and close functionality."""
        file_system = hfs_file_system.HFSFileSystem(self._resolver_context,
                                                    self._hfs_path_spec)
        self.assertIsNotNone(file_system)

        file_system.Open()
Exemple #3
0
    def testGetRootFileEntry(self):
        """Test the get root file entry functionality."""
        file_system = hfs_file_system.HFSFileSystem(self._resolver_context,
                                                    self._hfs_path_spec)
        self.assertIsNotNone(file_system)

        file_system.Open()

        file_entry = file_system.GetRootFileEntry()
        self.assertIsNotNone(file_entry)
        self.assertEqual(file_entry.name, '')
  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:
      FileSystem: file system.
    """
    return hfs_file_system.HFSFileSystem(resolver_context, path_spec)
Exemple #5
0
    def setUp(self):
        """Sets up the needed objects used throughout the test."""
        self._resolver_context = context.Context()
        test_path = self._GetTestFilePath(['hfsplus.raw'])
        self._SkipIfPathNotExists(test_path)

        test_os_path_spec = path_spec_factory.Factory.NewPathSpec(
            definitions.TYPE_INDICATOR_OS, location=test_path)
        self._raw_path_spec = path_spec_factory.Factory.NewPathSpec(
            definitions.TYPE_INDICATOR_RAW, parent=test_os_path_spec)
        self._hfs_path_spec = path_spec_factory.Factory.NewPathSpec(
            definitions.TYPE_INDICATOR_HFS,
            location='/',
            parent=self._raw_path_spec)

        self._file_system = hfs_file_system.HFSFileSystem(
            self._resolver_context, self._hfs_path_spec)
        self._file_system.Open()
Exemple #6
0
    def testFileEntryExistsByPathSpec(self):
        """Test the file entry exists by path specification functionality."""
        file_system = hfs_file_system.HFSFileSystem(self._resolver_context,
                                                    self._hfs_path_spec)
        self.assertIsNotNone(file_system)

        file_system.Open()

        path_spec = path_spec_factory.Factory.NewPathSpec(
            definitions.TYPE_INDICATOR_HFS,
            location='/passwords.txt',
            identifier=self._IDENTIFIER_PASSWORDS_TXT,
            parent=self._raw_path_spec)
        result = file_system.FileEntryExistsByPathSpec(path_spec)
        self.assertTrue(result)

        path_spec = path_spec_factory.Factory.NewPathSpec(
            definitions.TYPE_INDICATOR_HFS,
            location='/bogus.txt',
            parent=self._raw_path_spec)
        result = file_system.FileEntryExistsByPathSpec(path_spec)
        self.assertFalse(result)