Project

Profile

Help

Story #8454

Updated by bmbouter 9 months 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.

Back