18 lines
772 B
Python
18 lines
772 B
Python
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
|