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)
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()
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)
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()
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)