# HG changeset patch # User Marcin Kuzminski # Date 2019-06-06 18:24:25 # Node ID b8214661704160ac1216e47c9e3e21697cd1f789 # Parent bf088ff3c5df5f3253c4f2506ac75d5212190ea1 tests: fix cache problems after empty repo check change. diff --git a/rhodecode/api/tests/test_get_repo.py b/rhodecode/api/tests/test_get_repo.py --- a/rhodecode/api/tests/test_get_repo.py +++ b/rhodecode/api/tests/test_get_repo.py @@ -44,6 +44,7 @@ class TestGetRepo(object): self, apikey_attr, expect_secrets, cache_param, backend, user_util): repo = backend.create_repo() + repo_id = repo.repo_id usr = UserModel().get_by_username(TEST_USER_ADMIN_LOGIN) group = user_util.create_user_group(members=[usr]) user_util.grant_user_group_permission_to_repo( @@ -64,6 +65,8 @@ class TestGetRepo(object): permissions = expected_permissions(repo) followers = [] + + repo = RepoModel().get(repo_id) for user in repo.followers: followers.append(user.user.get_api_data( include_secrets=expect_secrets)) @@ -84,6 +87,7 @@ class TestGetRepo(object): # TODO: Depending on which tests are running before this one, we # start with a different number of permissions in the database. repo = RepoModel().get_by_repo_name(backend.repo_name) + repo_id = repo.repo_id permission_count = len(repo.repo_to_perm) RepoModel().grant_user_permission(repo=backend.repo_name, @@ -102,6 +106,8 @@ class TestGetRepo(object): permissions = expected_permissions(repo) followers = [] + + repo = RepoModel().get(repo_id) for user in repo.followers: followers.append(user.user.get_api_data()) diff --git a/rhodecode/model/db.py b/rhodecode/model/db.py --- a/rhodecode/model/db.py +++ b/rhodecode/model/db.py @@ -2465,8 +2465,7 @@ class Repository(Base, BaseModel): else: instance = get_instance_cached(*args) - log.debug( - 'Repo instance fetched in %.3fs', inv_context_manager.compute_time) + log.debug('Repo instance fetched in %.3fs', inv_context_manager.compute_time) return instance def _get_instance(self, cache=True, config=None): diff --git a/rhodecode/model/pull_request.py b/rhodecode/model/pull_request.py --- a/rhodecode/model/pull_request.py +++ b/rhodecode/model/pull_request.py @@ -683,6 +683,8 @@ class PullRequestModel(BaseModel): # source repo source_repo = pull_request.source_repo.scm_instance() + source_repo.count() # cache rebuild + try: source_commit = source_repo.get_commit(commit_id=source_ref_name) except CommitDoesNotExistError: @@ -696,6 +698,8 @@ class PullRequestModel(BaseModel): # target repo target_repo = pull_request.target_repo.scm_instance() + target_repo.count() # cache rebuild + try: target_commit = target_repo.get_commit(commit_id=target_ref_name) except CommitDoesNotExistError: @@ -1337,6 +1341,8 @@ class PullRequestModel(BaseModel): name_or_id = reference.name else: name_or_id = reference.commit_id + + vcs_repository.count() # cache rebuild refreshed_commit = vcs_repository.get_commit(name_or_id) refreshed_reference = Reference( reference.type, reference.name, refreshed_commit.raw_id) diff --git a/rhodecode/tests/plugin.py b/rhodecode/tests/plugin.py --- a/rhodecode/tests/plugin.py +++ b/rhodecode/tests/plugin.py @@ -631,7 +631,9 @@ class Backend(object): commits = commits or [ {'message': 'Commit %s of %s' % (x, self.repo_name)} for x in range(number_of_commits)] - self._add_commits_to_repo(repo.scm_instance(), commits) + vcs_repo = repo.scm_instance() + vcs_repo.count() + self._add_commits_to_repo(vcs_repo, commits) if heads: self.pull_heads(repo, heads)