Repoint ADR references after HQ consolidated 65 records to 23
Comments naming records that no longer exist now point at the consolidated record holding their reasoning -- the four lab records are 0016, a test defends a decision is 0017.
This commit is contained in:
@@ -1,7 +1,7 @@
|
||||
/**
|
||||
* Integration tests run against a real hypervisor. Mocking it is forbidden — a test that
|
||||
* fakes the system under integration asserts that the fake behaves as expected, which is
|
||||
* the shape of test this project exists to stop shipping (novox/hq ADR 0034).
|
||||
* the shape of test this project exists to stop shipping (novox/hq ADR 0017).
|
||||
*
|
||||
* Consequence, accepted: these are slow, and they need a machine that can raise scenarios.
|
||||
* They skip rather than fail where it cannot, so that a machine without a hypervisor gets
|
||||
|
||||
@@ -61,7 +61,7 @@ test("the host reports the MACHINE, not the workstation that placed it", { skip,
|
||||
}
|
||||
});
|
||||
|
||||
test("ADR 0031 — the host confirms the machine carries no overlay", { skip, timeout: 120_000 }, async () => {
|
||||
test("ADR 0016 — the host confirms the machine carries no overlay", { skip, timeout: 120_000 }, async () => {
|
||||
// The lab provides the underlay and NOTHING of the overlay. Asserted elsewhere by looking
|
||||
// for wireguard interfaces; here the placed host reports it independently, which is a
|
||||
// second witness rather than the same check twice.
|
||||
|
||||
@@ -1,6 +1,6 @@
|
||||
/**
|
||||
* Each test names the decision it defends. A decision with no test is one that will quietly
|
||||
* stop being true (novox/hq ADR 0034).
|
||||
* stop being true (novox/hq ADR 0017).
|
||||
*/
|
||||
|
||||
import { test, before, after } from "node:test";
|
||||
@@ -30,7 +30,7 @@ after(async () => {
|
||||
if (instanceId) await destroy(instanceId);
|
||||
});
|
||||
|
||||
test("ADR 0031 — the lab provides the underlay and NOTHING of the overlay", { skip, timeout: 120_000 }, async () => {
|
||||
test("ADR 0016 — the lab provides the underlay and NOTHING of the overlay", { skip, timeout: 120_000 }, async () => {
|
||||
// A scenario that pre-built peering would certify its own work. Whatever the mesh is
|
||||
// responsible for must be absent from a freshly raised machine.
|
||||
const { stdout } = await exec(instanceId, "home-server", [
|
||||
@@ -43,7 +43,7 @@ test("ADR 0031 — the lab provides the underlay and NOTHING of the overlay", {
|
||||
assert.deepEqual(counts, [0, 0, 0], "a raised machine carries no overlay, no mesh config");
|
||||
});
|
||||
|
||||
test("ADR 0031 — the declared address IS what the machine holds", { skip }, async () => {
|
||||
test("ADR 0016 — the declared address IS what the machine holds", { skip }, async () => {
|
||||
const { stdout } = await exec(instanceId, "home-server", ["ip", "-o", "-4", "addr", "show"]);
|
||||
assert.match(stdout, /192\.168\.1\.135\/24/);
|
||||
});
|
||||
@@ -57,7 +57,7 @@ test("design — raise waits for USABLE, not for the call to return", { skip, ti
|
||||
}
|
||||
});
|
||||
|
||||
test("ADR 0033 — a router is scenery: containers, while machines are virtual machines", { skip, timeout: 120_000 }, async () => {
|
||||
test("ADR 0016 — a router is scenery: containers, while machines are virtual machines", { skip, timeout: 120_000 }, async () => {
|
||||
const json = (await incusOk(["list", "--format", "json"], 30_000)) ?? "[]";
|
||||
const all = JSON.parse(json) as { name?: string; type?: string; config?: Record<string, string> }[];
|
||||
const mine = all.filter((i) => i.config?.["user.mesh-lab.instance"] === instanceId);
|
||||
@@ -114,7 +114,7 @@ test("design — restore leaves the scenario USABLE, not merely running", { skip
|
||||
assert.equal(stdout.trim(), "alive");
|
||||
});
|
||||
|
||||
test("ADR 0032 — the workstation has no route into the scenario", { skip, timeout: 60_000 }, async () => {
|
||||
test("ADR 0016 — the workstation has no route into the scenario", { skip, timeout: 60_000 }, async () => {
|
||||
// Reachability is asked from INSIDE. If the workstation could reach a scenario address,
|
||||
// two scenarios carrying the same prefix would put one's traffic in the other.
|
||||
const { stdout } = await incus(["exec", `mlab-${instanceId}-anchor`, "--", "echo", "inside"]);
|
||||
@@ -171,7 +171,7 @@ test("the live diagram draws what exists, never what was asked for", { skip, tim
|
||||
}
|
||||
});
|
||||
|
||||
test("ADR 0033 — the live diagram distinguishes scenery from a node", { skip }, async () => {
|
||||
test("ADR 0016 — the live diagram distinguishes scenery from a node", { skip }, async () => {
|
||||
// The router is drawn as a router because the hypervisor says it is a container tagged as
|
||||
// a gateway — not because the diagram re-read the scenario and inferred it.
|
||||
const drawn = await diagramFromLive(instanceId);
|
||||
|
||||
+2
-2
@@ -6,7 +6,7 @@ import { assertSupported, UnsupportedError } from "../src/lifecycle/supported.ts
|
||||
|
||||
/**
|
||||
* `place:` is the seam where the lab stops being infrastructure with no consumer. Each test
|
||||
* names what it defends, per novox/hq ADR 0034.
|
||||
* names what it defends, per novox/hq ADR 0017.
|
||||
*/
|
||||
|
||||
function scenario(place: string): ReturnType<typeof parseScenario> {
|
||||
@@ -88,7 +88,7 @@ test("the refusal says what CAN be placed", () => {
|
||||
}
|
||||
});
|
||||
|
||||
// --- runtime and image placement (novox/hq ADR 0046: the lab places what a sealed scenario
|
||||
// --- runtime and image placement (novox/hq ADR 0006: the lab places what a sealed scenario
|
||||
// cannot fetch) ---
|
||||
|
||||
test("an image reference is placeable, and a bare 'image:' is not", () => {
|
||||
|
||||
@@ -7,7 +7,7 @@ import { digestFrom, pinnedReference, registryAddress, repositoryFor } from "../
|
||||
*
|
||||
* These test the pure parts. The parts that need a registry are exercised by raising a
|
||||
* scenario, because a fake registry would assert that the fake behaves as expected
|
||||
* (novox/hq ADR 0034).
|
||||
* (novox/hq ADR 0017).
|
||||
*/
|
||||
|
||||
test("a digest is read from what the registry actually said", () => {
|
||||
@@ -53,7 +53,7 @@ test("the registry's address is derived from its segment", () => {
|
||||
});
|
||||
|
||||
test("what a declaration pins is the registry's own digest", () => {
|
||||
// Not Docker Hub's. ADR 0046 requires a reference that is exact and cannot move, and a
|
||||
// Not Docker Hub's. ADR 0006 requires a reference that is exact and cannot move, and a
|
||||
// digest this registry assigned is both.
|
||||
const pinned = pinnedReference("192.0.2.250", {
|
||||
requested: "alpine:3.20",
|
||||
|
||||
@@ -51,7 +51,7 @@ machines: { a: { at: { segment: net, address: [192.0.2.1] }, inbound: deny } }`)
|
||||
test("the host is placeable — it used to be refused, and tier 0 now exists", () => {
|
||||
// These two tests failed the moment placement worked, which is what they were for. They
|
||||
// defended "there is nothing to place yet" while that was true; the decision changed, so
|
||||
// they change with it rather than being deleted (novox/hq ADR 0034).
|
||||
// they change with it rather than being deleted (novox/hq ADR 0017).
|
||||
const scenario = parseScenario(`scenario: x
|
||||
segments: { net: { kind: public, cidr: [192.0.2.0/24] } }
|
||||
machines: { a: { at: { segment: net, address: [192.0.2.1] } } }
|
||||
|
||||
Reference in New Issue
Block a user