diff --git a/osclib/stagingapi.py b/osclib/stagingapi.py index d0a4b331..fc72242a 100644 --- a/osclib/stagingapi.py +++ b/osclib/stagingapi.py @@ -27,6 +27,7 @@ from osc import conf from osc import oscerr from osc.core import change_review_state from osc.core import delete_package +from osc.core import get_group from osc.core import get_request from osc.core import make_meta_url from osc.core import makeurl @@ -58,6 +59,7 @@ class StagingAPI(object): self.crebuild = conf.config[project]['rebuild'] self.cproduct = conf.config[project]['product'] self.copenqa = conf.config[project]['openqa'] + self.user = conf.get_apiurl_usr(apiurl) # If the project support rings, inititialize some variables. self.ring_packages = {} @@ -1148,3 +1150,11 @@ class StagingAPI(object): http_PUT(url, data=meta) return name + + def is_user_member_of(self, user, group): + root = ET.fromstring(get_group(self.apiurl, group)) + + if root.findall("./person/person[@userid='%s']" % user): + return True + else: + return False diff --git a/tests/fixtures/group/factory-staging b/tests/fixtures/group/factory-staging new file mode 100644 index 00000000..133a5756 --- /dev/null +++ b/tests/fixtures/group/factory-staging @@ -0,0 +1,7 @@ + + factory-staging + + + + + diff --git a/tests/obs.py b/tests/obs.py index 12be1100..b4d3eab3 100644 --- a/tests/obs.py +++ b/tests/obs.py @@ -25,7 +25,7 @@ import httpretty import osc -APIURL = 'https://localhost' +APIURL = 'http://localhost' FIXTURES = os.path.join(os.getcwd(), 'tests/fixtures')