changeset 6366:c77888faf2aa

tests: avoid test_pullrequests keeping dead sqlalchemy repository instance around outside transaction The previous behaviour happened to work but is fragile when things change - such as migrating to TG2.
author Mads Kiilerich <mads@kiilerich.com>
date Mon, 19 Dec 2016 02:52:01 +0100
parents 4964ecd82e3b
children b936b1c3d575
files kallithea/tests/functional/test_pullrequests.py
diffstat 1 files changed, 19 insertions(+), 17 deletions(-) [+]
line wrap: on
line diff
--- a/kallithea/tests/functional/test_pullrequests.py	Mon Dec 19 02:52:01 2016 +0100
+++ b/kallithea/tests/functional/test_pullrequests.py	Mon Dec 19 02:52:01 2016 +0100
@@ -208,7 +208,9 @@
 class TestPullrequestsGetRepoRefs(TestController):
 
     def setup_method(self, method):
-        self.main = fixture.create_repo(u'main', repo_type='hg')
+        self.repo_name = u'main'
+        repo = fixture.create_repo(self.repo_name, repo_type='hg')
+        self.repo_scm_instance = repo.scm_instance
         Session.commit()
         self.c = PullrequestsController()
 
@@ -219,76 +221,76 @@
 
     def test_repo_refs_empty_repo(self):
         # empty repo with no commits, no branches, no bookmarks, just one tag
-        refs, default = self.c._get_repo_refs(self.main.scm_instance)
+        refs, default = self.c._get_repo_refs(self.repo_scm_instance)
         assert default == 'tag:null:0000000000000000000000000000000000000000'
 
     def test_repo_refs_one_commit_no_hints(self):
-        cs0 = fixture.commit_change(self.main.repo_name, filename='file1',
+        cs0 = fixture.commit_change(self.repo_name, filename='file1',
                 content='line1\n', message='commit1', vcs_type='hg',
                 parent=None, newfile=True)
 
-        refs, default = self.c._get_repo_refs(self.main.scm_instance)
+        refs, default = self.c._get_repo_refs(self.repo_scm_instance)
         assert default == 'branch:default:%s' % cs0.raw_id
         assert ([('branch:default:%s' % cs0.raw_id, 'default (current tip)')],
                 'Branches') in refs
 
     def test_repo_refs_one_commit_rev_hint(self):
-        cs0 = fixture.commit_change(self.main.repo_name, filename='file1',
+        cs0 = fixture.commit_change(self.repo_name, filename='file1',
                 content='line1\n', message='commit1', vcs_type='hg',
                 parent=None, newfile=True)
 
-        refs, default = self.c._get_repo_refs(self.main.scm_instance, rev=cs0.raw_id)
+        refs, default = self.c._get_repo_refs(self.repo_scm_instance, rev=cs0.raw_id)
         expected = 'branch:default:%s' % cs0.raw_id
         assert default == expected
         assert ([(expected, 'default (current tip)')], 'Branches') in refs
 
     def test_repo_refs_two_commits_no_hints(self):
-        cs0 = fixture.commit_change(self.main.repo_name, filename='file1',
+        cs0 = fixture.commit_change(self.repo_name, filename='file1',
                 content='line1\n', message='commit1', vcs_type='hg',
                 parent=None, newfile=True)
-        cs1 = fixture.commit_change(self.main.repo_name, filename='file2',
+        cs1 = fixture.commit_change(self.repo_name, filename='file2',
                 content='line2\n', message='commit2', vcs_type='hg',
                 parent=None, newfile=True)
 
-        refs, default = self.c._get_repo_refs(self.main.scm_instance)
+        refs, default = self.c._get_repo_refs(self.repo_scm_instance)
         expected = 'branch:default:%s' % cs1.raw_id
         assert default == expected
         assert ([(expected, 'default (current tip)')], 'Branches') in refs
 
     def test_repo_refs_two_commits_rev_hints(self):
-        cs0 = fixture.commit_change(self.main.repo_name, filename='file1',
+        cs0 = fixture.commit_change(self.repo_name, filename='file1',
                 content='line1\n', message='commit1', vcs_type='hg',
                 parent=None, newfile=True)
-        cs1 = fixture.commit_change(self.main.repo_name, filename='file2',
+        cs1 = fixture.commit_change(self.repo_name, filename='file2',
                 content='line2\n', message='commit2', vcs_type='hg',
                 parent=None, newfile=True)
 
-        refs, default = self.c._get_repo_refs(self.main.scm_instance, rev=cs0.raw_id)
+        refs, default = self.c._get_repo_refs(self.repo_scm_instance, rev=cs0.raw_id)
         expected = 'rev:%s:%s' % (cs0.raw_id, cs0.raw_id)
         assert default == expected
         assert ([(expected, 'Changeset: %s' % cs0.raw_id[0:12])], 'Special') in refs
         assert ([('branch:default:%s' % cs1.raw_id, 'default (current tip)')], 'Branches') in refs
 
-        refs, default = self.c._get_repo_refs(self.main.scm_instance, rev=cs1.raw_id)
+        refs, default = self.c._get_repo_refs(self.repo_scm_instance, rev=cs1.raw_id)
         expected = 'branch:default:%s' % cs1.raw_id
         assert default == expected
         assert ([(expected, 'default (current tip)')], 'Branches') in refs
 
     def test_repo_refs_two_commits_branch_hint(self):
-        cs0 = fixture.commit_change(self.main.repo_name, filename='file1',
+        cs0 = fixture.commit_change(self.repo_name, filename='file1',
                 content='line1\n', message='commit1', vcs_type='hg',
                 parent=None, newfile=True)
-        cs1 = fixture.commit_change(self.main.repo_name, filename='file2',
+        cs1 = fixture.commit_change(self.repo_name, filename='file2',
                 content='line2\n', message='commit2', vcs_type='hg',
                 parent=None, newfile=True)
 
-        refs, default = self.c._get_repo_refs(self.main.scm_instance, branch='default')
+        refs, default = self.c._get_repo_refs(self.repo_scm_instance, branch='default')
         expected = 'branch:default:%s' % cs1.raw_id
         assert default == expected
         assert ([(expected, 'default (current tip)')], 'Branches') in refs
 
     def test_repo_refs_one_branch_no_hints(self):
-        cs0 = fixture.commit_change(self.main.repo_name, filename='file1',
+        cs0 = fixture.commit_change(self.repo_name, filename='file1',
                 content='line1\n', message='commit1', vcs_type='hg',
                 parent=None, newfile=True)
         # TODO