summaryrefslogtreecommitdiff
path: root/test/test_api.py
diff options
context:
space:
mode:
Diffstat (limited to 'test/test_api.py')
-rw-r--r--test/test_api.py29
1 files changed, 18 insertions, 11 deletions
diff --git a/test/test_api.py b/test/test_api.py
index c8e40b2..5769543 100644
--- a/test/test_api.py
+++ b/test/test_api.py
@@ -357,24 +357,31 @@ def test_get_binary_fileinfo(requests_mock, binary_fileinfo):
assert bfinfo.requires == [p.text for p in expected_bfinfo.findall('requires')]
-def check_get_repo_flags(flag_type, prj, pkg, expected):
- repo_flags = api.get_repo_flags(flag_type, prj, pkg)
- assert repo_flags.flag_type == flag_type
- assert len(list(repo_flags.flags)) == expected
-
-
-def test_get_project_repo_build_flags(requests_mock, project_meta):
+def test_get_project_flags(requests_mock, project_meta):
matcher = prj_meta_re
requests_mock.get(matcher, text=project_meta)
- check_get_repo_flags('build', prj, None, 0)
+ repoflags = api.get_repo_flags(prj)
+ assert repoflags.flag_types == set()
-def test_get_package_repo_build_flags(requests_mock, package_meta):
+def test_get_package_repo_flags(requests_mock, package_meta):
matcher = pkg_meta_re
requests_mock.get(matcher, text=package_meta)
+ repoflags = api.get_repo_flags(prj, pkg)
+ assert repoflags.flag_types == {'build', 'debuginfo', 'useforbuild'}
meta = etree.fromstring(package_meta)
- expected_repoflags = meta.find('build')
- check_get_repo_flags('build', prj, pkg, len(expected_repoflags))
+ for element in meta:
+ for sub in element:
+ if sub.tag in ['enable', 'disable']:
+ flag = element.tag
+ status = sub.tag
+ repository = sub.get('repository', None)
+ arch = sub.get('arch', None)
+ match = False
+ for flag in repoflags.get_flag(flag):
+ if flag.status == status and flag.repository == repository and flag.arch == arch:
+ match = True
+ assert match
@pytest.mark.parametrize('target', ('project', 'package'))