Merge origin/main into feat/close-script

Two conflicts git could see (AGENTS.md, skills/sync/SKILL.md) and one it could
not: the payload-root change removed api()'s out_root parameter, so close.py
stops passing it, and its payload test now asserts PAYLOAD_ROOT instead of the
deleted PAYLOAD_DIR.
This commit is contained in:
naudachu
2026-08-10 18:29:25 +05:00
25 changed files with 2128 additions and 167 deletions
+10 -4
View File
@@ -614,18 +614,24 @@ class NoStoreTest(StoreTestCase):
class PayloadFileTest(StoreTestCase):
"""The request body is written to .payload/, as every other write is."""
"""The request body goes to the transport's own scratchpad.
def test_the_payload_lands_beside_the_store(self):
Not to a directory this script picks: `close.py` names the payload and
nothing else, the way every other caller does. Where PAYLOAD_ROOT lands is
_gitea's business, and test_payload_root.py is where that is tested."""
def test_the_payload_lands_in_the_transports_scratchpad(self):
self.synced("a-thing", 101)
with mock.patch.object(_gitea, "api", REAL_API), \
payloads = os.path.join(self.root, "payload")
with mock.patch.object(_gitea, "PAYLOAD_ROOT", payloads), \
mock.patch.object(_gitea, "api", REAL_API), \
mock.patch.object(
_gitea, "subprocess",
types.SimpleNamespace(run=lambda cmd, **kw: types.SimpleNamespace(
returncode=0, stderr="",
stdout=json.dumps({"number": 101, "state": "closed"})))):
self.run_close("a-thing")
p = os.path.join(self.root, _gitea.PAYLOAD_DIR, "state-101.json")
p = os.path.join(payloads, "state-101.json")
self.assertTrue(os.path.isfile(p))
with open(p) as f:
self.assertEqual(json.load(f), {"state": "closed"})