Example #1
0
 def test_task_wait(self, context):
     cursor = mock.MagicMock()
     context.cnx.cursor.return_value = cursor
     cursor.fetchall.return_value = [
         (1, 1),
         (2, 2),
         (3, 3),
         (4, 4),
     ]
     host = kojihub.Host(id=1234)
     host.taskWait(parent=123)
     self.assertEqual(len(cursor.execute.mock_calls), 3)
Example #2
0
 def setUp(self):
     self.context = mock.patch('kojihub.context').start()
     self.host_id = 99
     self.context.session.getHostId.return_value = self.host_id
     self.host_exports = kojihub.Host(self.host_id)
     self.host_exports.taskUnwait = mock.MagicMock()
     self.Task = mock.patch('kojihub.Task',
                            side_effect=self.getTask).start()
     self.tasks = {}
     self.queries = []
     self.execute = mock.MagicMock()
     self.QueryProcessor = mock.patch('kojihub.QueryProcessor',
                                      side_effect=self.get_query).start()
Example #3
0
 def test_task_wait_check(self, context):
     cursor = mock.MagicMock()
     context.cnx.cursor.return_value = cursor
     cursor.fetchall.return_value = [
         (1, 1),
         (2, 2),
         (3, 3),
         (4, 4),
     ]
     host = kojihub.Host(id=1234)
     finished, unfinished = host.taskWaitCheck(parent=123)
     cursor.execute.assert_called_once()
     self.assertEqual(finished, [2, 3])
     self.assertEqual(unfinished, [1, 4])
Example #4
0
 def test_task_set_wait_all_tasks(self, context, processor):
     host = kojihub.Host(id=1234)
     host.taskSetWait(parent=123, tasks=None)
     self.assertEqual(len(processor.mock_calls), 6)
     update1 = mock.call(
         'task',
         clauses=['id=%(parent)s'],
         values=mock.ANY,
     )
     self.assertEqual(processor.call_args_list[0], update1)
     update2 = mock.call(
         'task',
         clauses=['parent=%(parent)s'],
         values=mock.ANY,
     )
     self.assertEqual(processor.call_args_list[1], update2)
Example #5
0
 def test_task_set_wait_some_tasks(self, context, processor):
     host = kojihub.Host(id=1234)
     host.taskSetWait(parent=123, tasks=[234, 345])
     self.assertEquals(len(processor.mock_calls), 9)
     update1 = mock.call(
         'task',
         clauses=['id=%(parent)s'],
         values=mock.ANY,
     )
     self.assertEquals(processor.call_args_list[0], update1)
     update2 = mock.call(
         'task',
         clauses=['id IN %(tasks)s', 'parent=%(parent)s'],
         values=mock.ANY,
     )
     self.assertEquals(processor.call_args_list[1], update2)
     update3 = mock.call(
         'task',
         clauses=['id NOT IN %(tasks)s', 'parent=%(parent)s', 'awaited=true'],
         values=mock.ANY,
     )
     self.assertEquals(processor.call_args_list[2], update3)
Example #6
0
 def test_verify_not_exclusive(self, context):
     host = kojihub.Host(id=1234)
     with self.assertRaises(koji.AuthError):
         host.verify()
Example #7
0
 def test_verify_not_samehost(self, context):
     context.session.getHostId.return_value = 1234
     context.session.logged_in = True
     host = kojihub.Host(id=5678)
     with self.assertRaises(koji.AuthError):
         host.verify()
Example #8
0
 def test_instantiation_logged_in_as_host(self, context):
     context.session.getHostId.return_value = 1234
     context.session.logged_in = True
     kojihub.Host(id=None)  # No exception
Example #9
0
 def test_instantiation_not_logged_in(self, context):
     context.session.getHostId.return_value = None
     context.session.logged_in = False
     with self.assertRaises(koji.AuthError):
         kojihub.Host()