avoid exception if 'errors' key doesn't exist (#1301)
- avoid exception if 'errors' (or 'files' keys) don't exist (part of #1297) - ensure 'errors' list always set on output model for consistency, defaulting to empty list - fix tests for 'errors' being an empty empty list follow-up to #1300 (merging 1.7.1 release into main)
This commit is contained in:
parent
40da1f8541
commit
63291e95a5
4
.github/workflows/k3d-ci.yaml
vendored
4
.github/workflows/k3d-ci.yaml
vendored
@ -26,7 +26,7 @@ jobs:
|
||||
-p "30870:30870@agent:0:direct"
|
||||
--agents 1
|
||||
--no-lb
|
||||
--k3s-arg "--disable=traefik,servicelb@server:*"
|
||||
--k3s-arg "--disable=traefik,servicelb,metrics-server@server:*"
|
||||
|
||||
- name: Checkout
|
||||
uses: actions/checkout@v3
|
||||
@ -63,6 +63,8 @@ jobs:
|
||||
|
||||
- name: Install Kubectl
|
||||
uses: azure/setup-kubectl@v3
|
||||
with:
|
||||
version: v1.28.2
|
||||
|
||||
- name: Install Helm
|
||||
uses: azure/setup-helm@v3
|
||||
|
@ -116,8 +116,8 @@ class BaseCrawlOps:
|
||||
res.get("collectionIds")
|
||||
)
|
||||
|
||||
del res["files"]
|
||||
del res["errors"]
|
||||
res.pop("files", None)
|
||||
res.pop("errors", None)
|
||||
|
||||
crawl = cls_type.from_dict(res)
|
||||
|
||||
|
@ -461,7 +461,7 @@ class CrawlOut(BaseMongoModel):
|
||||
|
||||
tags: Optional[List[str]] = []
|
||||
|
||||
errors: Optional[List[str]]
|
||||
errors: Optional[List[str]] = []
|
||||
|
||||
collectionIds: Optional[List[UUID4]] = []
|
||||
|
||||
|
@ -138,7 +138,7 @@ def test_crawls_exclude_errors(admin_auth_headers, default_org_id, admin_crawl_i
|
||||
)
|
||||
assert r.status_code == 200
|
||||
data = r.json()
|
||||
assert "errors" not in data or data.get("errors") is None
|
||||
assert data.get("errors") == []
|
||||
|
||||
# replay.json endpoint
|
||||
r = requests.get(
|
||||
@ -147,7 +147,7 @@ def test_crawls_exclude_errors(admin_auth_headers, default_org_id, admin_crawl_i
|
||||
)
|
||||
assert r.status_code == 200
|
||||
data = r.json()
|
||||
assert "errors" not in data or data.get("errors") is None
|
||||
assert data.get("errors") == []
|
||||
|
||||
# List endpoint
|
||||
r = requests.get(
|
||||
@ -157,7 +157,7 @@ def test_crawls_exclude_errors(admin_auth_headers, default_org_id, admin_crawl_i
|
||||
assert r.status_code == 200
|
||||
crawls = r.json()["items"]
|
||||
for crawl in crawls:
|
||||
assert "errors" not in crawl or crawl.get("errors") is None
|
||||
assert data.get("errors") == []
|
||||
|
||||
|
||||
def test_crawls_exclude_full_seeds(admin_auth_headers, default_org_id, admin_crawl_id):
|
||||
|
@ -178,7 +178,7 @@ def test_get_upload_replay_json(
|
||||
assert data["resources"][0]["path"]
|
||||
assert data["resources"][0]["size"]
|
||||
assert data["resources"][0]["hash"]
|
||||
assert data["errors"] == None
|
||||
assert data["errors"] == []
|
||||
assert "files" not in data
|
||||
|
||||
|
||||
@ -201,7 +201,7 @@ def test_get_upload_replay_json_admin(
|
||||
assert data["resources"][0]["path"]
|
||||
assert data["resources"][0]["size"]
|
||||
assert data["resources"][0]["hash"]
|
||||
assert data["errors"] == None
|
||||
assert data["errors"] == []
|
||||
assert "files" not in data
|
||||
|
||||
|
||||
@ -748,7 +748,7 @@ def test_get_upload_replay_json_from_all_crawls(admin_auth_headers, default_org_
|
||||
assert data["resources"][0]["path"]
|
||||
assert data["resources"][0]["size"]
|
||||
assert data["resources"][0]["hash"]
|
||||
assert data["errors"] == None
|
||||
assert data["errors"] == []
|
||||
assert "files" not in data
|
||||
|
||||
|
||||
@ -769,7 +769,7 @@ def test_get_upload_replay_json_admin_from_all_crawls(
|
||||
assert data["resources"][0]["path"]
|
||||
assert data["resources"][0]["size"]
|
||||
assert data["resources"][0]["hash"]
|
||||
assert data["errors"] == None
|
||||
assert data["errors"] == []
|
||||
assert "files" not in data
|
||||
|
||||
|
||||
|
Loading…
Reference in New Issue
Block a user