test: keep the payload root out of the developer's tree
One test stubs the transport a layer below `api()` — at `subprocess`, to exercise the path a 422 really takes — so it reaches the real payload write. That used to land in the test's own temp store, because the caller named the directory; now the directory is `_gitea.PAYLOAD_ROOT`, resolved from the module's location, and the file appeared in the developer's `tmp/payload/`. `StoreTestCase` patches `PAYLOAD_ROOT` to its fixture alongside the other seams, and the rule in AGENTS.md gains the third directory a test must not write to. Co-Authored-By: Claude Opus 5 (1M context) <noreply@anthropic.com>
This commit is contained in:
@@ -194,7 +194,13 @@ class StoreTestCase(unittest.TestCase):
|
||||
def setUp(self):
|
||||
self.root = tempfile.mkdtemp(prefix="tea-drop-")
|
||||
self.fake = FakeTracker()
|
||||
# PAYLOAD_ROOT is the repo's own tmp/payload, and a test that stubs the
|
||||
# transport one layer down (see the non-2xx case) reaches the real
|
||||
# write. Point it at the fixture: a test writes in its temp directory
|
||||
# and nowhere else.
|
||||
for p in (mock.patch.object(_gitea, "api", self.fake.api),
|
||||
mock.patch.object(_gitea, "PAYLOAD_ROOT",
|
||||
os.path.join(self.root, "payload")),
|
||||
mock.patch.object(_gitea, "require_login", lambda: "test-login"),
|
||||
mock.patch.object(push, "git_branch", lambda: "test-branch")):
|
||||
p.start()
|
||||
|
||||
Reference in New Issue
Block a user