[copr] bkabrda-workspace: Few more tests and a connected fix in a url route (c7ce8df)
bkabrda at fedoraproject.org
bkabrda at fedoraproject.org
Wed Nov 21 14:08:31 UTC 2012
Repository : http://git.fedorahosted.org/cgit/copr.git
On branch : bkabrda-workspace
>---------------------------------------------------------------
commit c7ce8df8ca245a672cd49803a1a8a586ba9e36af
Author: Bohuslav Kabrda <bkabrda at redhat.com>
Date: Wed Nov 21 15:08:20 2012 +0100
Few more tests and a connected fix in a url route
>---------------------------------------------------------------
wsgi/coprs/views/coprs_ns/coprs_general.py | 2 +-
.../tests/test_views/test_coprs_ns/test_general.py | 27 ++++++++++++++++++++
2 files changed, 28 insertions(+), 1 deletions(-)
diff --git a/wsgi/coprs/views/coprs_ns/coprs_general.py b/wsgi/coprs/views/coprs_ns/coprs_general.py
index 077609e..a281019 100644
--- a/wsgi/coprs/views/coprs_ns/coprs_general.py
+++ b/wsgi/coprs/views/coprs_ns/coprs_general.py
@@ -123,7 +123,7 @@ def copr_update(username, coprname):
return flask.render_template('coprs/edit.html', copr = copr, form = form)
- at coprs_ns.route('/detail/<username>/<coprname>/apply_for_building', methods = ['POST'])
+ at coprs_ns.route('/detail/<username>/<coprname>/apply_for_building/', methods = ['POST'])
@login_required
def copr_apply_for_building(username, coprname):
copr = coprs_logic.CoprsLogic.get(flask.g.user, username, coprname).first()
diff --git a/wsgi/tests/test_views/test_coprs_ns/test_general.py b/wsgi/tests/test_views/test_coprs_ns/test_general.py
index af8f06c..e5f6478 100644
--- a/wsgi/tests/test_views/test_coprs_ns/test_general.py
+++ b/wsgi/tests/test_views/test_coprs_ns/test_general.py
@@ -128,6 +128,15 @@ class TestCoprDetail(CoprsTestCase):
r = c.get('/coprs/detail/{0}/{1}/'.format(self.u2.name, self.c2.name))
assert '<input type=submit value="Apply for building">' in r.data
+ def test_copr_detail_doesnt_allow_owner_to_ask_for_building(self, f_users, f_coprs):
+ with self.tc as c:
+ with c.session_transaction() as s:
+ s['openid'] = self.u2.openid_name
+
+ self.db.session.add_all([self.u2, self.c2])
+ r = c.get('/coprs/detail/{0}/{1}/'.format(self.u2.name, self.c2.name))
+ assert '<input type=submit value="Apply for building">' not in r.data
+
def test_copr_detail_allows_giving_up_building(self, f_users, f_coprs, f_copr_permissions):
with self.tc as c:
with c.session_transaction() as s:
@@ -160,3 +169,21 @@ class TestCoprUpdate(CoprsTestCase):
data = {'name': self.c1.name, 'release': self.c1.release, 'arches': self.c1.arches, 'id': self.c1.id},
follow_redirects = True)
assert 'Copr was updated successfully' in r.data
+
+class TestCoprApplyForBuilding(CoprsTestCase):
+ def test_apply(self, f_users, f_coprs):
+ with self.tc as c:
+ with c.session_transaction() as s:
+ s['openid'] = self.u2.openid_name
+
+ self.db.session.add_all([self.u1, self.u2, self.c1])
+ r = c.post('/coprs/detail/{0}/{1}/apply_for_building/'.format(self.u1.name, self.c1.name),
+ follow_redirects = True)
+ print r.data
+ assert 'You have successfuly applied' in r.data
+
+ self.db.session.add_all([self.u1, self.u2, self.c1])
+ new_perm = self.models.CoprPermission.query.filter(self.models.CoprPermission.user_id == self.u2.id).\
+ filter(self.models.CoprPermission.copr_id == self.c1.id).\
+ first()
+ assert not new_perm.approved
More information about the copr-devel
mailing list