summaryrefslogtreecommitdiff
path: root/test/test_api.py
diff options
context:
space:
mode:
authorScott Bahling <sbahling@suse.com>2020-02-01 00:58:43 +0100
committerScott Bahling <sbahling@suse.com>2020-02-01 01:02:03 +0100
commit267040ddaad2075bd24c5f82352a30fcb0eef212 (patch)
treed94b52de4fb65960ad0fe6ca4d4a1ab3d2be742b /test/test_api.py
parent1087f40bd3935fa149e77cfebd55224857aa37a2 (diff)
downloadobsapi-267040ddaad2075bd24c5f82352a30fcb0eef212.tar.gz
obsapi-267040ddaad2075bd24c5f82352a30fcb0eef212.tar.xz
obsapi-267040ddaad2075bd24c5f82352a30fcb0eef212.zip
Add set_flag method
Diffstat (limited to 'test/test_api.py')
-rw-r--r--test/test_api.py31
1 files changed, 31 insertions, 0 deletions
diff --git a/test/test_api.py b/test/test_api.py
index 5a46fb9..3fbf349 100644
--- a/test/test_api.py
+++ b/test/test_api.py
@@ -4,6 +4,12 @@ import os
from . import test_dir
from obsapi import ObsApi
from lxml import etree
+try:
+ from urllib.parse import urlparse
+ from urllib.parse import parse_qs
+except Exception:
+ from urlparse import urlparse
+ from urlparse import parse_qs
apiurl = 'https://api.opensuse.org'
api = ObsApi(apiurl=apiurl)
@@ -514,3 +520,28 @@ def test_get_project_spec_files(requests_mock, project_directory, package_direct
expected_specfiles = [spec_file_1, spec_file_2, spec_file_3]
specfiles = api.get_spec_files(prj)
assert list(specfiles) == expected_specfiles
+
+
+# POST /source/<project>?cmd=set_flag&repository=:opt&arch=:opt&flag=flag&status=status
+def test_set_project_flags(requests_mock):
+ matcher = re.compile(r'/source/.*')
+ requests_mock.post(matcher)
+ params = dict(cmd='set_flag', flag='publish', status='enable')
+
+ response = api.set_flag(prj, flag=params)
+ assert response.status_code == 200
+
+ url = requests_mock.request_history[0].url
+ query = parse_qs(urlparse(url).query)
+ assert query.keys() == params.keys()
+ for key, values in query.items():
+ assert len(values) == 1
+ assert params.get(key, None) == query.get(key, [])[0]
+
+
+# POST /source/<project>/<package>?cmd=set_flag&repository=:opt&arch=:opt&flag=flag&status=status
+def test_set_package_flags(requests_mock):
+ pass
+
+# POST /source/<project>/<package>?cmd=remove_flag&repository=:opt&arch=:opt&flag=flag
+# POST /source/<project>?cmd=remove_flag&repository=:opt&arch=:opt&flag=flag