| |
@@ -2,6 +2,7 @@
|
| |
|
| |
from unittest import mock
|
| |
|
| |
+ import koji
|
| |
import kojihub
|
| |
|
| |
QP = kojihub.QueryProcessor
|
| |
@@ -18,7 +19,7 @@
|
| |
|
| |
def setUp(self):
|
| |
# defaults
|
| |
- self.tables= ['build']
|
| |
+ self.tables = ['build']
|
| |
# note: QueryProcessor reports these sorted by alias
|
| |
self.columns = [
|
| |
'build.id',
|
| |
@@ -114,7 +115,7 @@
|
| |
self.get_user.return_value = None
|
| |
rv = self.exports.listBuilds(userID=user)
|
| |
self.assertEqual(rv, [])
|
| |
-
|
| |
+
|
| |
def test_draft(self):
|
| |
package = 'test-package'
|
| |
package_id = 1
|
| |
@@ -128,3 +129,87 @@
|
| |
self.assertEqual(qp.columns, self.columns)
|
| |
self.assertEqual(qp.clauses, ['draft IS TRUE'] + self.clauses)
|
| |
self.assertEqual(qp.joins, self.joins)
|
| |
+
|
| |
+ def test_packageID_is_empty(self):
|
| |
+ with self.assertRaises(koji.ParameterError) as cm:
|
| |
+ self.exports.listBuilds(packageID='')
|
| |
+ self.assertEqual(cm.exception.args[0], 'packageID option is empty')
|
| |
+ self.assertEqual(len(self.queries), 0)
|
| |
+
|
| |
+ def test_userID_is_empty(self):
|
| |
+ with self.assertRaises(koji.ParameterError) as cm:
|
| |
+ self.exports.listBuilds(userID='')
|
| |
+ self.assertEqual(cm.exception.args[0], 'userID option is empty')
|
| |
+ self.assertEqual(len(self.queries), 0)
|
| |
+
|
| |
+ def test_volumeID_is_empty(self):
|
| |
+ with self.assertRaises(koji.ParameterError) as cm:
|
| |
+ self.exports.listBuilds(volumeID='')
|
| |
+ self.assertEqual(cm.exception.args[0], 'volumeID option is empty')
|
| |
+ self.assertEqual(len(self.queries), 0)
|
| |
+
|
| |
+ def test_taskID_is_empty(self):
|
| |
+ with self.assertRaises(koji.ParameterError) as cm:
|
| |
+ self.exports.listBuilds(taskID='')
|
| |
+ self.assertEqual(cm.exception.args[0], 'taskID option is empty')
|
| |
+ self.assertEqual(len(self.queries), 0)
|
| |
+
|
| |
+ def test_source_is_empty(self):
|
| |
+ with self.assertRaises(koji.ParameterError) as cm:
|
| |
+ self.exports.listBuilds(source='')
|
| |
+ self.assertEqual(cm.exception.args[0], 'source option is empty')
|
| |
+ self.assertEqual(len(self.queries), 0)
|
| |
+
|
| |
+ def test_prefix_is_empty(self):
|
| |
+ with self.assertRaises(koji.ParameterError) as cm:
|
| |
+ self.exports.listBuilds(prefix='')
|
| |
+ self.assertEqual(cm.exception.args[0], 'prefix option is empty')
|
| |
+ self.assertEqual(len(self.queries), 0)
|
| |
+
|
| |
+ def test_pattern_is_empty(self):
|
| |
+ with self.assertRaises(koji.ParameterError) as cm:
|
| |
+ self.exports.listBuilds(pattern='')
|
| |
+ self.assertEqual(cm.exception.args[0], 'pattern option is empty')
|
| |
+ self.assertEqual(len(self.queries), 0)
|
| |
+
|
| |
+ def test_state_is_empty(self):
|
| |
+ with self.assertRaises(koji.ParameterError) as cm:
|
| |
+ self.exports.listBuilds(state='')
|
| |
+ self.assertEqual(cm.exception.args[0], 'state option is empty')
|
| |
+ self.assertEqual(len(self.queries), 0)
|
| |
+
|
| |
+ def test_createdBefore_is_empty(self):
|
| |
+ with self.assertRaises(koji.ParameterError) as cm:
|
| |
+ self.exports.listBuilds(createdBefore='')
|
| |
+ self.assertEqual(cm.exception.args[0], 'createdBefore option is empty')
|
| |
+ self.assertEqual(len(self.queries), 0)
|
| |
+
|
| |
+ def test_createdAfter_is_empty(self):
|
| |
+ with self.assertRaises(koji.ParameterError) as cm:
|
| |
+ self.exports.listBuilds(createdAfter='')
|
| |
+ self.assertEqual(cm.exception.args[0], 'createdAfter option is empty')
|
| |
+ self.assertEqual(len(self.queries), 0)
|
| |
+
|
| |
+ def test_completeBefore_is_empty(self):
|
| |
+ with self.assertRaises(koji.ParameterError) as cm:
|
| |
+ self.exports.listBuilds(completeBefore='')
|
| |
+ self.assertEqual(cm.exception.args[0], 'completeBefore option is empty')
|
| |
+ self.assertEqual(len(self.queries), 0)
|
| |
+
|
| |
+ def test_completeAfter_is_empty(self):
|
| |
+ with self.assertRaises(koji.ParameterError) as cm:
|
| |
+ self.exports.listBuilds(completeAfter='')
|
| |
+ self.assertEqual(cm.exception.args[0], 'completeAfter option is empty')
|
| |
+ self.assertEqual(len(self.queries), 0)
|
| |
+
|
| |
+ def test_cgID_is_empty(self):
|
| |
+ with self.assertRaises(koji.ParameterError) as cm:
|
| |
+ self.exports.listBuilds(cgID='')
|
| |
+ self.assertEqual(cm.exception.args[0], 'cgID option is empty')
|
| |
+ self.assertEqual(len(self.queries), 0)
|
| |
+
|
| |
+ def test_type_is_empty(self):
|
| |
+ with self.assertRaises(koji.ParameterError) as cm:
|
| |
+ self.exports.listBuilds(type='')
|
| |
+ self.assertEqual(cm.exception.args[0], 'type option is empty')
|
| |
+ self.assertEqual(len(self.queries), 0)
|
| |
Fixes: https://pagure.io/koji/issue/4402