more tests covering all indexes.
This commit is contained in:
@@ -18,7 +18,8 @@ import (
|
|||||||
|
|
||||||
const (
|
const (
|
||||||
dbpath = "/tmp/eventstore-test"
|
dbpath = "/tmp/eventstore-test"
|
||||||
sk = "0000000000000000000000000000000000000000000000000000000000000003"
|
sk3 = "0000000000000000000000000000000000000000000000000000000000000003"
|
||||||
|
sk4 = "0000000000000000000000000000000000000000000000000000000000000004"
|
||||||
)
|
)
|
||||||
|
|
||||||
func TestSliceStore(t *testing.T) {
|
func TestSliceStore(t *testing.T) {
|
||||||
@@ -56,6 +57,13 @@ func runTestOn(t *testing.T, db eventstore.Store) {
|
|||||||
Tags: nostr.Tags{{"n", fmt.Sprintf("%d", i)}},
|
Tags: nostr.Tags{{"n", fmt.Sprintf("%d", i)}},
|
||||||
Kind: 1,
|
Kind: 1,
|
||||||
}
|
}
|
||||||
|
sk := sk3
|
||||||
|
if i%3 == 0 {
|
||||||
|
sk = sk4
|
||||||
|
}
|
||||||
|
if i%2 == 0 {
|
||||||
|
evt.Kind = 9
|
||||||
|
}
|
||||||
evt.Sign(sk)
|
evt.Sign(sk)
|
||||||
allEvents = append(allEvents, evt)
|
allEvents = append(allEvents, evt)
|
||||||
err = db.SaveEvent(ctx, evt)
|
err = db.SaveEvent(ctx, evt)
|
||||||
@@ -103,6 +111,55 @@ func runTestOn(t *testing.T, db eventstore.Store) {
|
|||||||
"id query error")
|
"id query error")
|
||||||
}
|
}
|
||||||
|
|
||||||
|
{
|
||||||
|
results, err := w.QuerySync(ctx, nostr.Filter{Kinds: []int{1}})
|
||||||
|
require.NoError(t, err)
|
||||||
|
require.ElementsMatch(t,
|
||||||
|
[]*nostr.Event{allEvents[1], allEvents[3], allEvents[5], allEvents[7], allEvents[9]},
|
||||||
|
results,
|
||||||
|
"kind query error")
|
||||||
|
}
|
||||||
|
|
||||||
|
{
|
||||||
|
results, err := w.QuerySync(ctx, nostr.Filter{Kinds: []int{9}})
|
||||||
|
require.NoError(t, err)
|
||||||
|
require.ElementsMatch(t,
|
||||||
|
[]*nostr.Event{allEvents[0], allEvents[2], allEvents[4], allEvents[6], allEvents[8]},
|
||||||
|
results,
|
||||||
|
"second kind query error")
|
||||||
|
}
|
||||||
|
|
||||||
|
{
|
||||||
|
pk4, _ := nostr.GetPublicKey(sk4)
|
||||||
|
results, err := w.QuerySync(ctx, nostr.Filter{Authors: []string{pk4}})
|
||||||
|
require.NoError(t, err)
|
||||||
|
require.ElementsMatch(t,
|
||||||
|
[]*nostr.Event{allEvents[0], allEvents[3], allEvents[6], allEvents[9]},
|
||||||
|
results,
|
||||||
|
"pubkey query error")
|
||||||
|
}
|
||||||
|
|
||||||
|
{
|
||||||
|
pk3, _ := nostr.GetPublicKey(sk3)
|
||||||
|
results, err := w.QuerySync(ctx, nostr.Filter{Kinds: []int{9}, Authors: []string{pk3}})
|
||||||
|
require.NoError(t, err)
|
||||||
|
require.ElementsMatch(t,
|
||||||
|
[]*nostr.Event{allEvents[2], allEvents[4], allEvents[8]},
|
||||||
|
results,
|
||||||
|
"pubkey kind query error")
|
||||||
|
}
|
||||||
|
|
||||||
|
{
|
||||||
|
pk3, _ := nostr.GetPublicKey(sk3)
|
||||||
|
pk4, _ := nostr.GetPublicKey(sk4)
|
||||||
|
results, err := w.QuerySync(ctx, nostr.Filter{Kinds: []int{9, 5, 7}, Authors: []string{pk3, pk4, pk4[1:] + "a"}})
|
||||||
|
require.NoError(t, err)
|
||||||
|
require.ElementsMatch(t,
|
||||||
|
[]*nostr.Event{allEvents[0], allEvents[2], allEvents[4], allEvents[6], allEvents[8]},
|
||||||
|
results,
|
||||||
|
"2 pubkeys and kind query error")
|
||||||
|
}
|
||||||
|
|
||||||
// delete
|
// delete
|
||||||
require.NoError(t, db.DeleteEvent(ctx, allEvents[4]), "delete 1 error")
|
require.NoError(t, db.DeleteEvent(ctx, allEvents[4]), "delete 1 error")
|
||||||
require.NoError(t, db.DeleteEvent(ctx, allEvents[5]), "delete 2 error")
|
require.NoError(t, db.DeleteEvent(ctx, allEvents[5]), "delete 2 error")
|
||||||
|
|||||||
Reference in New Issue
Block a user