Repository :
http://git.fedorahosted.org/cgit/copr.git
On branch : master
---------------------------------------------------------------
commit a4ee1e8ecca6ea52250d371a9cabc7b4b345574c
Author: Valentin Gologuzov <vgologuz(a)redhat.com>
Date: Mon Jul 27 15:08:36 2015 +0200
[frontend] fixed failing tests
---------------------------------------------------------------
frontend/coprs_frontend/coprs/models.py | 5 +-
.../tests/test_logic/test_builds_logic.py | 46 +++++++++++++++++++-
.../test_views/test_coprs_ns/test_coprs_general.py | 19 --------
3 files changed, 46 insertions(+), 24 deletions(-)
diff --git a/frontend/coprs_frontend/coprs/models.py
b/frontend/coprs_frontend/coprs/models.py
index 5aabf8b..df8a44e 100644
--- a/frontend/coprs_frontend/coprs/models.py
+++ b/frontend/coprs_frontend/coprs/models.py
@@ -433,7 +433,6 @@ class Build(db.Model, helpers.Serializer):
"""
Return build status according to build status of its chroots
"""
-
if self.canceled:
return helpers.StatusEnum("canceled")
@@ -461,7 +460,7 @@ class Build(db.Model, helpers.Serializer):
"""
return self.status == helpers.StatusEnum("pending") or \
- self.status == helpers.StatusEnum("importing")
+ self.status == helpers.StatusEnum("importing")
@property
def repeatable(self):
@@ -496,7 +495,7 @@ class Build(db.Model, helpers.Serializer):
"""
Extract source package name from source name or url
"""
- src_rpm_name = self.pkgs.split("/")[-1]
+ src_rpm_name = self.pkgs.split("/")[-1]
if src_rpm_name.endswith(".src.rpm"):
return src_rpm_name[:-8]
else:
diff --git a/frontend/coprs_frontend/tests/test_logic/test_builds_logic.py
b/frontend/coprs_frontend/tests/test_logic/test_builds_logic.py
index 6676186..f5d9e08 100644
--- a/frontend/coprs_frontend/tests/test_logic/test_builds_logic.py
+++ b/frontend/coprs_frontend/tests/test_logic/test_builds_logic.py
@@ -122,19 +122,61 @@ class TestBuildsLogic(CoprsTestCase):
data = BuildsLogic.get_build_task_queue().all()
assert len(data) == 0
-
def test_delete_build_exceptions(
self, f_users, f_coprs, f_mock_chroots, f_builds, f_db):
+ for bc in self.b4_bc:
+ bc.status = StatusEnum("succeeded")
+ bc.ended_on = time.time()
+ self.b4.ended_on = time.time()
+ self.u1.admin = False
+
+ self.db.session.add_all(self.b4_bc)
+ self.db.session.add(self.b4)
+ self.db.session.add(self.u1)
self.db.session.commit()
with pytest.raises(InsufficientRightsException):
BuildsLogic.delete_build(self.u1, self.b4)
- self.b1_bc[0].status = "running"
+ self.b1_bc[0].status = StatusEnum("running")
self.db.session.add(self.b1_bc[0])
self.db.session.commit()
with pytest.raises(ActionInProgressException):
BuildsLogic.delete_build(self.u1, self.b1)
+ def test_delete_build_as_admin(
+ self, f_users, f_coprs, f_mock_chroots, f_builds, f_db):
+
+ self.b4.pkgs = "http://example.com/copr-keygen-1.58-1.fc20.src.rpm"
+ self.b4.ended_on = time.time()
+ for bc in self.b4_bc:
+ bc.status = StatusEnum("succeeded")
+ bc.ended_on = time.time()
+
+ self.u1.admin = True
+
+ self.db.session.add_all(self.b4_bc)
+ self.db.session.add(self.b4)
+ self.db.session.add(self.u1)
+ self.db.session.commit()
+
+ expected_chroots_to_delete = set()
+ for bchroot in self.b4_bc:
+ expected_chroots_to_delete.add(bchroot.name)
+
+ assert len(ActionsLogic.get_many().all()) == 0
+ BuildsLogic.delete_build(self.u1, self.b4)
+ self.db.session.commit()
+
+ assert len(ActionsLogic.get_many().all()) == 1
+ action = ActionsLogic.get_many().one()
+ delete_data = json.loads(action.data)
+ assert "chroots" in delete_data
+ assert "copr-keygen-1.58-1.fc20" ==
delete_data["src_pkg_name"]
+ assert expected_chroots_to_delete == set(delete_data["chroots"])
+
+ with pytest.raises(NoResultFound):
+ BuildsLogic.get(self.b4.id).one()
+
def test_delete_build_basic(
self, f_users, f_coprs, f_mock_chroots, f_builds, f_db):
diff --git a/frontend/coprs_frontend/tests/test_views/test_coprs_ns/test_coprs_general.py
b/frontend/coprs_frontend/tests/test_views/test_coprs_ns/test_coprs_general.py
index 6edc99b..da3f778 100644
--- a/frontend/coprs_frontend/tests/test_views/test_coprs_ns/test_coprs_general.py
+++ b/frontend/coprs_frontend/tests/test_views/test_coprs_ns/test_coprs_general.py
@@ -246,25 +246,6 @@ class TestCoprDetail(CoprsTestCase):
assert '<td>{0}'.format(self.u3.name) in r.data
assert '<td>{0}'.format(self.u1.name) in r.data
- @TransactionDecorator("u1")
- def test_copr_detail_allows_asking_for_permissions(self, f_users, f_coprs,
- f_copr_permissions, f_db):
-
- self.db.session.add_all([self.u2, self.c2])
- r = self.test_client.get(
- "/coprs/{0}/{1}/permissions/".format(self.u2.name, self.c2.name))
- # u1 is approved builder, check for that
- assert "/permissions_applier_change/" in r.data
-
- @TransactionDecorator("u2")
- def test_copr_detail_doesnt_allow_owner_to_ask_for_permissions(
- self, f_users, f_coprs, f_db):
-
- self.db.session.add_all([self.u2, self.c2])
- r = self.test_client.get(
- "/coprs/{0}/{1}/permissions/".format(self.u2.name, self.c2.name))
- assert "/permissions_applier_change/" not in r.data
-
@TransactionDecorator("u2")
def test_detail_has_correct_permissions_form(self, f_users, f_coprs,
f_copr_permissions, f_db):