64 lines
2.7 KiB
Go
64 lines
2.7 KiB
Go
package main
|
|
|
|
import "testing"
|
|
|
|
func TestRolesAndWordsMayLeave(t *testing.T) {
|
|
for _, s := range []string{
|
|
"URGENT: the home server has not been heard for 15 min",
|
|
"key: provider.keycloak.node-a.gitea.failing",
|
|
"more: conditions show machine.node-a.silent",
|
|
"since: 2026-10-06 12:30 UTC",
|
|
"call call-1759752000123456789-12 has run past its bound of 10 min",
|
|
"node-a/postgres.query answers no more",
|
|
"3/4 machines answered; plan 41 waits on build 7f3a9c1e",
|
|
"the bus advisory slow-consumer for node-a_records",
|
|
"core.controller.node-c.rolled-back",
|
|
"seat node-notifier has no live holder",
|
|
"HELD BACK: 5 message(s) over the cap of 20 an hour",
|
|
"STILL OPEN after 1.5 h: the controller's event loop takes no message",
|
|
"node-engine and node tools builds differ from the plan's",
|
|
} {
|
|
if r, ok := Check(s); !ok {
|
|
t.Errorf("refused %q: %s", s, r)
|
|
}
|
|
}
|
|
}
|
|
|
|
func TestAnAddressAPathOrASecretMayNot(t *testing.T) {
|
|
for s, class := range map[string]string{
|
|
"cannot reach 192.168.1.20": "address",
|
|
"listening on 10.0.0.7:5432": "address",
|
|
"route fd00:1234:5678::1 is gone": "address",
|
|
"fe80::1 answered": "address",
|
|
"2001:db8:0:0:0:0:2:1 answered": "address",
|
|
"see https://git.example.org/x": "address",
|
|
"git.node-c.internal does not answer": "address",
|
|
"the mail for admin@example.org bounced": "address",
|
|
"zurag.be is down": "address",
|
|
"localhost refused": "address",
|
|
"the card aa:bb:cc:dd:ee:ff went away": "address",
|
|
"/var/lib/mesh-controller is full": "path",
|
|
"~/.config/hal/env changed": "path",
|
|
"read ./grants.json": "path",
|
|
"services/postgres/data/pg_hba.conf": "path",
|
|
"C:\\Users\\x": "path",
|
|
"token 123456789:AAHdqTcvCH1vGWJxfSeofSAs0K5PALDsaw": "secret",
|
|
"ghp_abcdefghijklmnopqrstuvwxyz0123456789": "secret",
|
|
"password=hunter2": "secret",
|
|
"api_key: x": "secret",
|
|
"-----BEGIN OPENSSH PRIVATE KEY-----": "secret",
|
|
"eyJhbGciOiJIUzI1NiJ9.eyJzdWIiOiIxMjM0NTY3ODkwIn0": "secret",
|
|
"commit 3f2a9c1e5b7d4f6a8c0e2b4d6f8a0c2e4b6d8f0a": "secret",
|
|
"value Zx8Qp2Lm9Rt4Vb7Nc1Kd5Hs3Jf6": "secret",
|
|
} {
|
|
r, ok := Check(s)
|
|
if ok {
|
|
t.Errorf("let %q leave", s)
|
|
continue
|
|
}
|
|
if r.Class != class {
|
|
t.Errorf("%q refused as %s, want %s", s, r, class)
|
|
}
|
|
}
|
|
}
|