v3 candidate

This commit is contained in:
Andy Dixon
2026-06-16 11:51:07 +01:00
parent fcb19c96c8
commit 493bfed599
91 changed files with 28824 additions and 80 deletions
+20 -3
View File
@@ -37,9 +37,9 @@ func TestIsNewer(t *testing.T) {
{"1.0.1", "1.0.0", true},
{"1.0.0", "1.0.0", false},
{"0.9.0", "1.0.0", false},
{"1.0.0", "dev", false}, // dev builds ignored
{"1.0.0", "", false}, // empty current ignored
{"1.2", "1.1.0", true}, // fewer parts
{"1.0.0", "dev", false}, // dev builds ignored
{"1.0.0", "", false}, // empty current ignored
{"1.2", "1.1.0", true}, // fewer parts
{"1.0.0", "1.0.0.1", false},
}
for _, tt := range tests {
@@ -104,3 +104,20 @@ func TestURLCheckerPlainText(t *testing.T) {
t.Fatalf("expected update to be available")
}
}
func TestURLCheckerRejectsOversizedManifest(t *testing.T) {
server := httptest.NewServer(http.HandlerFunc(func(w http.ResponseWriter, r *http.Request) {
w.Header().Set("Content-Type", "text/plain")
_, _ = w.Write([]byte(strings.Repeat("x", maxUpdateResponseBytes+1)))
}))
defer server.Close()
checker := NewURLChecker(server.URL, "1.9.0")
_, err := checker.Check(context.Background())
if err == nil {
t.Fatal("expected oversized manifest to be rejected")
}
if !strings.Contains(err.Error(), "response exceeds") {
t.Fatalf("unexpected error: %v", err)
}
}