def testOpenAndClose(self): """Test the open and close functionality.""" file_system = apfs_container_file_system.APFSContainerFileSystem( self._resolver_context, self._apfs_container_path_spec) self.assertIsNotNone(file_system) file_system.Open()
def testFileEntryExistsByPathSpec(self): """Test the file entry exists by path specification functionality.""" file_system = apfs_container_file_system.APFSContainerFileSystem( self._resolver_context) self.assertIsNotNone(file_system) file_system.Open(self._apfs_container_path_spec) path_spec = apfs_container_path_spec.APFSContainerPathSpec( location='/', parent=self._partition_path_spec) self.assertTrue(file_system.FileEntryExistsByPathSpec(path_spec)) path_spec = apfs_container_path_spec.APFSContainerPathSpec( parent=self._partition_path_spec, volume_index=0) self.assertTrue(file_system.FileEntryExistsByPathSpec(path_spec)) path_spec = apfs_container_path_spec.APFSContainerPathSpec( location='/apfs1', parent=self._partition_path_spec) self.assertTrue(file_system.FileEntryExistsByPathSpec(path_spec)) path_spec = apfs_container_path_spec.APFSContainerPathSpec( parent=self._partition_path_spec, volume_index=9) self.assertFalse(file_system.FileEntryExistsByPathSpec(path_spec)) path_spec = apfs_container_path_spec.APFSContainerPathSpec( location='/apfs0', parent=self._partition_path_spec) self.assertFalse(file_system.FileEntryExistsByPathSpec(path_spec)) path_spec = apfs_container_path_spec.APFSContainerPathSpec( location='/apfs9', parent=self._partition_path_spec) self.assertFalse(file_system.FileEntryExistsByPathSpec(path_spec)) file_system.Close()
def NewFileSystem(self, resolver_context): """Creates a new file system object. Args: resolver_context (Context): resolver context. Returns: APFSContainerFileSystem: file system. """ return apfs_container_file_system.APFSContainerFileSystem( resolver_context)
def testGetRootFileEntry(self): """Test the get root file entry functionality.""" file_system = apfs_container_file_system.APFSContainerFileSystem( self._resolver_context, self._apfs_container_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: APFSContainerFileSystem: file system. """ return apfs_container_file_system.APFSContainerFileSystem( resolver_context, path_spec)
def testGetFileEntryByPathSpec(self): """Tests the GetFileEntryByPathSpec function.""" file_system = apfs_container_file_system.APFSContainerFileSystem( self._resolver_context, self._apfs_container_path_spec) self.assertIsNotNone(file_system) file_system.Open() path_spec = path_spec_factory.Factory.NewPathSpec( definitions.TYPE_INDICATOR_APFS_CONTAINER, location='/', parent=self._raw_path_spec) file_entry = file_system.GetFileEntryByPathSpec(path_spec) self.assertIsNotNone(file_entry) self.assertEqual(file_entry.name, '') path_spec = path_spec_factory.Factory.NewPathSpec( definitions.TYPE_INDICATOR_APFS_CONTAINER, parent=self._raw_path_spec, volume_index=0) file_entry = file_system.GetFileEntryByPathSpec(path_spec) self.assertIsNotNone(file_entry) self.assertEqual(file_entry.name, 'apfs1') path_spec = path_spec_factory.Factory.NewPathSpec( definitions.TYPE_INDICATOR_APFS_CONTAINER, location='/apfs1', parent=self._raw_path_spec) file_entry = file_system.GetFileEntryByPathSpec(path_spec) self.assertIsNotNone(file_entry) self.assertEqual(file_entry.name, 'apfs1') path_spec = path_spec_factory.Factory.NewPathSpec( definitions.TYPE_INDICATOR_APFS_CONTAINER, parent=self._raw_path_spec, volume_index=9) file_entry = file_system.GetFileEntryByPathSpec(path_spec) self.assertIsNone(file_entry) path_spec = path_spec_factory.Factory.NewPathSpec( definitions.TYPE_INDICATOR_APFS_CONTAINER, location='/apfs0', parent=self._raw_path_spec) file_entry = file_system.GetFileEntryByPathSpec(path_spec) self.assertIsNone(file_entry) path_spec = path_spec_factory.Factory.NewPathSpec( definitions.TYPE_INDICATOR_APFS_CONTAINER, location='/apfs9', parent=self._raw_path_spec) file_entry = file_system.GetFileEntryByPathSpec(path_spec) self.assertIsNone(file_entry)
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) self._partition_path_spec = tsk_partition_path_spec.TSKPartitionPathSpec( location='/p1', parent=path_spec) self._apfs_container_path_spec = ( apfs_container_path_spec.APFSContainerPathSpec( location='/', parent=self._partition_path_spec)) self._file_system = apfs_container_file_system.APFSContainerFileSystem( self._resolver_context) self._file_system.Open(self._apfs_container_path_spec)
def testGetFileEntryByPathSpec(self): """Tests the GetFileEntryByPathSpec function.""" file_system = apfs_container_file_system.APFSContainerFileSystem( self._resolver_context) self.assertIsNotNone(file_system) file_system.Open(self._apfs_container_path_spec) path_spec = apfs_container_path_spec.APFSContainerPathSpec( location='/', parent=self._partition_path_spec) file_entry = file_system.GetFileEntryByPathSpec(path_spec) self.assertIsNotNone(file_entry) self.assertEqual(file_entry.name, '') path_spec = apfs_container_path_spec.APFSContainerPathSpec( parent=self._partition_path_spec, volume_index=0) file_entry = file_system.GetFileEntryByPathSpec(path_spec) self.assertIsNotNone(file_entry) self.assertEqual(file_entry.name, 'apfs1') path_spec = apfs_container_path_spec.APFSContainerPathSpec( location='/apfs1', parent=self._partition_path_spec) file_entry = file_system.GetFileEntryByPathSpec(path_spec) self.assertIsNotNone(file_entry) self.assertEqual(file_entry.name, 'apfs1') path_spec = apfs_container_path_spec.APFSContainerPathSpec( parent=self._partition_path_spec, volume_index=9) file_entry = file_system.GetFileEntryByPathSpec(path_spec) self.assertIsNone(file_entry) path_spec = apfs_container_path_spec.APFSContainerPathSpec( location='/apfs0', parent=self._partition_path_spec) file_entry = file_system.GetFileEntryByPathSpec(path_spec) self.assertIsNone(file_entry) path_spec = apfs_container_path_spec.APFSContainerPathSpec( location='/apfs9', parent=self._partition_path_spec) file_entry = file_system.GetFileEntryByPathSpec(path_spec) self.assertIsNone(file_entry) file_system.Close()
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) self._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='/', parent=self._raw_path_spec) self._file_system = apfs_container_file_system.APFSContainerFileSystem( self._resolver_context, self._apfs_container_path_spec) self._file_system.Open()
def testFileEntryExistsByPathSpec(self): """Test the file entry exists by path specification functionality.""" file_system = apfs_container_file_system.APFSContainerFileSystem( self._resolver_context, self._apfs_container_path_spec) self.assertIsNotNone(file_system) file_system.Open() path_spec = path_spec_factory.Factory.NewPathSpec( definitions.TYPE_INDICATOR_APFS_CONTAINER, location='/', parent=self._raw_path_spec) self.assertTrue(file_system.FileEntryExistsByPathSpec(path_spec)) path_spec = path_spec_factory.Factory.NewPathSpec( definitions.TYPE_INDICATOR_APFS_CONTAINER, parent=self._raw_path_spec, volume_index=0) self.assertTrue(file_system.FileEntryExistsByPathSpec(path_spec)) path_spec = path_spec_factory.Factory.NewPathSpec( definitions.TYPE_INDICATOR_APFS_CONTAINER, location='/apfs1', parent=self._raw_path_spec) self.assertTrue(file_system.FileEntryExistsByPathSpec(path_spec)) path_spec = path_spec_factory.Factory.NewPathSpec( definitions.TYPE_INDICATOR_APFS_CONTAINER, parent=self._raw_path_spec, volume_index=9) self.assertFalse(file_system.FileEntryExistsByPathSpec(path_spec)) path_spec = path_spec_factory.Factory.NewPathSpec( definitions.TYPE_INDICATOR_APFS_CONTAINER, location='/apfs0', parent=self._raw_path_spec) self.assertFalse(file_system.FileEntryExistsByPathSpec(path_spec)) path_spec = path_spec_factory.Factory.NewPathSpec( definitions.TYPE_INDICATOR_APFS_CONTAINER, location='/apfs9', parent=self._raw_path_spec) self.assertFalse(file_system.FileEntryExistsByPathSpec(path_spec))