コード例 #1
0
ファイル: test_tape.py プロジェクト: haniffm/ESSArch_Core
    def test_get_tape_file_number_returncode_is_2_raise_exception(self, mock_popen):
        attrs = {'communicate.return_value': ('output', 'error'), 'returncode': 2}
        mock_popen.return_value.configure_mock(**attrs)

        with self.assertRaises(MTFailedOperationException):
            get_tape_file_number("device_to_verify")

        cmd = 'mt -f device_to_verify status | grep -i "file number"'
        mock_popen.assert_called_once_with(cmd, shell=True, stderr=PIPE, stdout=PIPE)
コード例 #2
0
ファイル: test_tape.py プロジェクト: haniffm/ESSArch_Core
    def test_get_tape_file_number_success(self, mock_popen):
        attrs = {'communicate.return_value': ('the_drive=42, something else', ''), 'returncode': 0}
        mock_popen.return_value.configure_mock(**attrs)

        self.assertEqual(get_tape_file_number("device_to_verify"), 42)

        cmd = 'mt -f device_to_verify status | grep -i "file number"'
        mock_popen.assert_called_once_with(cmd, shell=True, stderr=PIPE, stdout=PIPE)
コード例 #3
0
    def run(self, medium=None):
        """
        Gets the current file number (position) of the given tape
        """

        try:
            drive = TapeDrive.objects.get(storage_medium__pk=medium)
        except TapeDrive.DoesNotExist:
            raise ValueError("Tape not mounted")

        return get_tape_file_number(drive.device)