Skip to content

Commit d838ad1

Browse files
authored
Merge pull request #43 from waku-org/Store_tests_Part1
Adding store files
2 parents a0a3e95 + 2e8587d commit d838ad1

File tree

4 files changed

+1412
-1
lines changed

4 files changed

+1412
-1
lines changed

.gitignore

Lines changed: 6 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -23,3 +23,9 @@ go.work
2323
# Generated dependencies and cache
2424
third_party
2525
nimcache
26+
27+
waku/store.sqlite3
28+
29+
waku/store.sqlite3-shm
30+
31+
waku/store.sqlite3-wal

waku/nwaku_test_utils.go

Lines changed: 41 additions & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -12,6 +12,7 @@ import (
1212
"time"
1313

1414
"github.com/cenkalti/backoff/v3"
15+
"github.com/libp2p/go-libp2p/core/peer"
1516
"github.com/waku-org/go-waku/waku/v2/protocol/pb"
1617
"github.com/waku-org/waku-go-bindings/waku/common"
1718
"google.golang.org/protobuf/proto"
@@ -94,7 +95,7 @@ func (n *WakuNode) CreateMessage(customMessage ...*pb.WakuMessage) *pb.WakuMessa
9495
Debug("Using default message format on node %s", n.nodeName)
9596
defaultMessage := &pb.WakuMessage{
9697
Payload: []byte("This is a default Waku message payload"),
97-
ContentTopic: "test-content-topic",
98+
ContentTopic: DefaultContentTopic,
9899
Version: proto.Uint32(0),
99100
Timestamp: proto.Int64(time.Now().UnixNano()),
100101
}
@@ -215,3 +216,42 @@ func SubscribeNodesToTopic(nodes []*WakuNode, topic string) error {
215216
}
216217
return nil
217218
}
219+
220+
func (n *WakuNode) GetStoredMessages(storeNode *WakuNode, storeRequest *common.StoreQueryRequest) (*common.StoreQueryResponse, error) {
221+
Debug("Starting store query request")
222+
223+
if storeRequest == nil {
224+
Debug("Using DefaultStoreQueryRequest")
225+
storeRequest = &DefaultStoreQueryRequest
226+
}
227+
228+
storeMultiaddr, err := storeNode.ListenAddresses()
229+
if err != nil {
230+
Error("Failed to retrieve listen addresses for store node: %v", err)
231+
return nil, err
232+
}
233+
234+
if len(storeMultiaddr) == 0 {
235+
Error("Store node has no available listen addresses")
236+
return nil, errors.New("store node has no available listen addresses")
237+
}
238+
239+
storeNodeAddrInfo, err := peer.AddrInfoFromString(storeMultiaddr[0].String())
240+
if err != nil {
241+
Error("Failed to convert store node address to AddrInfo: %v", err)
242+
return nil, err
243+
}
244+
245+
ctx, cancel := context.WithTimeout(context.Background(), 10*time.Second)
246+
defer cancel()
247+
248+
Debug("Querying store node for messages")
249+
res, err := n.StoreQuery(ctx, storeRequest, *storeNodeAddrInfo)
250+
if err != nil {
251+
Error("StoreQuery failed: %v", err)
252+
return nil, err
253+
}
254+
255+
Debug("Store query successful, retrieved %d messages", len(*res.Messages))
256+
return res, nil
257+
}

0 commit comments

Comments
 (0)