def test_get_acl_packager(self): """ Test the get_acl_packager function. """ acls = pkgdblib.get_acl_packager(self.session, 'pingou') self.assertEqual(acls, []) create_package_acl(self.session) acls = pkgdblib.get_acl_packager(self.session, 'pingou') self.assertEqual(len(acls), 4) self.assertEqual(acls[0].packagelist.package.name, 'guake') self.assertEqual(acls[0].packagelist.collection.branchname, 'F-18') self.assertEqual(acls[1].packagelist.collection.branchname, 'F-18') self.assertEqual(acls[2].packagelist.collection.branchname, 'devel') self.assertEqual(acls[3].packagelist.collection.branchname, 'devel')
def api_packager_acl(packagername=None): ''' List the pending ACL action of the user. :arg username: String of the packager name. ''' httpcode = 200 output = {} packagername = flask.request.args.get('packagername', None) or packagername if packagername: packagers = pkgdblib.get_acl_packager( SESSION, packager=packagername, ) SESSION.commit() output['output'] = 'ok' output['acls'] = [pkg.to_json() for pkg in packagers] else: output = {'output': 'notok', 'error': 'Invalid request'} httpcode = 500 jsonout = flask.jsonify(output) jsonout.status_code = httpcode return jsonout
def api_packager_acl(packagername=None): ''' List the pending ACL action of the user. :arg username: String of the packager name. ''' httpcode = 200 output = {} packagername = flask.request.args.get('packagername', None) or packagername if packagername: packagers = pkgdblib.get_acl_packager(SESSION, packager=packagername, ) SESSION.commit() output['output'] = 'ok' output['acls'] = [pkg.to_json() for pkg in packagers] else: output = {'output': 'notok', 'error': 'Invalid request'} httpcode = 500 jsonout = flask.jsonify(output) jsonout.status_code = httpcode return jsonout
def api_packager_acl(packagername=None): ''' User's ACL ---------- List the ACLs of the user. :: /api/packager/acl/<fas_username>/ /api/packager/acl/?packagername=<username> Accept GET queries only. :arg username: String of the packager name. Sample response: :: /api/packager/acl/pingou { "output": "ok", "acls": [ { "status": "Approved", "fas_name": "pingou", "packagelist": { "point_of_contact": "pingou", "collection": { "status": "EOL", "branchname": "f16", "version": "16", "name": "Fedora" }, "package": { "status": "Approved", "upstream_url": null, "description": null, "summary": "Data of T- and B-cell Acute Lymphocytic Leukemia", "creation_date": 1384775354.0, "review_url": null, "name": "R-ALL" } }, "acl": "watchcommits" }, { "status": "Approved", "fas_name": "pingou", "packagelist": { "point_of_contact": "pingou", "collection": { "status": "EOL", "branchname": "f16", "version": "16", "name": "Fedora" }, "package": { "status": "Approved", "upstream_url": null, "description": null, "summary": "Data of T- and B-cell Acute Lymphocytic Leukemia", "creation_date": 1384775354.0, "review_url": null, "name": "R-ALL" } }, "acl": "watchbugzilla" } ] } /api/packager/acl/?packagername=random { "output": "notok", "error": "No ACL found for this user" } ''' httpcode = 200 output = {} packagername = flask.request.args.get('packagername', None) or packagername if packagername: packagers = pkgdblib.get_acl_packager(SESSION, packager=packagername, ) if packagers: output['output'] = 'ok' output['acls'] = [pkg.to_json() for pkg in packagers] else: output = {'output': 'notok', 'error': 'No ACL found for this user'} httpcode = 404 else: output = {'output': 'notok', 'error': 'Invalid request'} httpcode = 500 jsonout = flask.jsonify(output) jsonout.status_code = httpcode return jsonout