[copr] master: Add a new testcase for chroots, couple of fixes for the fixtures (6020ac3)

bkabrda at fedoraproject.org bkabrda at fedoraproject.org
Tue Jan 15 11:06:45 UTC 2013


Repository : http://git.fedorahosted.org/cgit/copr.git

On branch  : master

>---------------------------------------------------------------

commit 6020ac369859abb7477cfa69b80122cbba062d2b
Author: Bohuslav Kabrda <bkabrda at redhat.com>
Date:   Tue Jan 15 08:35:16 2013 +0100

    Add a new testcase for chroots, couple of fixes for the fixtures


>---------------------------------------------------------------

 coprs_frontend/tests/coprs_test_case.py            |   17 ++++++++++-------
 .../tests/test_views/test_coprs_ns/test_general.py |   15 +++++++++++++++
 2 files changed, 25 insertions(+), 7 deletions(-)

diff --git a/coprs_frontend/tests/coprs_test_case.py b/coprs_frontend/tests/coprs_test_case.py
index bae7b73..d711c7f 100644
--- a/coprs_frontend/tests/coprs_test_case.py
+++ b/coprs_frontend/tests/coprs_test_case.py
@@ -54,10 +54,10 @@ class CoprsTestCase(object):
 
     @pytest.fixture
     def f_mock_chroots(self):
-        self.mc1 = models.MockChroot(os_release='fedora', os_version='18', arch='x86_64')
-        self.mc2 = models.MockChroot(os_release='fedora', os_version='17', arch='x86_64')
-        self.mc3 = models.MockChroot(os_release='fedora', os_version='17', arch='i386')
-        self.mc4 = models.MockChroot(os_release='fedora', os_version='rawhide', arch='i386')
+        self.mc1 = models.MockChroot(os_release='fedora', os_version='18', arch='x86_64', is_active=True)
+        self.mc2 = models.MockChroot(os_release='fedora', os_version='17', arch='x86_64', is_active=True)
+        self.mc3 = models.MockChroot(os_release='fedora', os_version='17', arch='i386', is_active=True)
+        self.mc4 = models.MockChroot(os_release='fedora', os_version='rawhide', arch='i386', is_active=True)
 
         cc1 = models.CoprChroot()
         cc1.mock_chroot = self.mc1
@@ -66,13 +66,16 @@ class CoprsTestCase(object):
         cc2 = models.CoprChroot()
         cc2.mock_chroot = self.mc2
         cc3 = models.CoprChroot()
-        cc3.mock_chroot = self.m3
+        cc3.mock_chroot = self.mc3
         self.c2.copr_chroots.append(cc2)
         self.c2.copr_chroots.append(cc3)
 
-        cc4 = models.CoprChroots()
+        cc4 = models.CoprChroot()
         cc4.mock_chroot = self.mc4
-        self.c4.copr_chroots.append(cc4)
+        self.c3.copr_chroots.append(cc4)
+
+        self.db.session.add_all([self.mc1, self.mc2, self.mc3, self.mc4])
+        self.db.session.commit()
 
     @pytest.fixture
     def f_builds(self):
diff --git a/coprs_frontend/tests/test_views/test_coprs_ns/test_general.py b/coprs_frontend/tests/test_views/test_coprs_ns/test_general.py
index ac87e44..931e70c 100644
--- a/coprs_frontend/tests/test_views/test_coprs_ns/test_general.py
+++ b/coprs_frontend/tests/test_views/test_coprs_ns/test_general.py
@@ -232,6 +232,21 @@ class TestCoprUpdate(CoprsTestCase):
                        follow_redirects = True)
             assert 'Copr was updated successfully' in r.data
 
+    def test_update_multiple_chroots(self, f_users, f_coprs, f_copr_permissions, f_mock_chroots):
+        with self.tc as c:
+            with c.session_transaction() as s:
+                s['openid'] = self.u1.openid_name
+
+            self.db.session.add_all([self.u1, self.c1, self.mc2, self.mc3])
+            r = c.post('/coprs/detail/{0}/{1}/update/'.format(self.u1.name, self.c1.name),
+                       data = {'name': self.c1.name, self.mc2.chroot_name: 'y', self.mc3.chroot_name: 'y', 'id': self.c1.id},
+                       follow_redirects = True)
+            self.db.session.add_all([self.mc1, self.mc2, self.mc3])
+            assert 'Copr was updated successfully' in r.data
+            assert self.mc2.chroot_name in r.data
+            assert self.mc3.chroot_name in r.data
+            assert self.mc1.chroot_name not in r.data
+
 
 class TestCoprApplyForPermissions(CoprsTestCase):
     def test_apply(self, f_users, f_coprs):



More information about the copr-devel mailing list