Skip to content

Commit

Permalink
Fix repository version listing after version deletion
Browse files Browse the repository at this point in the history
fixes: #9481
fixes: #8798
  • Loading branch information
gerrod3 authored and ipanova committed Jan 10, 2022
1 parent 4d415b0 commit d767beb
Show file tree
Hide file tree
Showing 4 changed files with 10 additions and 1 deletion.
1 change: 1 addition & 0 deletions CHANGES/8798.bugfix
@@ -0,0 +1 @@
Fix content summary showing incorrect count after previous version deletion.
1 change: 1 addition & 0 deletions CHANGES/9481.bugfix
@@ -0,0 +1 @@
Fixed issue with listing repository versions after deleting previous versions.
3 changes: 3 additions & 0 deletions pulpcore/app/models/repository.py
Expand Up @@ -909,6 +909,9 @@ def _squash(self, repo_relations, next_version):
repo_relations.filter(version_added=self).update(version_added=next_version)
repo_relations.filter(version_removed=self).update(version_removed=next_version)

# Update next version's counts as they have been modified
next_version._compute_counts()

def delete(self, **kwargs):
"""
Deletes a RepositoryVersion
Expand Down
Expand Up @@ -357,12 +357,16 @@ def test_delete_last_version(self):

def test_delete_middle_version(self):
"""Delete a middle version."""
index = randint(1, len(self.repo_version_hrefs) - 2)
index = randint(1, len(self.repo_version_hrefs) - 3)
delete_version(self.repo, self.repo_version_hrefs[index])

with self.assertRaises(HTTPError):
get_content(self.repo, self.repo_version_hrefs[index])

# Check added count is updated properly
added = get_added_content_summary(self.repo, self.repo_version_hrefs[index + 1])
self.assertEqual(added["file.file"], 2)

for repo_version_href in self.repo_version_hrefs[index + 1 :]:
artifact_paths = get_artifact_paths(self.repo, repo_version_href)
self.assertIn(self.content[index]["artifact"], artifact_paths)
Expand Down

0 comments on commit d767beb

Please sign in to comment.