Publish curated ITWorx_MCP_Hub source from 8aef76ab42f1ff10ee5a1b3ad94a184120687e47

This commit is contained in:
Public Source Publisher committed 2026-10-02 11:47:37 +00:00
1 parent 3a3b01facd
commit 49627c7a7c
4 files changed
+107 -13

No files matched your search

+1 -1
View File
@@ -1,3 +1,3 @@
# Public source export
This source snapshot was generated from the private canonical repository at revision `aa72a053975f020a793c88ba18c8d6b93bc9f937`. It contains no private Git history or operational evidence. Changes are published from the canonical repository.
This source snapshot was generated from the private canonical repository at revision `8aef76ab42f1ff10ee5a1b3ad94a184120687e47`. It contains no private Git history or operational evidence. Changes are published from the canonical repository.
+5 -5
View File
@@ -1,6 +1,6 @@
{
"schemaVersion": 1,
"sourceRevision": "aa72a053975f020a793c88ba18c8d6b93bc9f937",
"sourceRevision": "8aef76ab42f1ff10ee5a1b3ad94a184120687e47",
"files": [
{
"path": ".dockerignore",
@@ -1759,8 +1759,8 @@
},
{
"path": "connectors/gitea/server.py",
"sha256": "f9358c5d53036ad96d0231c0c2f3ba10f99913fb9a77c21b73c2cf799f97efa1",
"bytes": 228338
"sha256": "4a07c6171893742d7a25e5cbdaa29eef438fc2d381ae93249a4bb6c1be493421",
"bytes": 228331
},
{
"path": "connectors/knowledge/__init__.py",
@@ -3189,8 +3189,8 @@
},
{
"path": "tests/test_gitea_connector.py",
"sha256": "a6ad1f1eceb51107d9b56ceac65185017c4548ffa5d52ddc1808c5f305dfbcdb",
"bytes": 130782
"sha256": "4fcd0e2a2aa822ca24958d3dcae2eb11f0c2c223da3fbdcc763631a57734b29f",
"bytes": 135127
},
{
"path": "tests/test_gitea_merge_eligibility.py",
+1 -1
View File
@@ -540,7 +540,7 @@ class GiteaConnector:
"GITEA_DISCOVERY_LIMIT",
"repository discovery exceeded 10000 items",
)
if len(items) < 100:
if not items:
break
else:
raise GiteaError(
+100 -6
View File
@@ -12,6 +12,7 @@ import unittest
from datetime import UTC, datetime
from pathlib import Path
from unittest.mock import patch
from urllib.parse import parse_qs
from uuid import UUID, uuid4
import httpx
@@ -142,6 +143,40 @@ class FakeChangesetWorkspace:
}
class ClampedDiscoveryServer(FakeGiteaServer):
"""Model a Gitea deployment that caps requested discovery pages at fifty."""
def __init__(self, *, deny_user_repositories: bool = False) -> None:
super().__init__(deny_user_repositories=deny_user_repositories)
self.discovery_page_requests: list[tuple[str, int, int, int]] = []
def _handle(self, request: httpx.Request) -> httpx.Response:
if request.url.path == "/api/v1/repos/search":
query = parse_qs(request.url.query.decode("ascii"))
if "q" not in query:
self.recorded_methods.append(request.method)
self.recorded_authorizations.append(request.headers.get("authorization", ""))
self.recorded_paths.append(request.url.path)
repositories = list(self._repos.values())
if query.get("private") == ["true"]:
repositories = [item for item in repositories if item.get("private") is True]
return self._paged(repositories, query, request)
return super()._handle(request)
def _paged(
self, items: list[dict[str, object]], query: dict[str, list[str]], request: httpx.Request
) -> httpx.Response:
page = max(int(query.get("page", ["1"])[0]), 1)
requested_limit = max(int(query.get("limit", ["100"])[0]), 1)
effective_limit = min(requested_limit, 50)
start = (page - 1) * effective_limit
selected = items[start : start + effective_limit]
self.discovery_page_requests.append(
(request.url.path, page, requested_limit, len(selected))
)
return self._json(200, selected, request)
class GiteaConnectorTests(unittest.TestCase):
def test_registry_resolves_an_exact_qualified_name_within_project_scope(self) -> None:
instance, _ = connector()
@@ -227,9 +262,7 @@ class GiteaConnectorTests(unittest.TestCase):
"--cgroup-parent=docker", "--cgroup-parent=untrusted"
),
PROJECTBRAIN_BROWSER_VALIDATION_WORKFLOW.replace("--cpus=0.5", "--cpus=0.6"),
PROJECTBRAIN_BROWSER_VALIDATION_WORKFLOW.replace(
"--memory=512m", "--memory=513m"
),
PROJECTBRAIN_BROWSER_VALIDATION_WORKFLOW.replace("--memory=512m", "--memory=513m"),
PROJECTBRAIN_BROWSER_VALIDATION_WORKFLOW.replace(
"--pids-limit=128", "--pids-limit=129"
),
@@ -1330,7 +1363,7 @@ class GiteaConnectorTests(unittest.TestCase):
connector_instance.client.close()
def test_repository_create_is_idempotent_and_immediately_registered(self) -> None:
connector_instance, fixture = connector()
connector_instance, fixture = connector(ClampedDiscoveryServer())
try:
created = connector_instance.repository_create(
context(),
@@ -2314,7 +2347,7 @@ class GiteaConnectorTests(unittest.TestCase):
def test_account_discovery_adds_future_repositories_without_changing_existing_refs(
self,
) -> None:
fixture = FakeGiteaServer()
fixture = ClampedDiscoveryServer()
fixture._repos["acme/future"] = {
"owner": {"login": "acme"},
"name": "future",
@@ -2338,8 +2371,69 @@ class GiteaConnectorTests(unittest.TestCase):
finally:
connector_instance.client.close()
def test_account_discovery_continues_after_provider_clamps_page_limit(self) -> None:
fixture = ClampedDiscoveryServer()
for index in range(85):
name = f"batch-{index:03}"
fixture._repos[f"acme/{name}"] = {
"owner": {"login": "acme"},
"name": name,
"full_name": f"acme/{name}",
"private": True,
"default_branch": "main",
}
fixture._repos["acme/workmesh"] = {
"owner": {"login": "acme"},
"name": "workmesh",
"full_name": "acme/workmesh",
"private": True,
"default_branch": "main",
}
connector_instance, _ = connector(fixture)
connector_instance.discovery_projects = {PROJECT_ID: "hub"}
try:
items = connector_instance.repository_list(context(), page=PageRequest(limit=100))[
"data"
]["items"]
self.assertIn("all-workmesh", {item["repositoryRef"] for item in items})
self.assertEqual(
fixture.discovery_page_requests,
[
("/api/v1/repos/search", 1, 100, 50),
("/api/v1/repos/search", 2, 100, 37),
("/api/v1/repos/search", 3, 100, 0),
("/api/v1/user/repos", 1, 100, 50),
("/api/v1/user/repos", 2, 100, 37),
("/api/v1/user/repos", 3, 100, 0),
],
)
finally:
connector_instance.client.close()
def test_account_discovery_still_fails_closed_after_one_hundred_full_pages(self) -> None:
fixture = ClampedDiscoveryServer()
for index in range(5_000):
name = f"bounded-{index:04}"
fixture._repos[f"acme/{name}"] = {
"owner": {"login": "acme"},
"name": name,
"full_name": f"acme/{name}",
"private": True,
"default_branch": "main",
}
connector_instance, _ = connector(fixture)
connector_instance.discovery_projects = {PROJECT_ID: "hub"}
try:
with self.assertRaises(GiteaError) as raised:
connector_instance._refresh_discovered(PROJECT_ID)
self.assertEqual(raised.exception.code, "GITEA_DISCOVERY_LIMIT")
self.assertEqual(len(fixture.discovery_page_requests), 100)
self.assertEqual(fixture.discovery_page_requests[-1][1:], (100, 100, 50))
finally:
connector_instance.client.close()
def test_account_discovery_keeps_private_results_when_user_repo_list_is_denied(self) -> None:
fixture = FakeGiteaServer(deny_user_repositories=True)
fixture = ClampedDiscoveryServer(deny_user_repositories=True)
connector_instance, _ = connector(fixture)
connector_instance.discovery_projects = {PROJECT_ID: "hub"}
try: