From 9609ff4194b1ce66525a4044db99dbfbc8652904 Mon Sep 17 00:00:00 2001 From: Ilya Kreymer Date: Thu, 18 Apr 2024 07:05:39 -0700 Subject: [PATCH] Add 'activeQAStats' field (#1694) As additional support for #1683, include the active QA stats in the crawl response, along with active QA state. This will allow showing progress of QA run in the archived items list. --- backend/btrixcloud/basecrawls.py | 1 + backend/btrixcloud/crawls.py | 1 + backend/btrixcloud/models.py | 1 + backend/test/test_qa.py | 2 ++ 4 files changed, 5 insertions(+) diff --git a/backend/btrixcloud/basecrawls.py b/backend/btrixcloud/basecrawls.py index af429a56..f982b414 100644 --- a/backend/btrixcloud/basecrawls.py +++ b/backend/btrixcloud/basecrawls.py @@ -553,6 +553,7 @@ class BaseCrawlOps: {"$unset": ["firstSeedObject", "errors", "config"]}, {"$set": {"qaState": "$qa.state"}}, {"$set": {"activeQAState": "$qaState"}}, + {"$set": {"activeQAStats": "$qa.stats"}}, { "$set": { "qaFinishedArray": { diff --git a/backend/btrixcloud/crawls.py b/backend/btrixcloud/crawls.py index 69e74a21..2c388ed3 100644 --- a/backend/btrixcloud/crawls.py +++ b/backend/btrixcloud/crawls.py @@ -171,6 +171,7 @@ class CrawlOps(BaseCrawlOps): {"$unset": ["firstSeedObject", "errors", "config"]}, {"$set": {"qaState": "$qa.state"}}, {"$set": {"activeQAState": "$qaState"}}, + {"$set": {"activeQAStats": "$qa.stats"}}, { "$set": { "qaFinishedArray": { diff --git a/backend/btrixcloud/models.py b/backend/btrixcloud/models.py index 1f90010f..06336884 100644 --- a/backend/btrixcloud/models.py +++ b/backend/btrixcloud/models.py @@ -660,6 +660,7 @@ class CrawlOut(BaseMongoModel): qaRunCount: int = 0 activeQAState: Optional[str] + activeQAStats: Optional[CrawlStats] lastQAState: Optional[str] diff --git a/backend/test/test_qa.py b/backend/test/test_qa.py index 197551f0..137e1225 100644 --- a/backend/test/test_qa.py +++ b/backend/test/test_qa.py @@ -125,6 +125,7 @@ def failed_qa_run_id(crawler_crawl_id, crawler_auth_headers, default_org_id): crawls = r.json()["items"] assert crawls[0]["id"] == crawler_crawl_id assert crawls[0]["activeQAState"] + assert crawls[0]["activeQAStats"] assert crawls[0]["lastQAState"] # Ensure sorting by qaState works as expected with all-crawls @@ -136,6 +137,7 @@ def failed_qa_run_id(crawler_crawl_id, crawler_auth_headers, default_org_id): crawls = r.json()["items"] assert crawls[0]["id"] == crawler_crawl_id assert crawls[0]["activeQAState"] + assert crawls[0]["activeQAStats"] assert crawls[0]["lastQAState"] # Cancel crawl