You signed in with another tab or window. Reload to refresh your session.You signed out in another tab or window. Reload to refresh your session.You switched accounts on another tab or window. Reload to refresh your session.Dismiss alert
{{ message }}
Repository navigation
Create a means of easily deleting mirror site committee account data #1643
Create tool to delete all committee account data on the load test mirror site that is faster than replacing the database.
Note: this must be a restricted_command so that it cannot be run on PROD. Additional safeguards to only allow this running on the load test site if it’s an easy win (like adding a required environment variable for it to be run)
changed the title [-]Add bulk delete command, backup committee administrator for locust[/-][+]Create a means of deleting only committee accounts created for load testing[/+]on Oct 23, 2025
Todd Lees commented: Recording original body for posterity
{quote}* New bulk delete load testing committee data command - all committees where committee administrator and only user is [test@test.com|mailto:test@test.com]. Note that locally this means you’ll need to spin up fresh to run e2e tests and local manual testing with the data. Delete user too.
Creating backup administrator, adding it to committees? Will need to delete it at the end as well….unless you want to add yourself to be able to check the data when [login.gov|http://login.gov/] is turned back on?
This got messy - here’s a branch to demonstrate. [https://github.com/fecgov/fecfile-web-api/compare/feature/2384-locust-changes...feature/2384-locust-changes-with-delete?expand=1|https://github.com/fecgov/fecfile-web-api/compare/feature/2384-locust-changes...feature/2384-locust-changes-with-delete?expand=1|smart-link]
We should probably isolate bulk created committees so we don’t inadvertently delete user-created committee accounts.{quote}
changed the title [-]Create a means of deleting only committee accounts created for load testing[/-][+][E2E] Create a means of deleting only committee accounts created for load testing[/+]on Nov 21, 2025
changed the title [-][E2E] Create a means of deleting only committee accounts created for load testing[/-][+]Create a means of deleting only committee accounts created for load testing[/+]on Nov 21, 2025
changed the title [-]Create a means of deleting only committee accounts created for load testing[/-][+]Create a means of easily deleting mirror site committee account data[/+]on Jan 12, 2026
Activity
[-]Add bulk delete command, backup committee administrator for locust[/-][+]Create a means of deleting only committee accounts created for load testing[/+]exalate-issue-sync commentedon Oct 23, 2025
Todd Lees commented: Recording original body for posterity
{quote}* New bulk delete load testing committee data command - all committees where committee administrator and only user is [test@test.com|mailto:test@test.com]. Note that locally this means you’ll need to spin up fresh to run e2e tests and local manual testing with the data. Delete user too.
This got messy - here’s a branch to demonstrate. [https://github.com/fecgov/fecfile-web-api/compare/feature/2384-locust-changes...feature/2384-locust-changes-with-delete?expand=1|https://github.com/fecgov/fecfile-web-api/compare/feature/2384-locust-changes...feature/2384-locust-changes-with-delete?expand=1|smart-link]
We should probably isolate bulk created committees so we don’t inadvertently delete user-created committee accounts.{quote}
[-]Create a means of deleting only committee accounts created for load testing[/-][+][E2E] Create a means of deleting only committee accounts created for load testing[/+][-][E2E] Create a means of deleting only committee accounts created for load testing[/-][+]Create a means of deleting only committee accounts created for load testing[/+][-]Create a means of deleting only committee accounts created for load testing[/-][+]Create a means of easily deleting mirror site committee account data[/+]exalate-issue-sync commentedon Sep 9, 2026
Dan Fowlkes commented: Logs everything deleted like:
{noformat}...
{"event": "Schedule.B Transaction: 04e8825e-beb0-4a3f-84a8-88ad3fd36941 (ACBAB8718D8EC1B83BF4) was deleted", "pathname": "/home/vcap/app/django-backend/fecfiler/transactions/signals.py", "lineno": 35, "level": "info"}
{"event": "Schedule.B Transaction: 04b93ae1-b880-44a5-bf16-34a790e110b6 (023BB7E53221D433B9A4) was deleted", "pathname": "/home/vcap/app/django-backend/fecfiler/transactions/signals.py", "lineno": 35, "level": "info"}
{"event": "Schedule.A Transaction: 0463e579-a32f-47a4-b5b7-cbae3601729f (B68AB15C7E407C505EA6) was deleted", "pathname": "/home/vcap/app/django-backend/fecfiler/transactions/signals.py", "lineno": 35, "level": "info"}
{"event": "Schedule.A Transaction: 0452d777-f67d-41c3-b3a4-0fdd3d3042e0 (AE4A9AB8846199F0C47F) was deleted", "pathname": "/home/vcap/app/django-backend/fecfiler/transactions/signals.py", "lineno": 35, "level": "info"}
{"event": "Schedule.B Transaction: 036c7b7d-5c2d-4409-b3e5-d3d8a78392d1 (A5028E52F9D236140015) was deleted", "pathname": "/home/vcap/app/django-backend/fecfiler/transactions/signals.py", "lineno": 35, "level": "info"}
{"event": "Schedule.B Transaction: 0330e2ed-f1b6-4ff3-ac58-f0ba947c1237 (B720AA41E3FE59B9FB61) was deleted", "pathname": "/home/vcap/app/django-backend/fecfiler/transactions/signals.py", "lineno": 35, "level": "info"}
{"event": "Schedule.B Transaction: 0286ab7e-71ff-43ee-8417-3396b3ddd392 (338A817D6E27E9A5F243) was deleted", "pathname": "/home/vcap/app/django-backend/fecfiler/transactions/signals.py", "lineno": 35, "level": "info"}
{"event": "Schedule.A Transaction: 0216d384-31e0-49f4-a151-96bf13d20a54 (D965B835DE8517F28E23) was deleted", "pathname": "/home/vcap/app/django-backend/fecfiler/transactions/signals.py", "lineno": 35, "level": "info"}
{"event": "Schedule.A Transaction: 020c9312-e053-4e57-a5f6-3e855afc3b70 (D4A98EB8DDEEDDD6D4BE) was deleted", "pathname": "/home/vcap/app/django-backend/fecfiler/transactions/signals.py", "lineno": 35, "level": "info"}
{"event": "Schedule.B Transaction: 00e10791-f6ee-4785-8bd0-f891b290fcf1 (FAC4B16EEA35E4724FCF) was deleted", "pathname": "/home/vcap/app/django-backend/fecfiler/transactions/signals.py", "lineno": 35, "level": "info"}
{"event": "Schedule.A Transaction: 00a01e5d-1ae9-4642-8a99-5e02661b3389 (13228465D5B5FDED5426) was deleted", "pathname": "/home/vcap/app/django-backend/fecfiler/transactions/signals.py", "lineno": 35, "level": "info"}
{"contact_id": "UUID('fde63b05-1bcd-4e37-8f53-330772e5fb4a')", "event": "Contact deleted", "pathname": "/home/vcap/app/django-backend/fecfiler/contacts/signals.py", "lineno": 32, "level": "info"}
{"contact_id": "UUID('f8ffa511-b7e1-41de-900c-efe3261a38be')", "event": "Contact deleted", "pathname": "/home/vcap/app/django-backend/fecfiler/contacts/signals.py", "lineno": 32, "level": "info"}
{"contact_id": "UUID('f7f4636b-4636-41ea-8d60-251ae5482125')", "event": "Contact deleted", "pathname": "/home/vcap/app/django-backend/fecfiler/contacts/signals.py", "lineno": 32, "level": "info"}
{"contact_id": "UUID('e7938635-c62b-4217-9f52-1e0a1bc579f0')", "event": "Contact deleted", "pathname": "/home/vcap/app/django-backend/fecfiler/contacts/signals.py", "lineno": 32, "level": "info"}
{"contact_id": "UUID('e534dcad-74aa-485e-bd70-8e19777e5da0')", "event": "Contact deleted", "pathname": "/home/vcap/app/django-backend/fecfiler/contacts/signals.py", "lineno": 32, "level": "info"}
{"contact_id": "UUID('e529ef17-d7c0-49c1-ba1e-af53b20b61b1')", "event": "Contact deleted", "pathname": "/home/vcap/app/django-backend/fecfiler/contacts/signals.py", "lineno": 32, "level": "info"}
{"contact_id": "UUID('e151c120-a450-4b85-919b-68d3ead6b479')", "event": "Contact deleted", "pathname": "/home/vcap/app/django-backend/fecfiler/contacts/signals.py", "lineno": 32, "level": "info"}
{"contact_id": "UUID('dcd2ef44-da79-45df-af04-c4916523c329')", "event": "Contact deleted", "pathname": "/home/vcap/app/django-backend/fecfiler/contacts/signals.py", "lineno": 32, "level": "info"}
{"contact_id": "UUID('dbc77714-071e-4dc9-a63b-0aebf6411689')", "event": "Contact deleted", "pathname": "/home/vcap/app/django-backend/fecfiler/contacts/signals.py", "lineno": 32, "level": "info"}
{"contact_id": "UUID('d522ca73-ecfc-4dec-9eb4-28f35b873cb8')", "event": "Contact deleted", "pathname": "/home/vcap/app/django-backend/fecfiler/contacts/signals.py", "lineno": 32, "level": "info"}
{"contact_id": "UUID('d3ab4d1c-68be-4850-8d6b-041dc2d5734a')", "event": "Contact deleted", "pathname": "/home/vcap/app/django-backend/fecfiler/contacts/signals.py", "lineno": 32, "level": "info"}
{"contact_id": "UUID('d33fa580-0b14-49c4-ba08-6d0e21a168e3')", "event": "Contact deleted", "pathname": "/home/vcap/app/django-backend/fecfiler/contacts/signals.py", "lineno": 32, "level": "info"}
{"contact_id": "UUID('ceba4f4c-dfcb-4081-a6be-81d738f60145')", "event": "Contact deleted", "pathname": "/home/vcap/app/django-backend/fecfiler/contacts/signals.py", "lineno": 32, "level": "info"}
{"contact_id": "UUID('cdd90dbf-5b57-4e82-b606-a7731e55c5a0')", "event": "Contact deleted", "pathname": "/home/vcap/app/django-backend/fecfiler/contacts/signals.py", "lineno": 32, "level": "info"}
{"contact_id": "UUID('cbbb030b-6616-48b7-9dac-207586bc94aa')", "event": "Contact deleted", "pathname": "/home/vcap/app/django-backend/fecfiler/contacts/signals.py", "lineno": 32, "level": "info"}
{"contact_id": "UUID('c7b04e88-e4ac-4228-a471-0dd9dac7104e')", "event": "Contact deleted", "pathname": "/home/vcap/app/django-backend/fecfiler/contacts/signals.py", "lineno": 32, "level": "info"}
{"contact_id": "UUID('c686e8c1-fa86-43ee-8b45-bf2611319180')", "event": "Contact deleted", "pathname": "/home/vcap/app/django-backend/fecfiler/contacts/signals.py", "lineno": 32, "level": "info"}
{"contact_id": "UUID('be2d09c7-387e-4984-bcff-90c15b848d25')", "event": "Contact deleted", "pathname": "/home/vcap/app/django-backend/fecfiler/contacts/signals.py", "lineno": 32, "level": "info"}
...{noformat}
exalate-issue-sync commentedon Sep 16, 2026
Todd Lees commented: tests in comments below
exalate-issue-sync commentedon Sep 17, 2026
Shelly Wise commented: No QA needed on this ticket per DEV.
Moved to Stage Ready.
exalate-issue-sync commentedon Sep 25, 2026
Automation for Jira commented: Sprint accepted by FEC on date of this comment.