from app.connectors.github import GitHubConnector from app.domain.models import IngestionRequest, SourceRef, Document from app.settings import Settings from app.validation import validate_request, validate_document from app.governance import authorize def test_github_fetch_and_validation(): connector = GitHubConnector(transport=lambda *args: "hello") request = IngestionRequest(SourceRef("org/repo", "README.md")) docs = connector.fetch(request) assert docs[0].content == "hello" assert validate_request(request) == [] assert validate_document(docs[0]) == [] def test_governance_rejects_unknown_repo(): doc = Document(SourceRef("other/repo", "a.md"), "x") assert authorize(doc, Settings(allowed_repositories=("org/repo",)))[0] is False