tests: fix cache problems after empty repo check change.

This commit is contained in:
Marcin Kuzminski 2019-06-06 20:24:25 +02:00
parent 51233c5f83
commit 23584a96ce
4 changed files with 16 additions and 3 deletions

View file

@ -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())

View file

@ -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):

View file

@ -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)

View file

@ -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)