# Recruiter-safe sample from Synapse, an independently owned project. # This is the real test logic for public NASA caption data. from nasa_ingest import ( NASA_WEBB_CAPTION_URL, NASA_WEBB_MEDIA_URL, build_nasa_worker_result, link_topics, parse_srt, ) SAMPLE_SRT = """1 00:00:00,000 --> 00:00:03,000 The James Webb Space Telescope is NASA's next great observatory. 2 00:00:03,500 --> 00:00:08,250 Webb studies infrared astronomy, exoplanets, and galaxies after Hubble. 3 00:00:09,000 --> 00:00:11,000 NASA works with ESA and CSA on the mission. """ def test_parse_srt_converts_captions_to_ordered_transcript_chunks(): chunks = parse_srt(SAMPLE_SRT) assert [chunk.chunk_index for chunk in chunks] == [0, 1, 2] assert chunks[0].start_ms == 0 assert chunks[0].end_ms == 3000 assert chunks[1].start_ms == 3500 assert chunks[1].end_ms == 8250 assert chunks[0].text == ( "The James Webb Space Telescope is NASA's next great observatory." ) def test_link_topics_detects_known_terms_without_duplicate_links_per_chunk(): chunks = parse_srt( """1 00:00:00,000 --> 00:00:04,000 NASA says NASA and Webb build on Hubble. """ ) links = link_topics(chunks) assert [link.label for link in links] == [ "James Webb Space Telescope", "Hubble Space Telescope", "NASA", ] assert [link.transcript_chunk_index for link in links] == [0, 0, 0] assert all(0 <= link.confidence <= 1 for link in links) assert all(link.review_status in {"needs_review", "accepted"} for link in links) def test_build_nasa_worker_result_includes_caption_provenance_and_learning_links(): result = build_nasa_worker_result( srt_text=SAMPLE_SRT, job_id="job_nasa_demo", workspace_id="workspace_nasa_demo", ) media = result["media"][0] first_chunk = media["transcriptChunks"][0] assert result["jobId"] == "job_nasa_demo" assert result["workspaceId"] == "workspace_nasa_demo" assert media["title"] == "NASA Learning Demo - James Webb Space Telescope" assert media["sourceMetadata"]["nasaId"] == "James_Webb_Space_Telescope__An_Overview_1080" assert media["sourceMetadata"]["mediaUrl"] == NASA_WEBB_MEDIA_URL assert media["sourceMetadata"]["captionUrl"] == NASA_WEBB_CAPTION_URL assert media["sourceMetadata"]["transcriptProvenance"] == "official_caption" assert first_chunk["searchMetadata"]["embeddingStatus"] == "pending" assert any( link["label"] == "James Webb Space Telescope" for chunk in media["transcriptChunks"] for link in chunk["learningLinks"] ) assert any( "Wikipedia" in link["attribution"] for chunk in media["transcriptChunks"] for link in chunk["learningLinks"] )