browsertrix/backend/test
Ilya Kreymer 4f676e4e82
QA Runs Initial Backend Implementation (#1586)
Supports running QA Runs via the QA API!

Builds on top of the `issue-1498-crawl-qa-backend-support` branch, fixes
#1498

Also requires the latest Browsertrix Crawler 1.1.0+ (from
webrecorder/browsertrix-crawler#469 branch)

Notable changes:
- QARun objects contain info about QA runs, which are crawls
performed on data loaded from existing crawls.

- Various crawl db operations can be performed on either the crawl or
`qa.` object, and core crawl fields have been moved to CoreCrawlable.

- While running,`QARun` data stored in a single `qa` object, while
finished qa runs are added to `qaFinished` dictionary on the Crawl. The
QA list API returns data from the finished list, sorted by most recent
first.

- Includes additional type fixes / type safety, especially around
BaseCrawl / Crawl / UploadedCrawl functionality, also creating specific
get_upload(), get_basecrawl(), get_crawl() getters for internal use and
get_crawl_out() for API

- Support filtering and sorting pages via `qaFilterBy` (screenshotMatch, textMatch) 
along with `gt`, `lt`, `gte`, `lte` params to return pages based on QA results.

---------
Co-authored-by: Tessa Walsh <tessa@bitarchivist.net>
2024-03-20 22:42:16 -07:00
..
data Uploads API: BaseCrawl refactor + Initial support for /uploads endpoint (#937) 2023-07-07 09:13:26 -07:00
__init__.py Use archive_viewer_dep permissions to GET crawls (#443) 2023-01-09 19:11:53 -08:00
conftest.py Support multiple crawler versions (#1420) 2024-01-16 15:32:12 -08:00
echo_server.py Add event webhook tests (#1155) 2023-09-12 22:08:40 -07:00
test_collections.py Fix: Make Collections Public on Creation (#1213) 2023-09-29 12:08:10 -07:00
test_crawl_config_search_values.py Backend API consistency pass (#921) 2023-06-16 18:52:46 -07:00
test_crawl_config_tags.py Backend API consistency pass (#921) 2023-06-16 18:52:46 -07:00
test_crawlconfigs.py Support multiple crawler versions (#1420) 2024-01-16 15:32:12 -08:00
test_filter_sort_results.py Separate seeds into a new endpoints (#1217) 2023-10-02 10:56:12 -07:00
test_invites.py Paginate API list endpoints (#659) 2023-03-06 14:41:25 -05:00
test_login.py User refactor + remove fastapi_users dependency + update fastapi (#1290) 2023-10-18 10:49:23 -07:00
test_org.py Add crawl, upload, and collection delete webhook event notifications (#1363) 2023-11-09 18:19:08 -08:00
test_permissions.py
test_profiles.py Add API tests for browser profiles (#1392) 2023-11-28 10:40:58 -05:00
test_qa.py QA Runs Initial Backend Implementation (#1586) 2024-03-20 22:42:16 -07:00
test_run_crawl.py QA Runs Initial Backend Implementation (#1586) 2024-03-20 22:42:16 -07:00
test_settings.py Configurable Max Scale for frontend (#1557) 2024-03-11 16:21:20 -07:00
test_stop_cancel_crawl.py Replace partial_complete -> stopped_by_user or stopped_quota_reached + operator edge cases (#1368) 2023-11-14 11:17:16 -08:00
test_uploads.py Add crawl pages and related API endpoints (#1516) 2024-02-28 12:11:35 -05:00
test_users.py users: add case-insensitive index to maintain backwards compatibility with fastapi-users (#1319) 2023-10-27 14:31:29 -07:00
test_utils.py Format backend with Black 24 (#1507) 2024-02-07 11:35:34 -08:00
test_webhooks.py Add crawl, upload, and collection delete webhook event notifications (#1363) 2023-11-09 18:19:08 -08:00
test_workflow_auto_add_to_collection.py feat: implement 'collections' array with {name, id} for archived item details (#1098) 2023-08-25 00:26:46 -07:00
utils.py Uploads API: BaseCrawl refactor + Initial support for /uploads endpoint (#937) 2023-07-07 09:13:26 -07:00