Add comprehensive tests for new policy fields and combinations
Some checks failed
Go / build-and-release (push) Has been cancelled

Introduce tests to validate functionality for new policy fields, including `max_expiry_duration`, `protected_required`, `identifier_regex`, and `follows_whitelist_admins`. Also, cover combinations of new and existing fields to ensure compatibility and precedence rules are correctly enforced.

bump to v0.31.2
This commit is contained in:
2025-12-01 18:21:38 +00:00
parent 2e42caee0e
commit 869006c4c3
27 changed files with 2726 additions and 85 deletions

View File

@@ -8,9 +8,9 @@ import (
"sort"
"testing"
"lol.mleku.dev/chk"
"git.mleku.dev/mleku/nostr/encoders/event"
"git.mleku.dev/mleku/nostr/encoders/event/examples"
"lol.mleku.dev/chk"
)
// TestExport tests the Export function by:
@@ -71,10 +71,14 @@ func TestExport(t *testing.T) {
pubkeyToEventIDs := make(map[string][]string)
// Process each event in chronological order
skippedCount := 0
for _, ev := range events {
// Save the event to the database
if _, err = db.SaveEvent(ctx, ev); err != nil {
t.Fatalf("Failed to save event: %v", err)
// Skip events that fail validation (e.g., kind 3 without p tags)
// This can happen with real-world test data from examples.Cache
skippedCount++
continue
}
// Store the event ID
@@ -86,7 +90,7 @@ func TestExport(t *testing.T) {
pubkeyToEventIDs[pubkey] = append(pubkeyToEventIDs[pubkey], eventID)
}
t.Logf("Saved %d events to the database", len(eventIDs))
t.Logf("Saved %d events to the database (skipped %d invalid events)", len(eventIDs), skippedCount)
// Test 1: Export all events and verify all IDs are in the export
var exportBuffer bytes.Buffer