from aiatlas.connectors.labs.nvidia import BLOG_RSS, DEVELOPER_RSS, NvidiaConnector from aiatlas.sdk.facts import Target from tests.conftest import extract_from_fixture, fixture_path async def test_blog_feed(): facts = await extract_from_fixture(NvidiaConnector(), Target(url=BLOG_RSS, doc_type="feed", key="blog"), fixture_path("nvidia", "blog.rss.xml"), content_type="application/rss+xml") assert len(facts.events) == 18 first = facts.events[0] assert first.summary.startswith("NVIDIA: Skild AI Taps NVIDIA Physical AI") and first.effective_at.date().isoformat() == "2026-09-10" assert first.meta["source"] == "blogs.nvidia.com" and "Robotics" in first.meta["categories"] assert facts.document_title == "NVIDIA Blog" async def test_developer_feed(): facts = await extract_from_fixture(NvidiaConnector(), Target(url=DEVELOPER_RSS, doc_type="feed", key="developer"), fixture_path("nvidia", "developer-blog.atom.xml"), content_type="application/atom+xml") assert len(facts.events) == 30 assert facts.events[0].summary.startswith("NVIDIA: How Full-Stack NIM Optimizations") and facts.events[0].meta["source"] == "developer.nvidia.com/blog" assert len([t for t in facts.targets if t.doc_type == "news"]) == 10 assert len({e.dedupe_key for e in facts.events}) == 30