Rename the program to sww and its deciding daemon to discriminator (closes #218) (#221)
check / check (push) Failing after 1m34s
check / check (push) Failing after 1m34s
This commit was merged in pull request #221.
This commit is contained in:
1 parent
2e2f6f7175
commit
beb503b233
106 files changed
+3302
-3275
No files matched your search
@@ -122,7 +122,7 @@ const filledAlertsJSON = `{
|
||||
{
|
||||
"event": "file_error",
|
||||
"netblock": "",
|
||||
"file": "/var/lib/smallwebwaf/bans.json",
|
||||
"file": "/var/lib/sww/bans.json",
|
||||
"sent": "2026-10-06T00:00:00Z",
|
||||
"suppressed_repeats": 0
|
||||
},
|
||||
@@ -169,7 +169,7 @@ const filledAlertsJSON = `{
|
||||
"reason": "writing the state files failed",
|
||||
"detail": {
|
||||
"error": "no space left on device",
|
||||
"file": "/var/lib/smallwebwaf/bans.json"
|
||||
"file": "/var/lib/sww/bans.json"
|
||||
},
|
||||
"suppressed_repeats": 0
|
||||
}
|
||||
@@ -931,7 +931,7 @@ func TestUnwritableDirectoryStopsTheStart(t *testing.T) {
|
||||
filepath.Join(t.TempDir(), "missing"),
|
||||
notADirectory,
|
||||
} {
|
||||
const want = "SWWAF_STATE_DIR cannot be written: "
|
||||
const want = "SWW_STATE_DIR cannot be written: "
|
||||
|
||||
_, err := state.Load(newParams(dir))
|
||||
if err == nil || !strings.HasPrefix(err.Error(), want) {
|
||||
@@ -1165,13 +1165,13 @@ func TestWritesAreCountedInTheMetrics(t *testing.T) {
|
||||
)
|
||||
|
||||
got := scrape(t, params)
|
||||
wantMetric(t, got, "smallwebwaf_state_file_writes_total"+ofBans, 1)
|
||||
wantMetric(t, got, "smallwebwaf_state_file_writes_total"+ofClients, 1)
|
||||
wantMetric(t, got, "smallwebwaf_state_file_write_failures_total"+ofBans, 0)
|
||||
wantMetric(t, got, "smallwebwaf_state_file_size_bytes"+ofBans,
|
||||
wantMetric(t, got, "sww_state_file_writes_total"+ofBans, 1)
|
||||
wantMetric(t, got, "sww_state_file_writes_total"+ofClients, 1)
|
||||
wantMetric(t, got, "sww_state_file_write_failures_total"+ofBans, 0)
|
||||
wantMetric(t, got, "sww_state_file_size_bytes"+ofBans,
|
||||
float64(len(permanentBansJSON)))
|
||||
|
||||
written := metric(t, got, "smallwebwaf_state_file_last_write_timestamp_seconds"+ofBans)
|
||||
written := metric(t, got, "sww_state_file_last_write_timestamp_seconds"+ofBans)
|
||||
if written < float64(time.Now().Add(-time.Hour).Unix()) {
|
||||
t.Errorf("bans.json was last written at %v, not by that write", written)
|
||||
}
|
||||
@@ -1192,10 +1192,10 @@ func TestWritesAreCountedInTheMetrics(t *testing.T) {
|
||||
}
|
||||
|
||||
got = scrape(t, params)
|
||||
wantMetric(t, got, "smallwebwaf_state_file_writes_total"+ofBans, 2)
|
||||
wantMetric(t, got, "smallwebwaf_state_file_write_failures_total"+ofBans, 1)
|
||||
wantMetric(t, got, "smallwebwaf_state_file_write_failures_total"+ofClients, 0)
|
||||
wantMetric(t, got, "smallwebwaf_state_file_size_bytes"+ofBans,
|
||||
wantMetric(t, got, "sww_state_file_writes_total"+ofBans, 2)
|
||||
wantMetric(t, got, "sww_state_file_write_failures_total"+ofBans, 1)
|
||||
wantMetric(t, got, "sww_state_file_write_failures_total"+ofClients, 0)
|
||||
wantMetric(t, got, "sww_state_file_size_bytes"+ofBans,
|
||||
float64(len(permanentBansJSON)))
|
||||
}
|
||||
|
||||
@@ -1486,7 +1486,7 @@ func TestBanWithoutACauseTakenInAsAnAdmins(t *testing.T) {
|
||||
"and the reason %q", written, err, reason)
|
||||
}
|
||||
|
||||
// Taken in while smallwebwaf runs, a ban on another netblock is an
|
||||
// Taken in while sww runs, a ban on another netblock is an
|
||||
// admin's too, and one made since the start.
|
||||
watch(t, files, lines)
|
||||
edit(t, dir, bansJSON, adminsBansJSON("198.51.100.0/24"))
|
||||
@@ -1549,7 +1549,7 @@ func TestBrokenEditSetAsideAtTheNextWrite(t *testing.T) {
|
||||
|
||||
watch(t, files, lines)
|
||||
|
||||
// While smallwebwaf runs, the broken edit is left as it is: an edit
|
||||
// While sww runs, the broken edit is left as it is: an edit
|
||||
// of clients.json, made after it and taken in, shows that it has been
|
||||
// seen.
|
||||
edit(t, dir, bansJSON, broken)
|
||||
@@ -1558,7 +1558,7 @@ func TestBrokenEditSetAsideAtTheNextWrite(t *testing.T) {
|
||||
wantFiles(t, dir, alertsJSON, bansJSON, clientsJSON, lookupsJSON, reputationJSON)
|
||||
|
||||
// The next write sets it aside, logged with where the error is, and
|
||||
// writes bans.json again from what smallwebwaf still holds.
|
||||
// writes bans.json again from what sww still holds.
|
||||
err = files.WriteAll()
|
||||
if err != nil {
|
||||
t.Fatalf("write: %v", err)
|
||||
@@ -1613,7 +1613,7 @@ func TestEditsTakenInAreCountedInTheMetrics(t *testing.T) {
|
||||
wantTakenIn(t, lines, dir, bansJSON)
|
||||
|
||||
wantMetric(t, scrape(t, params),
|
||||
`smallwebwaf_state_file_edits_taken_in_total{file="bans.json",instance="app"}`, 2)
|
||||
`sww_state_file_edits_taken_in_total{file="bans.json",instance="app"}`, 2)
|
||||
}
|
||||
|
||||
func TestEditTakenInByAWriteIsLoggedAsWatchLogsIt(t *testing.T) {
|
||||
@@ -1678,7 +1678,7 @@ func TestEditsSetAsideAreCountedInTheMetrics(t *testing.T) {
|
||||
}
|
||||
|
||||
wantMetric(t, scrape(t, params),
|
||||
`smallwebwaf_state_file_edits_set_aside_total{file="bans.json",instance="app"}`, 1)
|
||||
`sww_state_file_edits_set_aside_total{file="bans.json",instance="app"}`, 1)
|
||||
}
|
||||
|
||||
func TestDirectoryThatCannotBeWatchedIsLogged(t *testing.T) {
|
||||
@@ -1854,7 +1854,7 @@ func fill(params state.Params) {
|
||||
params.Alerts.Raise(alerts.Alert{
|
||||
Event: alerts.EventFileError, Reason: "writing the state files failed",
|
||||
Detail: map[string]any{
|
||||
"file": "/var/lib/smallwebwaf/bans.json", "error": "no space left on device",
|
||||
"file": "/var/lib/sww/bans.json", "error": "no space left on device",
|
||||
},
|
||||
})
|
||||
params.Alerts.Raise(alerts.Alert{
|
||||
@@ -2178,7 +2178,7 @@ func scrape(t *testing.T, params state.Params) string {
|
||||
}
|
||||
|
||||
// metric returns the value of series in text, the metrics, such as
|
||||
// smallwebwaf_state_file_writes_total{file="bans.json",instance="app"}, or
|
||||
// sww_state_file_writes_total{file="bans.json",instance="app"}, or
|
||||
// fails the test if there is no such series.
|
||||
func metric(t *testing.T, text, series string) float64 {
|
||||
t.Helper()
|
||||
@@ -2210,8 +2210,8 @@ func wantWriteFailed(t *testing.T, params state.Params, name string) {
|
||||
got := scrape(t, params)
|
||||
file := `{file="` + name + `",instance="app"}`
|
||||
|
||||
wantMetric(t, got, "smallwebwaf_state_file_writes_total"+file, 1)
|
||||
wantMetric(t, got, "smallwebwaf_state_file_write_failures_total"+file, 1)
|
||||
wantMetric(t, got, "sww_state_file_writes_total"+file, 1)
|
||||
wantMetric(t, got, "sww_state_file_write_failures_total"+file, 1)
|
||||
}
|
||||
|
||||
// wantMetric checks the value of series in text, the metrics, as metric
|
||||
|
||||
Reference in new issue
Block a user