site: the redirect is a 307, and card 43's line numbers had moved
Two small corrections found while checking 0.4-alpha's deploy. wrangler.jsonc claimed the slashless form redirects with a 301; measured against the live site it is a 307. The code is the host's choice rather than anything this repo sets, so the post-deploy check now says to confirm that it redirects at all — the property the site depends on — and records the observed code beside it rather than asserting one. Card 43 already describes the two test_boards_sync failures a team-mode checkout sees, and still describes them correctly; only its pointer into the test file had drifted — reload() sits at 598 now, not 481. config.py:53-69 is still exact. Co-Authored-By: Claude Opus 5 <noreply@anthropic.com>
This commit is contained in:
+3
-1
@@ -127,7 +127,9 @@ answers rather than files:
|
||||
1. `https://bench.12vectors.com/` serves the landing page over TLS.
|
||||
2. `https://bench.12vectors.com/concepts/claiming-a-card` redirects to
|
||||
the same path with a trailing slash, and no url anywhere ends in
|
||||
`.html`.
|
||||
`.html`. Measured, the redirect is a **307** — the host's choice, not
|
||||
a setting this repo holds, so check that it redirects at all rather
|
||||
than which code it picks.
|
||||
3. A path that does not exist — `/nope/` — renders the site's own 404
|
||||
page **with a 404 status**, not the landing page with a 200.
|
||||
4. `curl -sI https://bench.12vectors.com/` shows
|
||||
|
||||
+1
-1
@@ -19,7 +19,7 @@
|
||||
// so a deploy from a clean checkout builds first.
|
||||
"directory": "./dist",
|
||||
|
||||
// /concepts/claiming-a-card -> 301 -> /concepts/claiming-a-card/,
|
||||
// /concepts/claiming-a-card -> 307 -> /concepts/claiming-a-card/,
|
||||
// which is the url the pages link and the one <link rel=canonical>
|
||||
// names. One page, one address: the slashless form redirects rather
|
||||
// than serving a second copy, and no url ever ends in .html.
|
||||
|
||||
@@ -18,7 +18,7 @@ tests are about — the assertion reads that file and fails. CI has no
|
||||
a dict and then does `values.update(os.environ)`. Process environment
|
||||
beats the file, and the file beats the defaults. That precedence is
|
||||
right and documented; what follows from it is not obvious.
|
||||
- `tests/test_boards_sync.py:481-496` — `TheGateImpliesCommitMoves.reload()`
|
||||
- `tests/test_boards_sync.py:598-613` — `TheGateImpliesCommitMoves.reload()`
|
||||
**pops** `BOARD_SYNC` and `BOARD_COMMIT_MOVES` from `os.environ` and
|
||||
reloads `config`, to stand for a machine that has set neither. Popping
|
||||
removes the only layer that was overriding `local/.env`, so the reload
|
||||
@@ -52,8 +52,8 @@ tests, `tests/test_boards_sync.py` first.
|
||||
`tests/__init__.py`, which every run imports — that sets the override
|
||||
before `config` is first imported, so no individual test has to
|
||||
remember. Note that several test modules import `config` at module
|
||||
scope (`test_boards_sync.py:27`), so wherever this lands it has to
|
||||
happen first.
|
||||
scope (`tests/test_boards_sync.py:27`), so wherever this lands it has
|
||||
to happen first.
|
||||
- **Say it where it will be read.** One line in the `_load_env()`
|
||||
docstring: the process environment is the only layer above the file,
|
||||
so removing a variable does not reveal the default, it reveals the
|
||||
|
||||
Reference in New Issue
Block a user