Allow setting authEvents

This commit is contained in:
Till Faelligen 2022-10-12 09:48:07 +02:00
parent 3c1474f68f
commit 2db6d0a55c
No known key found for this signature in database
GPG key ID: 3DF82D8AB9211D4E
2 changed files with 15 additions and 1 deletions

View file

@ -30,6 +30,7 @@ type eventMods struct {
unsigned interface{} unsigned interface{}
keyID gomatrixserverlib.KeyID keyID gomatrixserverlib.KeyID
privKey ed25519.PrivateKey privKey ed25519.PrivateKey
authEvents []string
} }
type eventModifier func(e *eventMods) type eventModifier func(e *eventMods)
@ -52,6 +53,12 @@ func WithUnsigned(unsigned interface{}) eventModifier {
} }
} }
func WithAuthIDs(evs []string) eventModifier {
return func(e *eventMods) {
e.authEvents = evs
}
}
func WithKeyID(keyID gomatrixserverlib.KeyID) eventModifier { func WithKeyID(keyID gomatrixserverlib.KeyID) eventModifier {
return func(e *eventMods) { return func(e *eventMods) {
e.keyID = keyID e.keyID = keyID

View file

@ -21,8 +21,9 @@ import (
"testing" "testing"
"time" "time"
"github.com/matrix-org/dendrite/internal/eventutil"
"github.com/matrix-org/gomatrixserverlib" "github.com/matrix-org/gomatrixserverlib"
"github.com/matrix-org/dendrite/internal/eventutil"
) )
type Preset int type Preset int
@ -174,11 +175,17 @@ func (r *Room) CreateEvent(t *testing.T, creator *User, eventType string, conten
if err != nil { if err != nil {
t.Fatalf("CreateEvent[%s]: failed to StateNeededForEventBuilder: %s", eventType, err) t.Fatalf("CreateEvent[%s]: failed to StateNeededForEventBuilder: %s", eventType, err)
} }
refs, err := eventsNeeded.AuthEventReferences(&r.authEvents) refs, err := eventsNeeded.AuthEventReferences(&r.authEvents)
if err != nil { if err != nil {
t.Fatalf("CreateEvent[%s]: failed to AuthEventReferences: %s", eventType, err) t.Fatalf("CreateEvent[%s]: failed to AuthEventReferences: %s", eventType, err)
} }
builder.AuthEvents = refs builder.AuthEvents = refs
if len(mod.authEvents) > 0 {
builder.AuthEvents = mod.authEvents
}
ev, err := builder.Build( ev, err := builder.Build(
mod.originServerTS, mod.origin, mod.keyID, mod.originServerTS, mod.origin, mod.keyID,
mod.privKey, r.Version, mod.privKey, r.Version,