File size: 875 Bytes
f5a4031
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
from __future__ import annotations

import json
from pathlib import Path

from claim_validation.schemas import (
    SourceAbstract,
    ValidateClaimsRequest,
)


ROOT = Path(__file__).resolve().parents[1]


def test_source_abstract_accepts_pubmed_eng() -> None:
    source = SourceAbstract(
        pmid="29389474",
        abstract="A real PubMed abstract.",
        language="eng",
    )

    assert source.language == "en"


def test_validate_claims_request_normalizes_eng() -> None:
    payload = json.loads(
        (
            ROOT
            / "contracts"
            / "validate-claims.request.example.json"
        ).read_text(encoding="utf-8")
    )

    payload["source_abstracts"][0]["language"] = "eng"

    parsed = ValidateClaimsRequest.model_validate(
        payload
    )

    assert (
        parsed.source_abstracts[0].language
        == "en"
    )