def testOpenAndClose(self): """Test the open and close functionality.""" file_system = apfs_file_system.APFSFileSystem(self._resolver_context, self._apfs_path_spec) self.assertIsNotNone(file_system) file_system.Open()
def setUp(self): """Sets up the needed objects used throughout the test.""" self._resolver_context = context.Context() test_path = self._GetTestFilePath(['apfs_encrypted.dmg']) self._SkipIfPathNotExists(test_path) test_os_path_spec = path_spec_factory.Factory.NewPathSpec( definitions.TYPE_INDICATOR_OS, location=test_path) test_raw_path_spec = path_spec_factory.Factory.NewPathSpec( definitions.TYPE_INDICATOR_RAW, parent=test_os_path_spec) test_tsk_partition_path_spec = path_spec_factory.Factory.NewPathSpec( definitions.TYPE_INDICATOR_TSK_PARTITION, location='/p1', parent=test_raw_path_spec) self._apfs_container_path_spec = path_spec_factory.Factory.NewPathSpec( definitions.TYPE_INDICATOR_APFS_CONTAINER, location='/apfs1', parent=test_tsk_partition_path_spec) self._apfs_path_spec = path_spec_factory.Factory.NewPathSpec( definitions.TYPE_INDICATOR_APFS, location='/', parent=self._apfs_container_path_spec) resolver.Resolver.key_chain.SetCredential( self._apfs_container_path_spec, 'password', self._APFS_PASSWORD) self._file_system = apfs_file_system.APFSFileSystem( self._resolver_context, self._apfs_path_spec) self._file_system.Open()
def NewFileSystem(self, resolver_context): """Creates a new file system object. Args: resolver_context (Context): resolver context. Returns: FileSystem: file system. """ return apfs_file_system.APFSFileSystem(resolver_context)
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 apfs_file_system.APFSFileSystem(resolver_context, path_spec)
def testGetRootFileEntry(self): """Test the get root file entry functionality.""" file_system = apfs_file_system.APFSFileSystem(self._resolver_context, self._apfs_path_spec) self.assertIsNotNone(file_system) file_system.Open() file_entry = file_system.GetRootFileEntry() self.assertIsNotNone(file_entry) self.assertEqual(file_entry.name, '')
def setUp(self): """Sets up the needed objects used throughout the test.""" self._resolver_context = context.Context() test_file = self._GetTestFilePath(['apfs.dmg']) path_spec = os_path_spec.OSPathSpec(location=test_file) path_spec = raw_path_spec.RawPathSpec(parent=path_spec) partition_path_spec = tsk_partition_path_spec.TSKPartitionPathSpec( location='/p1', parent=path_spec) self._apfs_container_path_spec = ( apfs_container_path_spec.APFSContainerPathSpec( location='/apfs1', parent=partition_path_spec)) self._apfs_path_spec = apfs_path_spec.APFSPathSpec( location='/', parent=self._apfs_container_path_spec) self._file_system = apfs_file_system.APFSFileSystem( self._resolver_context) self._file_system.Open(self._apfs_path_spec)
def setUp(self): """Sets up the needed objects used throughout the test.""" self._resolver_context = context.Context() test_path = self._GetTestFilePath(['apfs.raw']) self._SkipIfPathNotExists(test_path) test_os_path_spec = path_spec_factory.Factory.NewPathSpec( definitions.TYPE_INDICATOR_OS, location=test_path) test_raw_path_spec = path_spec_factory.Factory.NewPathSpec( definitions.TYPE_INDICATOR_RAW, parent=test_os_path_spec) self._apfs_container_path_spec = path_spec_factory.Factory.NewPathSpec( definitions.TYPE_INDICATOR_APFS_CONTAINER, location='/apfs1', parent=test_raw_path_spec) self._apfs_path_spec = path_spec_factory.Factory.NewPathSpec( definitions.TYPE_INDICATOR_APFS, location='/', parent=self._apfs_container_path_spec) self._file_system = apfs_file_system.APFSFileSystem( self._resolver_context, self._apfs_path_spec) self._file_system.Open()
def testFileEntryExistsByPathSpec(self): """Test the file entry exists by path specification functionality.""" file_system = apfs_file_system.APFSFileSystem(self._resolver_context, self._apfs_path_spec) self.assertIsNotNone(file_system) file_system.Open() path_spec = path_spec_factory.Factory.NewPathSpec( definitions.TYPE_INDICATOR_APFS, location='/passwords.txt', identifier=self._IDENTIFIER_PASSWORDS_TXT, parent=self._apfs_container_path_spec) self.assertTrue(file_system.FileEntryExistsByPathSpec(path_spec)) path_spec = path_spec_factory.Factory.NewPathSpec( definitions.TYPE_INDICATOR_APFS, location='/bogus.txt', parent=self._apfs_container_path_spec) self.assertFalse(file_system.FileEntryExistsByPathSpec(path_spec))
def setUp(self): """Sets up the needed objects used throughout the test.""" self._resolver_context = context.Context() test_file = self._GetTestFilePath(['apfs_encrypted.dmg']) self._SkipIfPathNotExists(test_file) path_spec = os_path_spec.OSPathSpec(location=test_file) path_spec = raw_path_spec.RawPathSpec(parent=path_spec) partition_path_spec = tsk_partition_path_spec.TSKPartitionPathSpec( location='/p1', parent=path_spec) self._apfs_container_path_spec = ( apfs_container_path_spec.APFSContainerPathSpec( location='/apfs1', parent=partition_path_spec)) self._apfs_path_spec = apfs_path_spec.APFSPathSpec( location='/', parent=self._apfs_container_path_spec) resolver.Resolver.key_chain.SetCredential( self._apfs_container_path_spec, 'password', self._APFS_PASSWORD) self._file_system = apfs_file_system.APFSFileSystem( self._resolver_context) self._file_system.Open(self._apfs_path_spec)
def testGetFileEntryByPathSpec(self): """Tests the GetFileEntryByPathSpec function.""" file_system = apfs_file_system.APFSFileSystem(self._resolver_context) self.assertIsNotNone(file_system) file_system.Open(self._apfs_path_spec) path_spec = path_spec_factory.Factory.NewPathSpec( definitions.TYPE_INDICATOR_APFS, identifier=19, parent=self._apfs_container_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_APFS, location='/passwords.txt', identifier=19, parent=self._apfs_container_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_APFS, location='/bogus.txt', parent=self._apfs_container_path_spec) file_entry = file_system.GetFileEntryByPathSpec(path_spec) self.assertIsNone(file_entry) file_system.Close()