def test_anon_handle_download_logs(self):
        task_id = 123456
        self.session.getTaskInfo.return_value = {
            'arch': 'x86_64',
            'state': 'CLOSED',
        }
        self.list_task_output_all_volumes.return_value = {
            'file1.log': ['volume1'],
            'file2_not_log': ['volume2'],
        }
        self.session.downloadTaskOutput.side_effect = ['abcde', '']
        out_file = six.StringIO()
        self.custom_open['kojilogs/x86_64-123456/volume1/file1.log'] = out_file

        if six.PY2:
            target = '__builtin__.open'
        else:
            target = 'builtins.open'
        with mock.patch(target, new=self.mock_builtin_open):
            anon_handle_download_logs(self.options, self.session, [str(task_id)])

        self.session.getTaskInfo.assert_called_once_with(task_id)
        self.list_task_output_all_volumes.assert_called_once_with(self.session, task_id)
        self.assertTrue(out_file.closed)
        self.assertEqual(self.session.downloadTaskOutput.call_count, 2)
        self.session.downloadTaskOutput.assert_has_calls([
            mock.call(123456, 'file1.log', offset=0, size=102400, volume='volume1'),
            mock.call(123456, 'file1.log', offset=5, size=102400, volume='volume1'),
        ])
Esempio n. 2
0
    def test_anon_handle_download_logs(self):
        task_id = 123456
        self.session.getTaskInfo.return_value = {
            'arch': 'x86_64',
            'state': 'CLOSED',
        }
        self.list_task_output_all_volumes.return_value = {
            'file1.log': ['volume1'],
            'file2_not_log': ['volume2'],
        }
        self.session.downloadTaskOutput.side_effect = ['abcde', '']
        out_file = six.StringIO()
        self.custom_open['kojilogs/x86_64-123456/volume1/file1.log'] = out_file

        if six.PY2:
            target = '__builtin__.open'
        else:
            target = 'builtins.open'
        with mock.patch(target, new=self.mock_builtin_open):
            anon_handle_download_logs(self.options, self.session, [str(task_id)])

        self.session.getTaskInfo.assert_called_once_with(task_id)
        self.list_task_output_all_volumes.assert_called_once_with(self.session, task_id)
        self.assertTrue(out_file.closed)
        self.assertEqual(self.session.downloadTaskOutput.call_count, 2)
        self.session.downloadTaskOutput.assert_has_calls([
            mock.call(123456, 'file1.log', offset=0, size=102400, volume='volume1'),
            mock.call(123456, 'file1.log', offset=5, size=102400, volume='volume1'),
        ])
Esempio n. 3
0
    def test_anon_handle_download_logs_wrong_nvr(self):
        nvr = 'bash-1.2.3-f26'
        self.session.getBuild.return_value = None

        with self.assertRaises(SystemExit):
            anon_handle_download_logs(self.options, self.session, ['--nvr', nvr])

        self.session.getBuild.assert_called_once_with(nvr)
    def test_anon_handle_download_logs_wrong_nvr(self):
        nvr = 'bash-1.2.3-f26'
        self.session.getBuild.return_value = None

        with self.assertRaises(SystemExit):
            anon_handle_download_logs(self.options, self.session, ['--nvr', nvr])

        self.session.getBuild.assert_called_once_with(nvr)
Esempio n. 5
0
 def test_anon_handle_download_logs_task_not_found(self):
     task_id = '123333'
     self.session.getTaskInfo.return_value = None
     with self.assertRaises(SystemExit) as ex:
         anon_handle_download_logs(self.options, self.session, [task_id])
     self.assertExitCode(ex, 1)
     actual = self.stderr.getvalue()
     expected = 'No such task: %s\n' % task_id
     self.assertMultiLineEqual(actual, expected)
Esempio n. 6
0
    def test_anon_handle_download_logs_nvr(self):
        nvr = 'bash-1.2.3-f26'
        task_id = 123456
        self.session.getBuild.return_value = {'task_id': task_id}
        self.session.getTaskInfo.return_value = {
            'arch': 'x86_64',
            'state': 'CLOSED',
        }
        self.list_task_output_all_volumes.return_value = {}
        self.session.getTaskChildren.side_effect = [[{'id': 23}], []]

        anon_handle_download_logs(self.options, self.session, ['--nvr', nvr])

        self.session.getBuild.assert_called_once_with(nvr)
        self.session.getTaskInfo.assert_has_calls([
            mock.call(task_id),
            mock.call(23),
        ])
        self.session.downloadTaskOutput.assert_not_called()
    def test_anon_handle_download_logs_nvr(self):
        nvr = 'bash-1.2.3-f26'
        task_id = 123456
        self.session.getBuild.return_value = {'task_id': task_id}
        self.session.getTaskInfo.return_value = {
            'arch': 'x86_64',
            'state': 'CLOSED',
        }
        self.list_task_output_all_volumes.return_value = {}
        self.session.getTaskChildren.side_effect = [[{'id': 23}], []]

        anon_handle_download_logs(self.options, self.session, ['--nvr', nvr])

        self.session.getBuild.assert_called_once_with(nvr)
        self.session.getTaskInfo.assert_has_calls([
            mock.call(task_id),
            mock.call(23),
        ])
        self.session.downloadTaskOutput.assert_not_called()
Esempio n. 8
0
 def test_anon_handle_download_logs_no_arg(self):
     with self.assertRaises(SystemExit):
         anon_handle_download_logs(self.options, self.session, [])
Esempio n. 9
0
 def test_anon_handle_download_logs_wrong_value(self):
     with self.assertRaises(SystemExit):
         anon_handle_download_logs(self.options, self.session, ['bogus_task_id'])
 def test_anon_handle_download_logs_no_arg(self):
     with self.assertRaises(SystemExit):
         anon_handle_download_logs(self.options, self.session, [])
 def test_anon_handle_download_logs_wrong_value(self):
     with self.assertRaises(SystemExit):
         anon_handle_download_logs(self.options, self.session, ['bogus_task_id'])