Page MenuHomeSoftware Heritage

tests: Reorganize test folders related to django applications
ClosedPublic

Authored by anlambert on Nov 4 2022, 4:07 PM.

Details

Summary

Move tests folder related to a django application from the swh/web/tests
folder into the application folder for commodity of use.

Remove some no longer used test data files.

Diff Detail

Repository
rDWAPPS Web applications
Branch
reorganize-tests
Lint
No Linters Available
Unit
No Unit Test Coverage
Build Status
Buildable 32741
Build 51298: Phabricator diff pipeline on jenkinsJenkins console · Jenkins
Build 51297: arc lint + arc unit

Event Timeline

Build is green

Patch application report for D8815 (id=31761)

Rebasing onto d055e08d8b...

Current branch diff-target is up to date.
Changes applied before test
commit 571d2565f47c1ef96c7a519794ea28edb259c89a
Author: Antoine Lambert <anlambert@softwareheritage.org>
Date:   Fri Nov 4 15:47:44 2022 +0100

    tests: Reorganize test folders related to django applications
    
    Move tests folder related to a django application from the swh/web/tests
    folder into the application folder for commodity of use.
    
    Remove some no longer used test data files.

See https://jenkins.softwareheritage.org/job/DWAPPS/job/tests-on-diff/2115/ for more details.

Build is green

Patch application report for D8815 (id=31780)

Rebasing onto 2fdb0b164b...

Current branch diff-target is up to date.
Changes applied before test
commit be3b72af1110c09c71dc0b6bee07188133cb3cdd
Author: Antoine Lambert <anlambert@softwareheritage.org>
Date:   Fri Nov 4 15:47:44 2022 +0100

    tests: Reorganize test folders related to django applications
    
    Move tests folder related to a django application from the swh/web/tests
    folder into the application folder for commodity of use.
    
    Remove some no longer used test data files.

See https://jenkins.softwareheritage.org/job/DWAPPS/job/tests-on-diff/2121/ for more details.

ardumont added a subscriber: ardumont.

Makes sense.

This revision is now accepted and ready to land.Nov 8 2022, 10:53 AM
anlambert edited the summary of this revision. (Show Details)

Rebase

Build has FAILED

Patch application report for D8815 (id=31800)

Could not rebase; Attempt merge onto d507af4e04...

Updating d507af4e..cdc4651d
Fast-forward
 MANIFEST.in                                        |  6 ++---
 Makefile.local                                     |  2 +-
 cypress/e2e/origin-search.cy.js                    | 26 +++++++++++++++++++++-
 .../tests}/__init__.py                             |  0
 .../tests}/test_api_views.py                       |  0
 .../tests}/test_app.py                             |  0
 .../tests}/test_migration.py                       |  0
 .../tests}/test_models.py                          |  0
 .../tests}/test_views.py                           |  0
 swh/web/{tests/api => api/tests}/__init__.py       |  0
 .../{tests/api => api/tests}/test_api_lookup.py    |  0
 swh/web/{tests/api => api/tests}/test_apidoc.py    |  0
 .../{tests/api => api/tests}/test_apiresponse.py   |  0
 swh/web/{tests/api => api/tests}/test_apiurls.py   |  0
 .../{tests/api => api/tests}/test_throttling.py    |  0
 swh/web/{tests/api => api/tests}/test_utils.py     |  0
 swh/web/{tests/api => api/tests}/views/__init__.py |  0
 .../{tests/api => api/tests}/views/test_content.py |  2 +-
 .../api => api/tests}/views/test_directory.py      |  0
 .../{tests/api => api/tests}/views/test_graph.py   |  0
 .../api => api/tests}/views/test_identifiers.py    |  0
 .../api => api/tests}/views/test_metadata.py       |  2 +-
 .../{tests/api => api/tests}/views/test_origin.py  |  2 +-
 .../{tests/api => api/tests}/views/test_ping.py    |  0
 swh/web/{tests/api => api/tests}/views/test_raw.py |  0
 .../{tests/api => api/tests}/views/test_release.py |  0
 .../api => api/tests}/views/test_revision.py       |  0
 .../api => api/tests}/views/test_snapshot.py       |  0
 .../{tests/api => api/tests}/views/test_stat.py    |  0
 swh/web/{tests/api => api/tests}/views/utils.py    |  0
 .../tests}/__init__.py                             |  0
 .../tests}/test_app.py                             |  0
 .../tests}/test_coverage.py                        |  0
 swh/web/{tests/auth => auth/tests}/__init__.py     |  0
 .../{tests/auth => auth/tests}/test_migrations.py  |  0
 swh/web/{tests/auth => auth/tests}/test_utils.py   |  0
 swh/web/{tests/auth => auth/tests}/test_views.py   |  0
 swh/web/{tests/badges => badges/tests}/__init__.py |  0
 swh/web/{tests/badges => badges/tests}/test_app.py |  0
 .../{tests/badges => badges/tests}/test_badges.py  |  0
 .../{tests/banners => banners/tests}/__init__.py   |  0
 .../{tests/banners => banners/tests}/test_app.py   |  0
 .../banners => banners/tests}/test_fundraising.py  |  0
 swh/web/browse/assets/browse/origin-search.js      |  6 ++---
 swh/web/{tests/browse => browse/tests}/__init__.py |  0
 .../tests}/test_snapshot_context.py                |  0
 .../{tests/browse => browse/tests}/test_utils.py   |  0
 .../browse => browse/tests}/views/__init__.py      |  0
 .../browse => browse/tests}/views/test_content.py  |  0
 .../tests}/views/test_directory.py                 |  0
 .../tests}/views/test_identifiers.py               |  0
 .../browse => browse/tests}/views/test_iframe.py   |  0
 .../browse => browse/tests}/views/test_origin.py   |  0
 .../browse => browse/tests}/views/test_release.py  |  0
 .../browse => browse/tests}/views/test_revision.py |  0
 .../browse => browse/tests}/views/test_snapshot.py |  0
 swh/web/{tests => }/conftest.py                    |  9 ++------
 .../{tests/deposit => deposit/tests}/__init__.py   |  0
 .../{tests/deposit => deposit/tests}/test_app.py   |  0
 .../{tests/deposit => deposit/tests}/test_views.py |  0
 .../tests}/__init__.py                             |  0
 .../tests}/resources/__init__.py                   |  0
 .../tests}/resources/multipart_alternative.eml     |  0
 .../resources/multipart_alternative_html_only.eml  |  0
 .../resources/multipart_alternative_recursive.eml  |  0
 .../resources/multipart_alternative_text_only.eml  |  0
 .../tests}/resources/multipart_mixed.eml           |  0
 .../tests}/resources/multipart_mixed2.eml          |  0
 .../tests}/resources/multipart_mixed_text_only.eml |  0
 .../tests}/resources/multipart_related.eml         |  0
 .../tests}/resources/plaintext.eml                 |  0
 .../tests}/test_management_command.py              |  0
 .../tests}/test_utils.py                           |  2 +-
 .../jslicenses => jslicenses/tests}/__init__.py    |  0
 .../jslicenses => jslicenses/tests}/test_app.py    |  0
 .../tests}/test_jslicenses.py                      |  0
 .../{tests/mailmap => mailmap/tests}/__init__.py   |  0
 .../{tests/mailmap => mailmap/tests}/test_app.py   |  0
 .../mailmap => mailmap/tests}/test_mailmap.py      |  0
 .../mailmap => mailmap/tests}/test_migrations.py   |  0
 .../{tests/metrics => metrics/tests}/__init__.py   |  0
 .../{tests/metrics => metrics/tests}/test_app.py   |  0
 .../metrics => metrics/tests}/test_metrics.py      |  0
 .../tests}/__init__.py                             |  0
 .../swh_workers-*__search                          |  0
 .../tests}/test_app.py                             |  0
 .../tests}/test_django_command.py                  |  0
 .../tests}/test_migrations.py                      |  0
 .../tests}/test_origin_save.py                     |  0
 .../tests}/test_origin_save_admin.py               |  0
 .../tests}/test_origin_save_api.py                 |  0
 .../tests}/test_origin_save_views.py               |  0
 swh/web/save_origin_webhooks/generic_receiver.py   |  2 +-
 .../tests}/__init__.py                             |  0
 .../tests}/data/bitbucket_webhook_payload.json     |  0
 .../tests}/data/gitea_webhook_payload.json         |  0
 .../tests}/data/github_webhook_payload.json        |  0
 .../tests}/data/gitlab_webhook_payload.json        |  0
 .../https_sourceforge.net/rest_p_webhook-test-git  |  0
 .../https_sourceforge.net/rest_p_webhook-test-hg   |  0
 .../https_sourceforge.net/rest_p_webhook-test-svn  |  0
 .../data/sourceforge_webhook_payload_git.json      |  0
 .../data/sourceforge_webhook_payload_hg.json       |  0
 .../data/sourceforge_webhook_payload_svn.json      |  0
 .../tests}/test_app.py                             |  0
 .../tests}/test_bitbucket.py                       |  0
 .../tests}/test_gitea.py                           |  0
 .../tests}/test_github.py                          |  0
 .../tests}/test_gitlab.py                          |  0
 .../tests}/test_sourceforge.py                     |  0
 .../tests}/utils.py                                |  0
 swh/web/tests/data.py                              |  9 ++++++++
 swh/web/tests/helpers.py                           |  4 ++++
 .../deposit/raw-metadata-add-to-origin.xml         | 13 -----------
 .../deposit/raw-metadata-create-origin.xml         | 13 -----------
 .../resources/deposit/raw-metadata-no-swh.xml      |  7 ------
 .../resources/deposit/raw-metadata-provenance.xml  | 14 ------------
 swh/web/{tests/utils => utils/tests}/__init__.py   |  0
 .../{tests/utils => utils/tests}/test_archive.py   |  2 +-
 .../utils => utils/tests}/test_converters.py       |  0
 swh/web/{tests/utils => utils/tests}/test_exc.py   |  0
 .../utils => utils/tests}/test_highlightjs.py      |  0
 .../utils => utils/tests}/test_identifiers.py      |  0
 .../utils => utils/tests}/test_middlewares.py      |  0
 .../utils => utils/tests}/test_origin_visits.py    |  0
 swh/web/{tests/utils => utils/tests}/test_query.py |  0
 .../utils => utils/tests}/test_templatetags.py     |  0
 swh/web/{tests/utils => utils/tests}/test_utils.py |  0
 swh/web/{tests/vault => vault/tests}/__init__.py   |  0
 .../{tests/vault => vault/tests}/test_apiviews.py  |  0
 swh/web/{tests/vault => vault/tests}/test_app.py   |  0
 swh/web/{tests/vault => vault/tests}/test_views.py |  0
 swh/web/{tests/webapp => webapp/tests}/__init__.py |  0
 .../webapp => webapp/tests}/test_templates.py      |  0
 .../{tests/webapp => webapp/tests}/test_views.py   |  0
 135 files changed, 53 insertions(+), 68 deletions(-)
 rename swh/web/{tests/add_forge_now => add_forge_now/tests}/__init__.py (100%)
 rename swh/web/{tests/add_forge_now => add_forge_now/tests}/test_api_views.py (100%)
 rename swh/web/{tests/add_forge_now => add_forge_now/tests}/test_app.py (100%)
 rename swh/web/{tests/add_forge_now => add_forge_now/tests}/test_migration.py (100%)
 rename swh/web/{tests/add_forge_now => add_forge_now/tests}/test_models.py (100%)
 rename swh/web/{tests/add_forge_now => add_forge_now/tests}/test_views.py (100%)
 rename swh/web/{tests/api => api/tests}/__init__.py (100%)
 rename swh/web/{tests/api => api/tests}/test_api_lookup.py (100%)
 rename swh/web/{tests/api => api/tests}/test_apidoc.py (100%)
 rename swh/web/{tests/api => api/tests}/test_apiresponse.py (100%)
 rename swh/web/{tests/api => api/tests}/test_apiurls.py (100%)
 rename swh/web/{tests/api => api/tests}/test_throttling.py (100%)
 rename swh/web/{tests/api => api/tests}/test_utils.py (100%)
 rename swh/web/{tests/api => api/tests}/views/__init__.py (100%)
 rename swh/web/{tests/api => api/tests}/views/test_content.py (99%)
 rename swh/web/{tests/api => api/tests}/views/test_directory.py (100%)
 rename swh/web/{tests/api => api/tests}/views/test_graph.py (100%)
 rename swh/web/{tests/api => api/tests}/views/test_identifiers.py (100%)
 rename swh/web/{tests/api => api/tests}/views/test_metadata.py (99%)
 rename swh/web/{tests/api => api/tests}/views/test_origin.py (99%)
 rename swh/web/{tests/api => api/tests}/views/test_ping.py (100%)
 rename swh/web/{tests/api => api/tests}/views/test_raw.py (100%)
 rename swh/web/{tests/api => api/tests}/views/test_release.py (100%)
 rename swh/web/{tests/api => api/tests}/views/test_revision.py (100%)
 rename swh/web/{tests/api => api/tests}/views/test_snapshot.py (100%)
 rename swh/web/{tests/api => api/tests}/views/test_stat.py (100%)
 rename swh/web/{tests/api => api/tests}/views/utils.py (100%)
 rename swh/web/{tests/archive_coverage => archive_coverage/tests}/__init__.py (100%)
 rename swh/web/{tests/archive_coverage => archive_coverage/tests}/test_app.py (100%)
 rename swh/web/{tests/archive_coverage => archive_coverage/tests}/test_coverage.py (100%)
 rename swh/web/{tests/auth => auth/tests}/__init__.py (100%)
 rename swh/web/{tests/auth => auth/tests}/test_migrations.py (100%)
 rename swh/web/{tests/auth => auth/tests}/test_utils.py (100%)
 rename swh/web/{tests/auth => auth/tests}/test_views.py (100%)
 rename swh/web/{tests/badges => badges/tests}/__init__.py (100%)
 rename swh/web/{tests/badges => badges/tests}/test_app.py (100%)
 rename swh/web/{tests/badges => badges/tests}/test_badges.py (100%)
 rename swh/web/{tests/banners => banners/tests}/__init__.py (100%)
 rename swh/web/{tests/banners => banners/tests}/test_app.py (100%)
 rename swh/web/{tests/banners => banners/tests}/test_fundraising.py (100%)
 rename swh/web/{tests/browse => browse/tests}/__init__.py (100%)
 rename swh/web/{tests/browse => browse/tests}/test_snapshot_context.py (100%)
 rename swh/web/{tests/browse => browse/tests}/test_utils.py (100%)
 rename swh/web/{tests/browse => browse/tests}/views/__init__.py (100%)
 rename swh/web/{tests/browse => browse/tests}/views/test_content.py (100%)
 rename swh/web/{tests/browse => browse/tests}/views/test_directory.py (100%)
 rename swh/web/{tests/browse => browse/tests}/views/test_identifiers.py (100%)
 rename swh/web/{tests/browse => browse/tests}/views/test_iframe.py (100%)
 rename swh/web/{tests/browse => browse/tests}/views/test_origin.py (100%)
 rename swh/web/{tests/browse => browse/tests}/views/test_release.py (100%)
 rename swh/web/{tests/browse => browse/tests}/views/test_revision.py (100%)
 rename swh/web/{tests/browse => browse/tests}/views/test_snapshot.py (100%)
 rename swh/web/{tests => }/conftest.py (99%)
 rename swh/web/{tests/deposit => deposit/tests}/__init__.py (100%)
 rename swh/web/{tests/deposit => deposit/tests}/test_app.py (100%)
 rename swh/web/{tests/deposit => deposit/tests}/test_views.py (100%)
 rename swh/web/{tests/inbound_email => inbound_email/tests}/__init__.py (100%)
 rename swh/web/{tests/inbound_email => inbound_email/tests}/resources/__init__.py (100%)
 rename swh/web/{tests/inbound_email => inbound_email/tests}/resources/multipart_alternative.eml (100%)
 rename swh/web/{tests/inbound_email => inbound_email/tests}/resources/multipart_alternative_html_only.eml (100%)
 rename swh/web/{tests/inbound_email => inbound_email/tests}/resources/multipart_alternative_recursive.eml (100%)
 rename swh/web/{tests/inbound_email => inbound_email/tests}/resources/multipart_alternative_text_only.eml (100%)
 rename swh/web/{tests/inbound_email => inbound_email/tests}/resources/multipart_mixed.eml (100%)
 rename swh/web/{tests/inbound_email => inbound_email/tests}/resources/multipart_mixed2.eml (100%)
 rename swh/web/{tests/inbound_email => inbound_email/tests}/resources/multipart_mixed_text_only.eml (100%)
 rename swh/web/{tests/inbound_email => inbound_email/tests}/resources/multipart_related.eml (100%)
 rename swh/web/{tests/inbound_email => inbound_email/tests}/resources/plaintext.eml (100%)
 rename swh/web/{tests/inbound_email => inbound_email/tests}/test_management_command.py (100%)
 rename swh/web/{tests/inbound_email => inbound_email/tests}/test_utils.py (99%)
 rename swh/web/{tests/jslicenses => jslicenses/tests}/__init__.py (100%)
 rename swh/web/{tests/jslicenses => jslicenses/tests}/test_app.py (100%)
 rename swh/web/{tests/jslicenses => jslicenses/tests}/test_jslicenses.py (100%)
 rename swh/web/{tests/mailmap => mailmap/tests}/__init__.py (100%)
 rename swh/web/{tests/mailmap => mailmap/tests}/test_app.py (100%)
 rename swh/web/{tests/mailmap => mailmap/tests}/test_mailmap.py (100%)
 rename swh/web/{tests/mailmap => mailmap/tests}/test_migrations.py (100%)
 rename swh/web/{tests/metrics => metrics/tests}/__init__.py (100%)
 rename swh/web/{tests/metrics => metrics/tests}/test_app.py (100%)
 rename swh/web/{tests/metrics => metrics/tests}/test_metrics.py (100%)
 rename swh/web/{tests/save_code_now => save_code_now/tests}/__init__.py (100%)
 rename swh/web/{tests/save_code_now => save_code_now/tests}/data/http_esnode1.internal.softwareheritage.org/swh_workers-*__search (100%)
 rename swh/web/{tests/save_code_now => save_code_now/tests}/test_app.py (100%)
 rename swh/web/{tests/save_code_now => save_code_now/tests}/test_django_command.py (100%)
 rename swh/web/{tests/save_code_now => save_code_now/tests}/test_migrations.py (100%)
 rename swh/web/{tests/save_code_now => save_code_now/tests}/test_origin_save.py (100%)
 rename swh/web/{tests/save_code_now => save_code_now/tests}/test_origin_save_admin.py (100%)
 rename swh/web/{tests/save_code_now => save_code_now/tests}/test_origin_save_api.py (100%)
 rename swh/web/{tests/save_code_now => save_code_now/tests}/test_origin_save_views.py (100%)
 rename swh/web/{tests/save_origin_webhooks => save_origin_webhooks/tests}/__init__.py (100%)
 rename swh/web/{tests/save_origin_webhooks => save_origin_webhooks/tests}/data/bitbucket_webhook_payload.json (100%)
 rename swh/web/{tests/save_origin_webhooks => save_origin_webhooks/tests}/data/gitea_webhook_payload.json (100%)
 rename swh/web/{tests/save_origin_webhooks => save_origin_webhooks/tests}/data/github_webhook_payload.json (100%)
 rename swh/web/{tests/save_origin_webhooks => save_origin_webhooks/tests}/data/gitlab_webhook_payload.json (100%)
 rename swh/web/{tests/save_origin_webhooks => save_origin_webhooks/tests}/data/https_sourceforge.net/rest_p_webhook-test-git (100%)
 rename swh/web/{tests/save_origin_webhooks => save_origin_webhooks/tests}/data/https_sourceforge.net/rest_p_webhook-test-hg (100%)
 rename swh/web/{tests/save_origin_webhooks => save_origin_webhooks/tests}/data/https_sourceforge.net/rest_p_webhook-test-svn (100%)
 rename swh/web/{tests/save_origin_webhooks => save_origin_webhooks/tests}/data/sourceforge_webhook_payload_git.json (100%)
 rename swh/web/{tests/save_origin_webhooks => save_origin_webhooks/tests}/data/sourceforge_webhook_payload_hg.json (100%)
 rename swh/web/{tests/save_origin_webhooks => save_origin_webhooks/tests}/data/sourceforge_webhook_payload_svn.json (100%)
 rename swh/web/{tests/save_origin_webhooks => save_origin_webhooks/tests}/test_app.py (100%)
 rename swh/web/{tests/save_origin_webhooks => save_origin_webhooks/tests}/test_bitbucket.py (100%)
 rename swh/web/{tests/save_origin_webhooks => save_origin_webhooks/tests}/test_gitea.py (100%)
 rename swh/web/{tests/save_origin_webhooks => save_origin_webhooks/tests}/test_github.py (100%)
 rename swh/web/{tests/save_origin_webhooks => save_origin_webhooks/tests}/test_gitlab.py (100%)
 rename swh/web/{tests/save_origin_webhooks => save_origin_webhooks/tests}/test_sourceforge.py (100%)
 rename swh/web/{tests/save_origin_webhooks => save_origin_webhooks/tests}/utils.py (100%)
 delete mode 100644 swh/web/tests/resources/deposit/raw-metadata-add-to-origin.xml
 delete mode 100644 swh/web/tests/resources/deposit/raw-metadata-create-origin.xml
 delete mode 100644 swh/web/tests/resources/deposit/raw-metadata-no-swh.xml
 delete mode 100644 swh/web/tests/resources/deposit/raw-metadata-provenance.xml
 rename swh/web/{tests/utils => utils/tests}/__init__.py (100%)
 rename swh/web/{tests/utils => utils/tests}/test_archive.py (99%)
 rename swh/web/{tests/utils => utils/tests}/test_converters.py (100%)
 rename swh/web/{tests/utils => utils/tests}/test_exc.py (100%)
 rename swh/web/{tests/utils => utils/tests}/test_highlightjs.py (100%)
 rename swh/web/{tests/utils => utils/tests}/test_identifiers.py (100%)
 rename swh/web/{tests/utils => utils/tests}/test_middlewares.py (100%)
 rename swh/web/{tests/utils => utils/tests}/test_origin_visits.py (100%)
 rename swh/web/{tests/utils => utils/tests}/test_query.py (100%)
 rename swh/web/{tests/utils => utils/tests}/test_templatetags.py (100%)
 rename swh/web/{tests/utils => utils/tests}/test_utils.py (100%)
 rename swh/web/{tests/vault => vault/tests}/__init__.py (100%)
 rename swh/web/{tests/vault => vault/tests}/test_apiviews.py (100%)
 rename swh/web/{tests/vault => vault/tests}/test_app.py (100%)
 rename swh/web/{tests/vault => vault/tests}/test_views.py (100%)
 rename swh/web/{tests/webapp => webapp/tests}/__init__.py (100%)
 rename swh/web/{tests/webapp => webapp/tests}/test_templates.py (100%)
 rename swh/web/{tests/webapp => webapp/tests}/test_views.py (100%)
Changes applied before test
commit cdc4651de69a602c6a09640ea7bda132d3a8a255
Author: Antoine Lambert <anlambert@softwareheritage.org>
Date:   Fri Nov 4 15:47:44 2022 +0100

    tests: Reorganize test folders related to django applications
    
    Move tests folder related to a django application from the swh/web/tests
    folder into the application folder for commodity of use.
    
    Remove some no longer used test data files.

commit 4cc9676a54cc368394c05b7f19c92ea072f8041e
Author: Antoine Lambert <anlambert@softwareheritage.org>
Date:   Tue Nov 8 11:41:47 2022 +0100

    browse/origin-search: Ensure to encode origin URL argument in XHR calls
    
    In the origins search Web UI, XHRs are sent client side to get the visit
    type and status for each found origin. However origin URLs used as Web
    API URL arguments were not encoded which could result in request errors
    when an origin URL contain a '?' character for instance.
    
    So ensure to encode those origin URLs used as Web API URL arguments.

commit d7ac190db7086212dcdde8445df2be717a54e1b9
Author: Antoine Lambert <anlambert@softwareheritage.org>
Date:   Tue Nov 8 11:02:31 2022 +0100

    save_origin_webhooks: Fix tests when building debian buster package
    
    Content type sent by django test client on debian buster is equal to
    'application/json; charset=None' so tests were failing.

Link to build: https://jenkins.softwareheritage.org/job/DWAPPS/job/tests-on-diff/2124/
See console output for more information: https://jenkins.softwareheritage.org/job/DWAPPS/job/tests-on-diff/2124/console

Build has FAILED

Patch application report for D8815 (id=31800)

Could not rebase; Attempt merge onto d507af4e04...

Updating d507af4e..cdc4651d
Fast-forward
 MANIFEST.in                                        |  6 ++---
 Makefile.local                                     |  2 +-
 cypress/e2e/origin-search.cy.js                    | 26 +++++++++++++++++++++-
 .../tests}/__init__.py                             |  0
 .../tests}/test_api_views.py                       |  0
 .../tests}/test_app.py                             |  0
 .../tests}/test_migration.py                       |  0
 .../tests}/test_models.py                          |  0
 .../tests}/test_views.py                           |  0
 swh/web/{tests/api => api/tests}/__init__.py       |  0
 .../{tests/api => api/tests}/test_api_lookup.py    |  0
 swh/web/{tests/api => api/tests}/test_apidoc.py    |  0
 .../{tests/api => api/tests}/test_apiresponse.py   |  0
 swh/web/{tests/api => api/tests}/test_apiurls.py   |  0
 .../{tests/api => api/tests}/test_throttling.py    |  0
 swh/web/{tests/api => api/tests}/test_utils.py     |  0
 swh/web/{tests/api => api/tests}/views/__init__.py |  0
 .../{tests/api => api/tests}/views/test_content.py |  2 +-
 .../api => api/tests}/views/test_directory.py      |  0
 .../{tests/api => api/tests}/views/test_graph.py   |  0
 .../api => api/tests}/views/test_identifiers.py    |  0
 .../api => api/tests}/views/test_metadata.py       |  2 +-
 .../{tests/api => api/tests}/views/test_origin.py  |  2 +-
 .../{tests/api => api/tests}/views/test_ping.py    |  0
 swh/web/{tests/api => api/tests}/views/test_raw.py |  0
 .../{tests/api => api/tests}/views/test_release.py |  0
 .../api => api/tests}/views/test_revision.py       |  0
 .../api => api/tests}/views/test_snapshot.py       |  0
 .../{tests/api => api/tests}/views/test_stat.py    |  0
 swh/web/{tests/api => api/tests}/views/utils.py    |  0
 .../tests}/__init__.py                             |  0
 .../tests}/test_app.py                             |  0
 .../tests}/test_coverage.py                        |  0
 swh/web/{tests/auth => auth/tests}/__init__.py     |  0
 .../{tests/auth => auth/tests}/test_migrations.py  |  0
 swh/web/{tests/auth => auth/tests}/test_utils.py   |  0
 swh/web/{tests/auth => auth/tests}/test_views.py   |  0
 swh/web/{tests/badges => badges/tests}/__init__.py |  0
 swh/web/{tests/badges => badges/tests}/test_app.py |  0
 .../{tests/badges => badges/tests}/test_badges.py  |  0
 .../{tests/banners => banners/tests}/__init__.py   |  0
 .../{tests/banners => banners/tests}/test_app.py   |  0
 .../banners => banners/tests}/test_fundraising.py  |  0
 swh/web/browse/assets/browse/origin-search.js      |  6 ++---
 swh/web/{tests/browse => browse/tests}/__init__.py |  0
 .../tests}/test_snapshot_context.py                |  0
 .../{tests/browse => browse/tests}/test_utils.py   |  0
 .../browse => browse/tests}/views/__init__.py      |  0
 .../browse => browse/tests}/views/test_content.py  |  0
 .../tests}/views/test_directory.py                 |  0
 .../tests}/views/test_identifiers.py               |  0
 .../browse => browse/tests}/views/test_iframe.py   |  0
 .../browse => browse/tests}/views/test_origin.py   |  0
 .../browse => browse/tests}/views/test_release.py  |  0
 .../browse => browse/tests}/views/test_revision.py |  0
 .../browse => browse/tests}/views/test_snapshot.py |  0
 swh/web/{tests => }/conftest.py                    |  9 ++------
 .../{tests/deposit => deposit/tests}/__init__.py   |  0
 .../{tests/deposit => deposit/tests}/test_app.py   |  0
 .../{tests/deposit => deposit/tests}/test_views.py |  0
 .../tests}/__init__.py                             |  0
 .../tests}/resources/__init__.py                   |  0
 .../tests}/resources/multipart_alternative.eml     |  0
 .../resources/multipart_alternative_html_only.eml  |  0
 .../resources/multipart_alternative_recursive.eml  |  0
 .../resources/multipart_alternative_text_only.eml  |  0
 .../tests}/resources/multipart_mixed.eml           |  0
 .../tests}/resources/multipart_mixed2.eml          |  0
 .../tests}/resources/multipart_mixed_text_only.eml |  0
 .../tests}/resources/multipart_related.eml         |  0
 .../tests}/resources/plaintext.eml                 |  0
 .../tests}/test_management_command.py              |  0
 .../tests}/test_utils.py                           |  2 +-
 .../jslicenses => jslicenses/tests}/__init__.py    |  0
 .../jslicenses => jslicenses/tests}/test_app.py    |  0
 .../tests}/test_jslicenses.py                      |  0
 .../{tests/mailmap => mailmap/tests}/__init__.py   |  0
 .../{tests/mailmap => mailmap/tests}/test_app.py   |  0
 .../mailmap => mailmap/tests}/test_mailmap.py      |  0
 .../mailmap => mailmap/tests}/test_migrations.py   |  0
 .../{tests/metrics => metrics/tests}/__init__.py   |  0
 .../{tests/metrics => metrics/tests}/test_app.py   |  0
 .../metrics => metrics/tests}/test_metrics.py      |  0
 .../tests}/__init__.py                             |  0
 .../swh_workers-*__search                          |  0
 .../tests}/test_app.py                             |  0
 .../tests}/test_django_command.py                  |  0
 .../tests}/test_migrations.py                      |  0
 .../tests}/test_origin_save.py                     |  0
 .../tests}/test_origin_save_admin.py               |  0
 .../tests}/test_origin_save_api.py                 |  0
 .../tests}/test_origin_save_views.py               |  0
 swh/web/save_origin_webhooks/generic_receiver.py   |  2 +-
 .../tests}/__init__.py                             |  0
 .../tests}/data/bitbucket_webhook_payload.json     |  0
 .../tests}/data/gitea_webhook_payload.json         |  0
 .../tests}/data/github_webhook_payload.json        |  0
 .../tests}/data/gitlab_webhook_payload.json        |  0
 .../https_sourceforge.net/rest_p_webhook-test-git  |  0
 .../https_sourceforge.net/rest_p_webhook-test-hg   |  0
 .../https_sourceforge.net/rest_p_webhook-test-svn  |  0
 .../data/sourceforge_webhook_payload_git.json      |  0
 .../data/sourceforge_webhook_payload_hg.json       |  0
 .../data/sourceforge_webhook_payload_svn.json      |  0
 .../tests}/test_app.py                             |  0
 .../tests}/test_bitbucket.py                       |  0
 .../tests}/test_gitea.py                           |  0
 .../tests}/test_github.py                          |  0
 .../tests}/test_gitlab.py                          |  0
 .../tests}/test_sourceforge.py                     |  0
 .../tests}/utils.py                                |  0
 swh/web/tests/data.py                              |  9 ++++++++
 swh/web/tests/helpers.py                           |  4 ++++
 .../deposit/raw-metadata-add-to-origin.xml         | 13 -----------
 .../deposit/raw-metadata-create-origin.xml         | 13 -----------
 .../resources/deposit/raw-metadata-no-swh.xml      |  7 ------
 .../resources/deposit/raw-metadata-provenance.xml  | 14 ------------
 swh/web/{tests/utils => utils/tests}/__init__.py   |  0
 .../{tests/utils => utils/tests}/test_archive.py   |  2 +-
 .../utils => utils/tests}/test_converters.py       |  0
 swh/web/{tests/utils => utils/tests}/test_exc.py   |  0
 .../utils => utils/tests}/test_highlightjs.py      |  0
 .../utils => utils/tests}/test_identifiers.py      |  0
 .../utils => utils/tests}/test_middlewares.py      |  0
 .../utils => utils/tests}/test_origin_visits.py    |  0
 swh/web/{tests/utils => utils/tests}/test_query.py |  0
 .../utils => utils/tests}/test_templatetags.py     |  0
 swh/web/{tests/utils => utils/tests}/test_utils.py |  0
 swh/web/{tests/vault => vault/tests}/__init__.py   |  0
 .../{tests/vault => vault/tests}/test_apiviews.py  |  0
 swh/web/{tests/vault => vault/tests}/test_app.py   |  0
 swh/web/{tests/vault => vault/tests}/test_views.py |  0
 swh/web/{tests/webapp => webapp/tests}/__init__.py |  0
 .../webapp => webapp/tests}/test_templates.py      |  0
 .../{tests/webapp => webapp/tests}/test_views.py   |  0
 135 files changed, 53 insertions(+), 68 deletions(-)
 rename swh/web/{tests/add_forge_now => add_forge_now/tests}/__init__.py (100%)
 rename swh/web/{tests/add_forge_now => add_forge_now/tests}/test_api_views.py (100%)
 rename swh/web/{tests/add_forge_now => add_forge_now/tests}/test_app.py (100%)
 rename swh/web/{tests/add_forge_now => add_forge_now/tests}/test_migration.py (100%)
 rename swh/web/{tests/add_forge_now => add_forge_now/tests}/test_models.py (100%)
 rename swh/web/{tests/add_forge_now => add_forge_now/tests}/test_views.py (100%)
 rename swh/web/{tests/api => api/tests}/__init__.py (100%)
 rename swh/web/{tests/api => api/tests}/test_api_lookup.py (100%)
 rename swh/web/{tests/api => api/tests}/test_apidoc.py (100%)
 rename swh/web/{tests/api => api/tests}/test_apiresponse.py (100%)
 rename swh/web/{tests/api => api/tests}/test_apiurls.py (100%)
 rename swh/web/{tests/api => api/tests}/test_throttling.py (100%)
 rename swh/web/{tests/api => api/tests}/test_utils.py (100%)
 rename swh/web/{tests/api => api/tests}/views/__init__.py (100%)
 rename swh/web/{tests/api => api/tests}/views/test_content.py (99%)
 rename swh/web/{tests/api => api/tests}/views/test_directory.py (100%)
 rename swh/web/{tests/api => api/tests}/views/test_graph.py (100%)
 rename swh/web/{tests/api => api/tests}/views/test_identifiers.py (100%)
 rename swh/web/{tests/api => api/tests}/views/test_metadata.py (99%)
 rename swh/web/{tests/api => api/tests}/views/test_origin.py (99%)
 rename swh/web/{tests/api => api/tests}/views/test_ping.py (100%)
 rename swh/web/{tests/api => api/tests}/views/test_raw.py (100%)
 rename swh/web/{tests/api => api/tests}/views/test_release.py (100%)
 rename swh/web/{tests/api => api/tests}/views/test_revision.py (100%)
 rename swh/web/{tests/api => api/tests}/views/test_snapshot.py (100%)
 rename swh/web/{tests/api => api/tests}/views/test_stat.py (100%)
 rename swh/web/{tests/api => api/tests}/views/utils.py (100%)
 rename swh/web/{tests/archive_coverage => archive_coverage/tests}/__init__.py (100%)
 rename swh/web/{tests/archive_coverage => archive_coverage/tests}/test_app.py (100%)
 rename swh/web/{tests/archive_coverage => archive_coverage/tests}/test_coverage.py (100%)
 rename swh/web/{tests/auth => auth/tests}/__init__.py (100%)
 rename swh/web/{tests/auth => auth/tests}/test_migrations.py (100%)
 rename swh/web/{tests/auth => auth/tests}/test_utils.py (100%)
 rename swh/web/{tests/auth => auth/tests}/test_views.py (100%)
 rename swh/web/{tests/badges => badges/tests}/__init__.py (100%)
 rename swh/web/{tests/badges => badges/tests}/test_app.py (100%)
 rename swh/web/{tests/badges => badges/tests}/test_badges.py (100%)
 rename swh/web/{tests/banners => banners/tests}/__init__.py (100%)
 rename swh/web/{tests/banners => banners/tests}/test_app.py (100%)
 rename swh/web/{tests/banners => banners/tests}/test_fundraising.py (100%)
 rename swh/web/{tests/browse => browse/tests}/__init__.py (100%)
 rename swh/web/{tests/browse => browse/tests}/test_snapshot_context.py (100%)
 rename swh/web/{tests/browse => browse/tests}/test_utils.py (100%)
 rename swh/web/{tests/browse => browse/tests}/views/__init__.py (100%)
 rename swh/web/{tests/browse => browse/tests}/views/test_content.py (100%)
 rename swh/web/{tests/browse => browse/tests}/views/test_directory.py (100%)
 rename swh/web/{tests/browse => browse/tests}/views/test_identifiers.py (100%)
 rename swh/web/{tests/browse => browse/tests}/views/test_iframe.py (100%)
 rename swh/web/{tests/browse => browse/tests}/views/test_origin.py (100%)
 rename swh/web/{tests/browse => browse/tests}/views/test_release.py (100%)
 rename swh/web/{tests/browse => browse/tests}/views/test_revision.py (100%)
 rename swh/web/{tests/browse => browse/tests}/views/test_snapshot.py (100%)
 rename swh/web/{tests => }/conftest.py (99%)
 rename swh/web/{tests/deposit => deposit/tests}/__init__.py (100%)
 rename swh/web/{tests/deposit => deposit/tests}/test_app.py (100%)
 rename swh/web/{tests/deposit => deposit/tests}/test_views.py (100%)
 rename swh/web/{tests/inbound_email => inbound_email/tests}/__init__.py (100%)
 rename swh/web/{tests/inbound_email => inbound_email/tests}/resources/__init__.py (100%)
 rename swh/web/{tests/inbound_email => inbound_email/tests}/resources/multipart_alternative.eml (100%)
 rename swh/web/{tests/inbound_email => inbound_email/tests}/resources/multipart_alternative_html_only.eml (100%)
 rename swh/web/{tests/inbound_email => inbound_email/tests}/resources/multipart_alternative_recursive.eml (100%)
 rename swh/web/{tests/inbound_email => inbound_email/tests}/resources/multipart_alternative_text_only.eml (100%)
 rename swh/web/{tests/inbound_email => inbound_email/tests}/resources/multipart_mixed.eml (100%)
 rename swh/web/{tests/inbound_email => inbound_email/tests}/resources/multipart_mixed2.eml (100%)
 rename swh/web/{tests/inbound_email => inbound_email/tests}/resources/multipart_mixed_text_only.eml (100%)
 rename swh/web/{tests/inbound_email => inbound_email/tests}/resources/multipart_related.eml (100%)
 rename swh/web/{tests/inbound_email => inbound_email/tests}/resources/plaintext.eml (100%)
 rename swh/web/{tests/inbound_email => inbound_email/tests}/test_management_command.py (100%)
 rename swh/web/{tests/inbound_email => inbound_email/tests}/test_utils.py (99%)
 rename swh/web/{tests/jslicenses => jslicenses/tests}/__init__.py (100%)
 rename swh/web/{tests/jslicenses => jslicenses/tests}/test_app.py (100%)
 rename swh/web/{tests/jslicenses => jslicenses/tests}/test_jslicenses.py (100%)
 rename swh/web/{tests/mailmap => mailmap/tests}/__init__.py (100%)
 rename swh/web/{tests/mailmap => mailmap/tests}/test_app.py (100%)
 rename swh/web/{tests/mailmap => mailmap/tests}/test_mailmap.py (100%)
 rename swh/web/{tests/mailmap => mailmap/tests}/test_migrations.py (100%)
 rename swh/web/{tests/metrics => metrics/tests}/__init__.py (100%)
 rename swh/web/{tests/metrics => metrics/tests}/test_app.py (100%)
 rename swh/web/{tests/metrics => metrics/tests}/test_metrics.py (100%)
 rename swh/web/{tests/save_code_now => save_code_now/tests}/__init__.py (100%)
 rename swh/web/{tests/save_code_now => save_code_now/tests}/data/http_esnode1.internal.softwareheritage.org/swh_workers-*__search (100%)
 rename swh/web/{tests/save_code_now => save_code_now/tests}/test_app.py (100%)
 rename swh/web/{tests/save_code_now => save_code_now/tests}/test_django_command.py (100%)
 rename swh/web/{tests/save_code_now => save_code_now/tests}/test_migrations.py (100%)
 rename swh/web/{tests/save_code_now => save_code_now/tests}/test_origin_save.py (100%)
 rename swh/web/{tests/save_code_now => save_code_now/tests}/test_origin_save_admin.py (100%)
 rename swh/web/{tests/save_code_now => save_code_now/tests}/test_origin_save_api.py (100%)
 rename swh/web/{tests/save_code_now => save_code_now/tests}/test_origin_save_views.py (100%)
 rename swh/web/{tests/save_origin_webhooks => save_origin_webhooks/tests}/__init__.py (100%)
 rename swh/web/{tests/save_origin_webhooks => save_origin_webhooks/tests}/data/bitbucket_webhook_payload.json (100%)
 rename swh/web/{tests/save_origin_webhooks => save_origin_webhooks/tests}/data/gitea_webhook_payload.json (100%)
 rename swh/web/{tests/save_origin_webhooks => save_origin_webhooks/tests}/data/github_webhook_payload.json (100%)
 rename swh/web/{tests/save_origin_webhooks => save_origin_webhooks/tests}/data/gitlab_webhook_payload.json (100%)
 rename swh/web/{tests/save_origin_webhooks => save_origin_webhooks/tests}/data/https_sourceforge.net/rest_p_webhook-test-git (100%)
 rename swh/web/{tests/save_origin_webhooks => save_origin_webhooks/tests}/data/https_sourceforge.net/rest_p_webhook-test-hg (100%)
 rename swh/web/{tests/save_origin_webhooks => save_origin_webhooks/tests}/data/https_sourceforge.net/rest_p_webhook-test-svn (100%)
 rename swh/web/{tests/save_origin_webhooks => save_origin_webhooks/tests}/data/sourceforge_webhook_payload_git.json (100%)
 rename swh/web/{tests/save_origin_webhooks => save_origin_webhooks/tests}/data/sourceforge_webhook_payload_hg.json (100%)
 rename swh/web/{tests/save_origin_webhooks => save_origin_webhooks/tests}/data/sourceforge_webhook_payload_svn.json (100%)
 rename swh/web/{tests/save_origin_webhooks => save_origin_webhooks/tests}/test_app.py (100%)
 rename swh/web/{tests/save_origin_webhooks => save_origin_webhooks/tests}/test_bitbucket.py (100%)
 rename swh/web/{tests/save_origin_webhooks => save_origin_webhooks/tests}/test_gitea.py (100%)
 rename swh/web/{tests/save_origin_webhooks => save_origin_webhooks/tests}/test_github.py (100%)
 rename swh/web/{tests/save_origin_webhooks => save_origin_webhooks/tests}/test_gitlab.py (100%)
 rename swh/web/{tests/save_origin_webhooks => save_origin_webhooks/tests}/test_sourceforge.py (100%)
 rename swh/web/{tests/save_origin_webhooks => save_origin_webhooks/tests}/utils.py (100%)
 delete mode 100644 swh/web/tests/resources/deposit/raw-metadata-add-to-origin.xml
 delete mode 100644 swh/web/tests/resources/deposit/raw-metadata-create-origin.xml
 delete mode 100644 swh/web/tests/resources/deposit/raw-metadata-no-swh.xml
 delete mode 100644 swh/web/tests/resources/deposit/raw-metadata-provenance.xml
 rename swh/web/{tests/utils => utils/tests}/__init__.py (100%)
 rename swh/web/{tests/utils => utils/tests}/test_archive.py (99%)
 rename swh/web/{tests/utils => utils/tests}/test_converters.py (100%)
 rename swh/web/{tests/utils => utils/tests}/test_exc.py (100%)
 rename swh/web/{tests/utils => utils/tests}/test_highlightjs.py (100%)
 rename swh/web/{tests/utils => utils/tests}/test_identifiers.py (100%)
 rename swh/web/{tests/utils => utils/tests}/test_middlewares.py (100%)
 rename swh/web/{tests/utils => utils/tests}/test_origin_visits.py (100%)
 rename swh/web/{tests/utils => utils/tests}/test_query.py (100%)
 rename swh/web/{tests/utils => utils/tests}/test_templatetags.py (100%)
 rename swh/web/{tests/utils => utils/tests}/test_utils.py (100%)
 rename swh/web/{tests/vault => vault/tests}/__init__.py (100%)
 rename swh/web/{tests/vault => vault/tests}/test_apiviews.py (100%)
 rename swh/web/{tests/vault => vault/tests}/test_app.py (100%)
 rename swh/web/{tests/vault => vault/tests}/test_views.py (100%)
 rename swh/web/{tests/webapp => webapp/tests}/__init__.py (100%)
 rename swh/web/{tests/webapp => webapp/tests}/test_templates.py (100%)
 rename swh/web/{tests/webapp => webapp/tests}/test_views.py (100%)
Changes applied before test
commit cdc4651de69a602c6a09640ea7bda132d3a8a255
Author: Antoine Lambert <anlambert@softwareheritage.org>
Date:   Fri Nov 4 15:47:44 2022 +0100

    tests: Reorganize test folders related to django applications
    
    Move tests folder related to a django application from the swh/web/tests
    folder into the application folder for commodity of use.
    
    Remove some no longer used test data files.

commit 4cc9676a54cc368394c05b7f19c92ea072f8041e
Author: Antoine Lambert <anlambert@softwareheritage.org>
Date:   Tue Nov 8 11:41:47 2022 +0100

    browse/origin-search: Ensure to encode origin URL argument in XHR calls
    
    In the origins search Web UI, XHRs are sent client side to get the visit
    type and status for each found origin. However origin URLs used as Web
    API URL arguments were not encoded which could result in request errors
    when an origin URL contain a '?' character for instance.
    
    So ensure to encode those origin URLs used as Web API URL arguments.

commit d7ac190db7086212dcdde8445df2be717a54e1b9
Author: Antoine Lambert <anlambert@softwareheritage.org>
Date:   Tue Nov 8 11:02:31 2022 +0100

    save_origin_webhooks: Fix tests when building debian buster package
    
    Content type sent by django test client on debian buster is equal to
    'application/json; charset=None' so tests were failing.

Link to build: https://jenkins.softwareheritage.org/job/DWAPPS/job/tests-on-diff/2125/
See console output for more information: https://jenkins.softwareheritage.org/job/DWAPPS/job/tests-on-diff/2125/console

Build is green

Patch application report for D8815 (id=31800)

Could not rebase; Attempt merge onto d507af4e04...

Updating d507af4e..cdc4651d
Fast-forward
 MANIFEST.in                                        |  6 ++---
 Makefile.local                                     |  2 +-
 cypress/e2e/origin-search.cy.js                    | 26 +++++++++++++++++++++-
 .../tests}/__init__.py                             |  0
 .../tests}/test_api_views.py                       |  0
 .../tests}/test_app.py                             |  0
 .../tests}/test_migration.py                       |  0
 .../tests}/test_models.py                          |  0
 .../tests}/test_views.py                           |  0
 swh/web/{tests/api => api/tests}/__init__.py       |  0
 .../{tests/api => api/tests}/test_api_lookup.py    |  0
 swh/web/{tests/api => api/tests}/test_apidoc.py    |  0
 .../{tests/api => api/tests}/test_apiresponse.py   |  0
 swh/web/{tests/api => api/tests}/test_apiurls.py   |  0
 .../{tests/api => api/tests}/test_throttling.py    |  0
 swh/web/{tests/api => api/tests}/test_utils.py     |  0
 swh/web/{tests/api => api/tests}/views/__init__.py |  0
 .../{tests/api => api/tests}/views/test_content.py |  2 +-
 .../api => api/tests}/views/test_directory.py      |  0
 .../{tests/api => api/tests}/views/test_graph.py   |  0
 .../api => api/tests}/views/test_identifiers.py    |  0
 .../api => api/tests}/views/test_metadata.py       |  2 +-
 .../{tests/api => api/tests}/views/test_origin.py  |  2 +-
 .../{tests/api => api/tests}/views/test_ping.py    |  0
 swh/web/{tests/api => api/tests}/views/test_raw.py |  0
 .../{tests/api => api/tests}/views/test_release.py |  0
 .../api => api/tests}/views/test_revision.py       |  0
 .../api => api/tests}/views/test_snapshot.py       |  0
 .../{tests/api => api/tests}/views/test_stat.py    |  0
 swh/web/{tests/api => api/tests}/views/utils.py    |  0
 .../tests}/__init__.py                             |  0
 .../tests}/test_app.py                             |  0
 .../tests}/test_coverage.py                        |  0
 swh/web/{tests/auth => auth/tests}/__init__.py     |  0
 .../{tests/auth => auth/tests}/test_migrations.py  |  0
 swh/web/{tests/auth => auth/tests}/test_utils.py   |  0
 swh/web/{tests/auth => auth/tests}/test_views.py   |  0
 swh/web/{tests/badges => badges/tests}/__init__.py |  0
 swh/web/{tests/badges => badges/tests}/test_app.py |  0
 .../{tests/badges => badges/tests}/test_badges.py  |  0
 .../{tests/banners => banners/tests}/__init__.py   |  0
 .../{tests/banners => banners/tests}/test_app.py   |  0
 .../banners => banners/tests}/test_fundraising.py  |  0
 swh/web/browse/assets/browse/origin-search.js      |  6 ++---
 swh/web/{tests/browse => browse/tests}/__init__.py |  0
 .../tests}/test_snapshot_context.py                |  0
 .../{tests/browse => browse/tests}/test_utils.py   |  0
 .../browse => browse/tests}/views/__init__.py      |  0
 .../browse => browse/tests}/views/test_content.py  |  0
 .../tests}/views/test_directory.py                 |  0
 .../tests}/views/test_identifiers.py               |  0
 .../browse => browse/tests}/views/test_iframe.py   |  0
 .../browse => browse/tests}/views/test_origin.py   |  0
 .../browse => browse/tests}/views/test_release.py  |  0
 .../browse => browse/tests}/views/test_revision.py |  0
 .../browse => browse/tests}/views/test_snapshot.py |  0
 swh/web/{tests => }/conftest.py                    |  9 ++------
 .../{tests/deposit => deposit/tests}/__init__.py   |  0
 .../{tests/deposit => deposit/tests}/test_app.py   |  0
 .../{tests/deposit => deposit/tests}/test_views.py |  0
 .../tests}/__init__.py                             |  0
 .../tests}/resources/__init__.py                   |  0
 .../tests}/resources/multipart_alternative.eml     |  0
 .../resources/multipart_alternative_html_only.eml  |  0
 .../resources/multipart_alternative_recursive.eml  |  0
 .../resources/multipart_alternative_text_only.eml  |  0
 .../tests}/resources/multipart_mixed.eml           |  0
 .../tests}/resources/multipart_mixed2.eml          |  0
 .../tests}/resources/multipart_mixed_text_only.eml |  0
 .../tests}/resources/multipart_related.eml         |  0
 .../tests}/resources/plaintext.eml                 |  0
 .../tests}/test_management_command.py              |  0
 .../tests}/test_utils.py                           |  2 +-
 .../jslicenses => jslicenses/tests}/__init__.py    |  0
 .../jslicenses => jslicenses/tests}/test_app.py    |  0
 .../tests}/test_jslicenses.py                      |  0
 .../{tests/mailmap => mailmap/tests}/__init__.py   |  0
 .../{tests/mailmap => mailmap/tests}/test_app.py   |  0
 .../mailmap => mailmap/tests}/test_mailmap.py      |  0
 .../mailmap => mailmap/tests}/test_migrations.py   |  0
 .../{tests/metrics => metrics/tests}/__init__.py   |  0
 .../{tests/metrics => metrics/tests}/test_app.py   |  0
 .../metrics => metrics/tests}/test_metrics.py      |  0
 .../tests}/__init__.py                             |  0
 .../swh_workers-*__search                          |  0
 .../tests}/test_app.py                             |  0
 .../tests}/test_django_command.py                  |  0
 .../tests}/test_migrations.py                      |  0
 .../tests}/test_origin_save.py                     |  0
 .../tests}/test_origin_save_admin.py               |  0
 .../tests}/test_origin_save_api.py                 |  0
 .../tests}/test_origin_save_views.py               |  0
 swh/web/save_origin_webhooks/generic_receiver.py   |  2 +-
 .../tests}/__init__.py                             |  0
 .../tests}/data/bitbucket_webhook_payload.json     |  0
 .../tests}/data/gitea_webhook_payload.json         |  0
 .../tests}/data/github_webhook_payload.json        |  0
 .../tests}/data/gitlab_webhook_payload.json        |  0
 .../https_sourceforge.net/rest_p_webhook-test-git  |  0
 .../https_sourceforge.net/rest_p_webhook-test-hg   |  0
 .../https_sourceforge.net/rest_p_webhook-test-svn  |  0
 .../data/sourceforge_webhook_payload_git.json      |  0
 .../data/sourceforge_webhook_payload_hg.json       |  0
 .../data/sourceforge_webhook_payload_svn.json      |  0
 .../tests}/test_app.py                             |  0
 .../tests}/test_bitbucket.py                       |  0
 .../tests}/test_gitea.py                           |  0
 .../tests}/test_github.py                          |  0
 .../tests}/test_gitlab.py                          |  0
 .../tests}/test_sourceforge.py                     |  0
 .../tests}/utils.py                                |  0
 swh/web/tests/data.py                              |  9 ++++++++
 swh/web/tests/helpers.py                           |  4 ++++
 .../deposit/raw-metadata-add-to-origin.xml         | 13 -----------
 .../deposit/raw-metadata-create-origin.xml         | 13 -----------
 .../resources/deposit/raw-metadata-no-swh.xml      |  7 ------
 .../resources/deposit/raw-metadata-provenance.xml  | 14 ------------
 swh/web/{tests/utils => utils/tests}/__init__.py   |  0
 .../{tests/utils => utils/tests}/test_archive.py   |  2 +-
 .../utils => utils/tests}/test_converters.py       |  0
 swh/web/{tests/utils => utils/tests}/test_exc.py   |  0
 .../utils => utils/tests}/test_highlightjs.py      |  0
 .../utils => utils/tests}/test_identifiers.py      |  0
 .../utils => utils/tests}/test_middlewares.py      |  0
 .../utils => utils/tests}/test_origin_visits.py    |  0
 swh/web/{tests/utils => utils/tests}/test_query.py |  0
 .../utils => utils/tests}/test_templatetags.py     |  0
 swh/web/{tests/utils => utils/tests}/test_utils.py |  0
 swh/web/{tests/vault => vault/tests}/__init__.py   |  0
 .../{tests/vault => vault/tests}/test_apiviews.py  |  0
 swh/web/{tests/vault => vault/tests}/test_app.py   |  0
 swh/web/{tests/vault => vault/tests}/test_views.py |  0
 swh/web/{tests/webapp => webapp/tests}/__init__.py |  0
 .../webapp => webapp/tests}/test_templates.py      |  0
 .../{tests/webapp => webapp/tests}/test_views.py   |  0
 135 files changed, 53 insertions(+), 68 deletions(-)
 rename swh/web/{tests/add_forge_now => add_forge_now/tests}/__init__.py (100%)
 rename swh/web/{tests/add_forge_now => add_forge_now/tests}/test_api_views.py (100%)
 rename swh/web/{tests/add_forge_now => add_forge_now/tests}/test_app.py (100%)
 rename swh/web/{tests/add_forge_now => add_forge_now/tests}/test_migration.py (100%)
 rename swh/web/{tests/add_forge_now => add_forge_now/tests}/test_models.py (100%)
 rename swh/web/{tests/add_forge_now => add_forge_now/tests}/test_views.py (100%)
 rename swh/web/{tests/api => api/tests}/__init__.py (100%)
 rename swh/web/{tests/api => api/tests}/test_api_lookup.py (100%)
 rename swh/web/{tests/api => api/tests}/test_apidoc.py (100%)
 rename swh/web/{tests/api => api/tests}/test_apiresponse.py (100%)
 rename swh/web/{tests/api => api/tests}/test_apiurls.py (100%)
 rename swh/web/{tests/api => api/tests}/test_throttling.py (100%)
 rename swh/web/{tests/api => api/tests}/test_utils.py (100%)
 rename swh/web/{tests/api => api/tests}/views/__init__.py (100%)
 rename swh/web/{tests/api => api/tests}/views/test_content.py (99%)
 rename swh/web/{tests/api => api/tests}/views/test_directory.py (100%)
 rename swh/web/{tests/api => api/tests}/views/test_graph.py (100%)
 rename swh/web/{tests/api => api/tests}/views/test_identifiers.py (100%)
 rename swh/web/{tests/api => api/tests}/views/test_metadata.py (99%)
 rename swh/web/{tests/api => api/tests}/views/test_origin.py (99%)
 rename swh/web/{tests/api => api/tests}/views/test_ping.py (100%)
 rename swh/web/{tests/api => api/tests}/views/test_raw.py (100%)
 rename swh/web/{tests/api => api/tests}/views/test_release.py (100%)
 rename swh/web/{tests/api => api/tests}/views/test_revision.py (100%)
 rename swh/web/{tests/api => api/tests}/views/test_snapshot.py (100%)
 rename swh/web/{tests/api => api/tests}/views/test_stat.py (100%)
 rename swh/web/{tests/api => api/tests}/views/utils.py (100%)
 rename swh/web/{tests/archive_coverage => archive_coverage/tests}/__init__.py (100%)
 rename swh/web/{tests/archive_coverage => archive_coverage/tests}/test_app.py (100%)
 rename swh/web/{tests/archive_coverage => archive_coverage/tests}/test_coverage.py (100%)
 rename swh/web/{tests/auth => auth/tests}/__init__.py (100%)
 rename swh/web/{tests/auth => auth/tests}/test_migrations.py (100%)
 rename swh/web/{tests/auth => auth/tests}/test_utils.py (100%)
 rename swh/web/{tests/auth => auth/tests}/test_views.py (100%)
 rename swh/web/{tests/badges => badges/tests}/__init__.py (100%)
 rename swh/web/{tests/badges => badges/tests}/test_app.py (100%)
 rename swh/web/{tests/badges => badges/tests}/test_badges.py (100%)
 rename swh/web/{tests/banners => banners/tests}/__init__.py (100%)
 rename swh/web/{tests/banners => banners/tests}/test_app.py (100%)
 rename swh/web/{tests/banners => banners/tests}/test_fundraising.py (100%)
 rename swh/web/{tests/browse => browse/tests}/__init__.py (100%)
 rename swh/web/{tests/browse => browse/tests}/test_snapshot_context.py (100%)
 rename swh/web/{tests/browse => browse/tests}/test_utils.py (100%)
 rename swh/web/{tests/browse => browse/tests}/views/__init__.py (100%)
 rename swh/web/{tests/browse => browse/tests}/views/test_content.py (100%)
 rename swh/web/{tests/browse => browse/tests}/views/test_directory.py (100%)
 rename swh/web/{tests/browse => browse/tests}/views/test_identifiers.py (100%)
 rename swh/web/{tests/browse => browse/tests}/views/test_iframe.py (100%)
 rename swh/web/{tests/browse => browse/tests}/views/test_origin.py (100%)
 rename swh/web/{tests/browse => browse/tests}/views/test_release.py (100%)
 rename swh/web/{tests/browse => browse/tests}/views/test_revision.py (100%)
 rename swh/web/{tests/browse => browse/tests}/views/test_snapshot.py (100%)
 rename swh/web/{tests => }/conftest.py (99%)
 rename swh/web/{tests/deposit => deposit/tests}/__init__.py (100%)
 rename swh/web/{tests/deposit => deposit/tests}/test_app.py (100%)
 rename swh/web/{tests/deposit => deposit/tests}/test_views.py (100%)
 rename swh/web/{tests/inbound_email => inbound_email/tests}/__init__.py (100%)
 rename swh/web/{tests/inbound_email => inbound_email/tests}/resources/__init__.py (100%)
 rename swh/web/{tests/inbound_email => inbound_email/tests}/resources/multipart_alternative.eml (100%)
 rename swh/web/{tests/inbound_email => inbound_email/tests}/resources/multipart_alternative_html_only.eml (100%)
 rename swh/web/{tests/inbound_email => inbound_email/tests}/resources/multipart_alternative_recursive.eml (100%)
 rename swh/web/{tests/inbound_email => inbound_email/tests}/resources/multipart_alternative_text_only.eml (100%)
 rename swh/web/{tests/inbound_email => inbound_email/tests}/resources/multipart_mixed.eml (100%)
 rename swh/web/{tests/inbound_email => inbound_email/tests}/resources/multipart_mixed2.eml (100%)
 rename swh/web/{tests/inbound_email => inbound_email/tests}/resources/multipart_mixed_text_only.eml (100%)
 rename swh/web/{tests/inbound_email => inbound_email/tests}/resources/multipart_related.eml (100%)
 rename swh/web/{tests/inbound_email => inbound_email/tests}/resources/plaintext.eml (100%)
 rename swh/web/{tests/inbound_email => inbound_email/tests}/test_management_command.py (100%)
 rename swh/web/{tests/inbound_email => inbound_email/tests}/test_utils.py (99%)
 rename swh/web/{tests/jslicenses => jslicenses/tests}/__init__.py (100%)
 rename swh/web/{tests/jslicenses => jslicenses/tests}/test_app.py (100%)
 rename swh/web/{tests/jslicenses => jslicenses/tests}/test_jslicenses.py (100%)
 rename swh/web/{tests/mailmap => mailmap/tests}/__init__.py (100%)
 rename swh/web/{tests/mailmap => mailmap/tests}/test_app.py (100%)
 rename swh/web/{tests/mailmap => mailmap/tests}/test_mailmap.py (100%)
 rename swh/web/{tests/mailmap => mailmap/tests}/test_migrations.py (100%)
 rename swh/web/{tests/metrics => metrics/tests}/__init__.py (100%)
 rename swh/web/{tests/metrics => metrics/tests}/test_app.py (100%)
 rename swh/web/{tests/metrics => metrics/tests}/test_metrics.py (100%)
 rename swh/web/{tests/save_code_now => save_code_now/tests}/__init__.py (100%)
 rename swh/web/{tests/save_code_now => save_code_now/tests}/data/http_esnode1.internal.softwareheritage.org/swh_workers-*__search (100%)
 rename swh/web/{tests/save_code_now => save_code_now/tests}/test_app.py (100%)
 rename swh/web/{tests/save_code_now => save_code_now/tests}/test_django_command.py (100%)
 rename swh/web/{tests/save_code_now => save_code_now/tests}/test_migrations.py (100%)
 rename swh/web/{tests/save_code_now => save_code_now/tests}/test_origin_save.py (100%)
 rename swh/web/{tests/save_code_now => save_code_now/tests}/test_origin_save_admin.py (100%)
 rename swh/web/{tests/save_code_now => save_code_now/tests}/test_origin_save_api.py (100%)
 rename swh/web/{tests/save_code_now => save_code_now/tests}/test_origin_save_views.py (100%)
 rename swh/web/{tests/save_origin_webhooks => save_origin_webhooks/tests}/__init__.py (100%)
 rename swh/web/{tests/save_origin_webhooks => save_origin_webhooks/tests}/data/bitbucket_webhook_payload.json (100%)
 rename swh/web/{tests/save_origin_webhooks => save_origin_webhooks/tests}/data/gitea_webhook_payload.json (100%)
 rename swh/web/{tests/save_origin_webhooks => save_origin_webhooks/tests}/data/github_webhook_payload.json (100%)
 rename swh/web/{tests/save_origin_webhooks => save_origin_webhooks/tests}/data/gitlab_webhook_payload.json (100%)
 rename swh/web/{tests/save_origin_webhooks => save_origin_webhooks/tests}/data/https_sourceforge.net/rest_p_webhook-test-git (100%)
 rename swh/web/{tests/save_origin_webhooks => save_origin_webhooks/tests}/data/https_sourceforge.net/rest_p_webhook-test-hg (100%)
 rename swh/web/{tests/save_origin_webhooks => save_origin_webhooks/tests}/data/https_sourceforge.net/rest_p_webhook-test-svn (100%)
 rename swh/web/{tests/save_origin_webhooks => save_origin_webhooks/tests}/data/sourceforge_webhook_payload_git.json (100%)
 rename swh/web/{tests/save_origin_webhooks => save_origin_webhooks/tests}/data/sourceforge_webhook_payload_hg.json (100%)
 rename swh/web/{tests/save_origin_webhooks => save_origin_webhooks/tests}/data/sourceforge_webhook_payload_svn.json (100%)
 rename swh/web/{tests/save_origin_webhooks => save_origin_webhooks/tests}/test_app.py (100%)
 rename swh/web/{tests/save_origin_webhooks => save_origin_webhooks/tests}/test_bitbucket.py (100%)
 rename swh/web/{tests/save_origin_webhooks => save_origin_webhooks/tests}/test_gitea.py (100%)
 rename swh/web/{tests/save_origin_webhooks => save_origin_webhooks/tests}/test_github.py (100%)
 rename swh/web/{tests/save_origin_webhooks => save_origin_webhooks/tests}/test_gitlab.py (100%)
 rename swh/web/{tests/save_origin_webhooks => save_origin_webhooks/tests}/test_sourceforge.py (100%)
 rename swh/web/{tests/save_origin_webhooks => save_origin_webhooks/tests}/utils.py (100%)
 delete mode 100644 swh/web/tests/resources/deposit/raw-metadata-add-to-origin.xml
 delete mode 100644 swh/web/tests/resources/deposit/raw-metadata-create-origin.xml
 delete mode 100644 swh/web/tests/resources/deposit/raw-metadata-no-swh.xml
 delete mode 100644 swh/web/tests/resources/deposit/raw-metadata-provenance.xml
 rename swh/web/{tests/utils => utils/tests}/__init__.py (100%)
 rename swh/web/{tests/utils => utils/tests}/test_archive.py (99%)
 rename swh/web/{tests/utils => utils/tests}/test_converters.py (100%)
 rename swh/web/{tests/utils => utils/tests}/test_exc.py (100%)
 rename swh/web/{tests/utils => utils/tests}/test_highlightjs.py (100%)
 rename swh/web/{tests/utils => utils/tests}/test_identifiers.py (100%)
 rename swh/web/{tests/utils => utils/tests}/test_middlewares.py (100%)
 rename swh/web/{tests/utils => utils/tests}/test_origin_visits.py (100%)
 rename swh/web/{tests/utils => utils/tests}/test_query.py (100%)
 rename swh/web/{tests/utils => utils/tests}/test_templatetags.py (100%)
 rename swh/web/{tests/utils => utils/tests}/test_utils.py (100%)
 rename swh/web/{tests/vault => vault/tests}/__init__.py (100%)
 rename swh/web/{tests/vault => vault/tests}/test_apiviews.py (100%)
 rename swh/web/{tests/vault => vault/tests}/test_app.py (100%)
 rename swh/web/{tests/vault => vault/tests}/test_views.py (100%)
 rename swh/web/{tests/webapp => webapp/tests}/__init__.py (100%)
 rename swh/web/{tests/webapp => webapp/tests}/test_templates.py (100%)
 rename swh/web/{tests/webapp => webapp/tests}/test_views.py (100%)
Changes applied before test
commit cdc4651de69a602c6a09640ea7bda132d3a8a255
Author: Antoine Lambert <anlambert@softwareheritage.org>
Date:   Fri Nov 4 15:47:44 2022 +0100

    tests: Reorganize test folders related to django applications
    
    Move tests folder related to a django application from the swh/web/tests
    folder into the application folder for commodity of use.
    
    Remove some no longer used test data files.

commit 4cc9676a54cc368394c05b7f19c92ea072f8041e
Author: Antoine Lambert <anlambert@softwareheritage.org>
Date:   Tue Nov 8 11:41:47 2022 +0100

    browse/origin-search: Ensure to encode origin URL argument in XHR calls
    
    In the origins search Web UI, XHRs are sent client side to get the visit
    type and status for each found origin. However origin URLs used as Web
    API URL arguments were not encoded which could result in request errors
    when an origin URL contain a '?' character for instance.
    
    So ensure to encode those origin URLs used as Web API URL arguments.

commit d7ac190db7086212dcdde8445df2be717a54e1b9
Author: Antoine Lambert <anlambert@softwareheritage.org>
Date:   Tue Nov 8 11:02:31 2022 +0100

    save_origin_webhooks: Fix tests when building debian buster package
    
    Content type sent by django test client on debian buster is equal to
    'application/json; charset=None' so tests were failing.

See https://jenkins.softwareheritage.org/job/DWAPPS/job/tests-on-diff/2126/ for more details.