sdk tests compile but not all pass yet.

This commit is contained in:
fiatjaf
2025-04-18 11:59:25 -03:00
parent 92c2de6294
commit fb688575e8
2 changed files with 14 additions and 17 deletions

View File

@@ -7,7 +7,7 @@ import (
"fiatjaf.com/nostr" "fiatjaf.com/nostr"
"fiatjaf.com/nostr/eventstore/slicestore" "fiatjaf.com/nostr/eventstore/slicestore"
"github.com/fiatjaf/khatru" "fiatjaf.com/nostr/khatru"
"github.com/stretchr/testify/require" "github.com/stretchr/testify/require"
) )
@@ -20,12 +20,9 @@ func TestStreamLiveFeed(t *testing.T) {
relay3 := khatru.NewRelay() relay3 := khatru.NewRelay()
for _, r := range []*khatru.Relay{relay1, relay2, relay3} { for _, r := range []*khatru.Relay{relay1, relay2, relay3} {
db := slicestore.SliceStore{} db := &slicestore.SliceStore{}
db.Init() db.Init()
r.QueryEvents = append(r.QueryEvents, db.QueryEvents) r.UseEventstore(db)
r.StoreEvent = append(r.StoreEvent, db.SaveEvent)
r.ReplaceEvent = append(r.ReplaceEvent, db.ReplaceEvent)
r.DeleteEvent = append(r.DeleteEvent, db.DeleteEvent)
defer db.Close() defer db.Close()
} }
@@ -55,9 +52,9 @@ func TestStreamLiveFeed(t *testing.T) {
<-s3 <-s3
// generate two random keypairs for testing // generate two random keypairs for testing
sk1 := nostr.GeneratePrivateKey() sk1 := nostr.Generate()
pk1 := nostr.GetPublicKey(sk1) pk1 := nostr.GetPublicKey(sk1)
sk2 := nostr.GeneratePrivateKey() sk2 := nostr.Generate()
pk2 := nostr.GetPublicKey(sk2) pk2 := nostr.GetPublicKey(sk2)
ctx, cancel := context.WithTimeout(context.Background(), 30*time.Second) ctx, cancel := context.WithTimeout(context.Background(), 30*time.Second)
@@ -89,7 +86,7 @@ func TestStreamLiveFeed(t *testing.T) {
relayListEvt2.Sign(sk2) relayListEvt2.Sign(sk2)
// publish relay lists to relay1 // publish relay lists to relay1
relay, err := nostr.RelayConnect(ctx, "ws://localhost:48481") relay, err := nostr.RelayConnect(ctx, "ws://localhost:48481", nostr.RelayOptions{})
if err != nil { if err != nil {
t.Fatalf("failed to connect to relay1: %v", err) t.Fatalf("failed to connect to relay1: %v", err)
} }
@@ -131,7 +128,7 @@ func TestStreamLiveFeed(t *testing.T) {
go sys.Pool.PublishMany(ctx, []string{"ws://localhost:48482", "ws://localhost:48483"}, evt2) go sys.Pool.PublishMany(ctx, []string{"ws://localhost:48482", "ws://localhost:48483"}, evt2)
// start streaming events for both pubkeys // start streaming events for both pubkeys
events, err := sys.StreamLiveFeed(ctx, []nostr.PubKey{pk1, pk2}, []int{1}) events, err := sys.StreamLiveFeed(ctx, []nostr.PubKey{pk1, pk2}, []uint16{1})
if err != nil { if err != nil {
t.Fatalf("failed to start streaming: %v", err) t.Fatalf("failed to start streaming: %v", err)
} }

View File

@@ -27,12 +27,12 @@ func TestMetadataAndEvents(t *testing.T) {
// fetch notes // fetch notes
filter := nostr.Filter{ filter := nostr.Filter{
Kinds: []int{1}, Kinds: []uint16{1},
Authors: []string{meta.PubKey}, Authors: []nostr.PubKey{meta.PubKey},
Limit: 5, Limit: 5,
} }
events := make([]*nostr.Event, 0, 5) events := make([]nostr.Event, 0, 5)
for ie := range sys.Pool.FetchMany(ctx, relays, filter) { for ie := range sys.Pool.FetchMany(ctx, relays, filter, nostr.SubscriptionOptions{Label: "nltest"}) {
events = append(events, ie.Event) events = append(events, ie.Event)
} }
require.NoError(t, err) require.NoError(t, err)
@@ -93,14 +93,14 @@ func TestFollowListRecursion(t *testing.T) {
ctx := context.Background() ctx := context.Background()
// fetch initial follow list // fetch initial follow list
followList := sys.FetchFollowList(ctx, "3bf0c63fcb93463407af97a5e5ee64fa883d107ef9e558472c4eb9aaaefa459d") followList := sys.FetchFollowList(ctx, nostr.MustPubKeyFromHex("3bf0c63fcb93463407af97a5e5ee64fa883d107ef9e558472c4eb9aaaefa459d"))
fmt.Println("~", len(followList.Items)) fmt.Println("~", len(followList.Items))
require.Greater(t, len(followList.Items), 400, "should follow more than 400 accounts") require.Greater(t, len(followList.Items), 400, "should follow more than 400 accounts")
// fetch metadata and follow lists for each followed account concurrently // fetch metadata and follow lists for each followed account concurrently
type result struct { type result struct {
pubkey string pubkey nostr.PubKey
followList GenericList[ProfileRef] followList GenericList[nostr.PubKey, ProfileRef]
metadata ProfileMetadata metadata ProfileMetadata
} }