Project

Profile

Help

Task #6963

Add a function for cleaning up database between migration plugin tests

Added by dkliban@redhat.com 6 months ago. Updated about 2 months ago.

Status:
CLOSED - CURRENTRELEASE
Priority:
High
Assignee:
Sprint/Milestone:
Start date:
Due date:
% Done:

100%

Estimated time:
Platform Release:
Groomed:
Yes
Sprint Candidate:
No
Tags:
Sprint:
Sprint 79
Quarter:

Description

Problem

The migration plugin tests need to be able to clean up the Pulp 3 database at the end of most tests.

Solution

A new function needs to be written that is going to remove data from all the tables that are involved in the migration. This function needs to load a list of tables by looking at all the available models from the pulpcore app config. SQL code should be generated to delete everything from each of the tables associated with each of the models.

We can probably reuse a lot of the code from the Django flush command: https://github.com/django/django/blob/master/django/core/management/commands/flush.py#L27

Rejected solution

Using django reset_db requires all connections to the db being closed, it means that pulp workers needs to be down. It seems not time effective to that (stop services, clean db, run migrations,start services) for every test or every group of tests.

Associated revisions

Revision 4ec9a1b3 View on GitHub
Added by ttereshc 4 months ago

Add a teardown util which removes all data from pulp db.

Run it after each existing test.

closes #6963 https://pulp.plan.io/issues/6963

Revision 4ec9a1b3 View on GitHub
Added by ttereshc 4 months ago

Add a teardown util which removes all data from pulp db.

Run it after each existing test.

closes #6963 https://pulp.plan.io/issues/6963

Revision 4ec9a1b3 View on GitHub
Added by ttereshc 4 months ago

Add a teardown util which removes all data from pulp db.

Run it after each existing test.

closes #6963 https://pulp.plan.io/issues/6963

History

#1 Updated by dkliban@redhat.com 6 months ago

  • Description updated (diff)

#2 Updated by ttereshc 6 months ago

  • Description updated (diff)
  • Groomed changed from No to Yes
  • Sprint set to Sprint 75

#3 Updated by ttereshc 6 months ago

  • Sprint/Milestone set to 0.2.0

#4 Updated by rchan 5 months ago

  • Sprint changed from Sprint 75 to Sprint 76

#5 Updated by ttereshc 5 months ago

  • Priority changed from Normal to High

#6 Updated by rchan 5 months ago

  • Sprint changed from Sprint 76 to Sprint 77

#7 Updated by ttereshc 4 months ago

  • Status changed from NEW to ASSIGNED
  • Sprint changed from Sprint 77 to Sprint 78

#8 Updated by ipanova@redhat.com 4 months ago

  • Assignee set to ttereshc

#9 Updated by rchan 4 months ago

  • Sprint changed from Sprint 78 to Sprint 79

#10 Updated by ttereshc 4 months ago

  • Status changed from ASSIGNED to MODIFIED
  • % Done changed from 0 to 100

#11 Updated by ttereshc 4 months ago

  • Sprint/Milestone deleted (0.2.0)

#12 Updated by ttereshc 3 months ago

  • Sprint/Milestone set to 0.3.0

#13 Updated by ttereshc about 2 months ago

  • Status changed from MODIFIED to CLOSED - CURRENTRELEASE

Please register to edit this issue

Also available in: Atom PDF