SPB Git forge

spb/ai-atlas

Public
41commits 1branches 0releases
4.6 MBsize
maindefault branch
12 days agolast push
HTML 77.2% TypeScript 10.5% Python 9.6% JavaScript 2.5%
2.8 KB · 37 lines python
Raw Blame History
1"""OpenReview is disabled by default (403 challenge on the public JSON endpoints, see the connector docstring); the fixture is a2SYNTHETIC document built from the documented API v2 response shape."""3from aiatlas.connectors.research.openreview import OpenReviewConnector4from aiatlas.sdk.facts import Target5from tests.conftest import claims_of, extract_from_fixture, fixture_path678async def test_disabled_by_default_and_targets():9    c = OpenReviewConnector()10    assert c.enabled_by_default is False11    targets = await c.discover(None)  # type: ignore[arg-type]12    assert targets[0].url.startswith("https://api2.openreview.net/notes?content.venueid=ICLR.cc%2F2026%2FConference&limit=100&offset=0")13    assert targets[0].accept == "application/json, text/plain, */*" and len(targets) == 9141516async def test_notes_shape():17    c = OpenReviewConnector()18    target = Target(url="https://api2.openreview.net/notes?content.venueid=ICLR.cc/2026/Conference&limit=100", doc_type="listing",19                    key="notes:ICLR.cc/2026/Conference:0", meta={"venue": "ICLR.cc/2026/Conference"})20    facts = await extract_from_fixture(c, target, fixture_path("openreview", "notes-iclr2026-SYNTHETIC.json"), content_type="application/json")21    papers = [e for e in facts.entities if e.entity_type == "paper"]22    assert [p.identifiers for p in papers] == [{"openreview": "synthAbc123"}, {"openreview": "synthDef456"}]   # note without title skipped23    a = claims_of(facts, "Synthetic Example Paper A: Scaling Laws for Fixture Networks")24    assert a["venue"] == "ICLR 2026 Poster" and a["venue_id"] == "ICLR.cc/2026/Conference" and a["keywords"] == ["scaling laws", "fixtures"]25    assert a["pdf_url"] == "https://openreview.net/pdf/synthetic-a.pdf" and a["official_url"] == "https://openreview.net/forum?id=synthAbc123"26    assert a["published_at"] == "2025-09-20T00:00:00+00:00" and a["updated_at"].startswith("2025-09-21")27    # researchers only from OpenReview profile ids (`~Name1`), never from bare names28    people = [e for e in facts.entities if e.entity_type == "researcher"]29    assert people and all(e.identifiers.get("openreview_profile", "").startswith("~") for e in people)30    ada = next(e for e in people if e.identifiers["openreview_profile"] == "~Ada_Placeholder1")31    assert ada.name == "Ada Placeholder" and ada.identity_confidence == "high"32    authored = [r for r in facts.relations if r.predicate == "authored"]33    assert len(authored) == len(people) and all(r.subject.identifiers.get("openreview_profile") for r in authored)34    assert claims_of(facts, "Ada Placeholder")["openreview_profile_url"] == "https://openreview.net/profile?id=~Ada_Placeholder1"35    b = claims_of(facts, "Synthetic Example Paper B")36    assert b["venue"] == "ICLR.cc/2026/Conference" and b["pdf_url"] == "https://openreview.net/pdf?id=synthDef456" and b["published_at"].startswith("2025-09-18")37