Exemple #1
0
    def testInitialize(self):
        """Tests the path specification initialization."""
        path_spec = ewf_path_spec.EwfPathSpec(parent=self._path_spec)

        self.assertNotEqual(path_spec, None)

        with self.assertRaises(ValueError):
            _ = ewf_path_spec.EwfPathSpec(parent=None)

        with self.assertRaises(ValueError):
            _ = ewf_path_spec.EwfPathSpec(parent=self._path_spec,
                                          bogus=u'BOGUS')
Exemple #2
0
    def testComparable(self):
        """Tests the path specification comparable property."""
        path_spec = ewf_path_spec.EwfPathSpec(parent=self._path_spec)

        self.assertNotEqual(path_spec, None)

        expected_comparable = u'\n'.join([u'type: TEST', u'type: EWF', u''])

        self.assertEqual(path_spec.comparable, expected_comparable)
Exemple #3
0
    def testGlobE01(self):
        """Test the glob function."""
        expected_segment_file_path_specs = []
        file_system = self._BuildFileFakeFileSystem(
            u'image.E01', 1, expected_segment_file_path_specs)

        # Test single segment file: E01.
        path_spec = fake_path_spec.FakePathSpec(location=u'/image.E01')
        path_spec = ewf_path_spec.EwfPathSpec(parent=path_spec)

        segment_file_path_specs = ewf.EwfGlobPathSpec(file_system, path_spec)
        self.assertEqual(len(segment_file_path_specs),
                         len(expected_segment_file_path_specs))
        self.assertEqual(segment_file_path_specs,
                         expected_segment_file_path_specs)

        # Test non exiting segment file: E01.
        expected_segment_file_path_specs = []

        path_spec = fake_path_spec.FakePathSpec(location=u'/bogus.E01')
        path_spec = ewf_path_spec.EwfPathSpec(parent=path_spec)

        segment_file_path_specs = ewf.EwfGlobPathSpec(file_system, path_spec)
        self.assertEqual(len(segment_file_path_specs),
                         len(expected_segment_file_path_specs))
        self.assertEqual(segment_file_path_specs,
                         expected_segment_file_path_specs)

        # Test multiple segment files: E01-E10.
        expected_segment_file_path_specs = []
        file_system = self._BuildFileFakeFileSystem(
            u'image.E01', 10, expected_segment_file_path_specs)

        path_spec = fake_path_spec.FakePathSpec(location=u'/image.E01')
        path_spec = ewf_path_spec.EwfPathSpec(parent=path_spec)

        segment_file_path_specs = ewf.EwfGlobPathSpec(file_system, path_spec)
        self.assertEqual(len(segment_file_path_specs),
                         len(expected_segment_file_path_specs))
        self.assertEqual(segment_file_path_specs,
                         expected_segment_file_path_specs)

        # Test multiple segment files: E01-E99,EAA.
        expected_segment_file_path_specs = []
        file_system = self._BuildFileFakeFileSystem(
            u'image.E01', 100, expected_segment_file_path_specs)

        path_spec = fake_path_spec.FakePathSpec(location=u'/image.E01')
        path_spec = ewf_path_spec.EwfPathSpec(parent=path_spec)

        segment_file_path_specs = ewf.EwfGlobPathSpec(file_system, path_spec)
        self.assertEqual(len(segment_file_path_specs),
                         len(expected_segment_file_path_specs))
        self.assertEqual(segment_file_path_specs,
                         expected_segment_file_path_specs)

        # Test multiple segment files: E01-E99,EAA-EBA.
        expected_segment_file_path_specs = []
        file_system = self._BuildFileFakeFileSystem(
            u'image.E01', 126, expected_segment_file_path_specs)

        path_spec = fake_path_spec.FakePathSpec(location=u'/image.E01')
        path_spec = ewf_path_spec.EwfPathSpec(parent=path_spec)

        segment_file_path_specs = ewf.EwfGlobPathSpec(file_system, path_spec)
        self.assertEqual(len(segment_file_path_specs),
                         len(expected_segment_file_path_specs))
        self.assertEqual(segment_file_path_specs,
                         expected_segment_file_path_specs)

        # Test multiple segment files: E01-E99,EAA-EZZ.
        expected_segment_file_path_specs = []
        file_system = self._BuildFileFakeFileSystem(
            u'image.E01', 775, expected_segment_file_path_specs)

        path_spec = fake_path_spec.FakePathSpec(location=u'/image.E01')
        path_spec = ewf_path_spec.EwfPathSpec(parent=path_spec)

        segment_file_path_specs = ewf.EwfGlobPathSpec(file_system, path_spec)
        self.assertEqual(len(segment_file_path_specs),
                         len(expected_segment_file_path_specs))
        self.assertEqual(segment_file_path_specs,
                         expected_segment_file_path_specs)

        # Test multiple segment files: E01-E99,EAA-ZZZ.
        expected_segment_file_path_specs = []
        file_system = self._BuildFileFakeFileSystem(
            u'image.E01', 14970, expected_segment_file_path_specs)

        path_spec = fake_path_spec.FakePathSpec(location=u'/image.E01')
        path_spec = ewf_path_spec.EwfPathSpec(parent=path_spec)

        segment_file_path_specs = ewf.EwfGlobPathSpec(file_system, path_spec)
        self.assertEqual(len(segment_file_path_specs),
                         len(expected_segment_file_path_specs))
        self.assertEqual(segment_file_path_specs,
                         expected_segment_file_path_specs)

        # Test multiple segment files: E01-E99,EAA-[ZZ.
        expected_segment_file_path_specs = []
        file_system = self._BuildFileFakeFileSystem(
            u'image.E01', 14971, expected_segment_file_path_specs)

        path_spec = fake_path_spec.FakePathSpec(location=u'/image.E01')
        path_spec = ewf_path_spec.EwfPathSpec(parent=path_spec)

        with self.assertRaises(RuntimeError):
            segment_file_path_specs = ewf.EwfGlobPathSpec(
                file_system, path_spec)
Exemple #4
0
 def setUp(self):
     """Sets up the needed objects used throughout the test."""
     super(SplitEwfFileTest, self).setUp()
     test_file = os.path.join(u'test_data', u'image-split.E01')
     path_spec = os_path_spec.OSPathSpec(location=test_file)
     self._ewf_path_spec = ewf_path_spec.EwfPathSpec(parent=path_spec)