Story #8454
Updated by bmbouter over 3 years ago
## Current State You cannot delete version 0. That is enforced int the code [here](https://github.com/pulp/pulpcore/blob/348c654567067fb24bc13fa5105628433fb911fb/pulpcore/app/viewsets/repository.py#L222-L223). ## Proposal Allow users to be able to delete RepoVersion 0 if it is not the only RepoVersion. Due to the set-differencing data model in Pulp, RepositoryVersions must have at least one RepositoryVerison. ## Implementation 1. The viewset should no longer prevent that RepositoryVersion 0 can be removed 2. A check needs to be added to the Delete Task that if the RepositoryVersion being deleted is the only remaining repository version an error is raised 3. Add tests (see below) ## Add Tests We need a functional test asserting the correctness around removing RepoVersion 0. Something like: 1. Create a repository 2. Put some content in it to create RepoVersion 1 3. Delete RepoVersion 0 4. View the content from RepoVersion 1 again, to ensure the content is still in-tact. We also need a functional test asserting that the only remaining repository version cannot be deleted. 1. Create a Repository 2. Try to delete repository 0 3. Assert the task fails.