From 8776a8919039b25f6983444be14b96510d5b7c9b Mon Sep 17 00:00:00 2001 From: kehiy Date: Wed, 11 Sep 2024 15:51:31 +0330 Subject: [PATCH] feat(relay): test1: pass --- tmp/client_recvr.js | 12 ++++++++++++ tmp/client_sendr.js | 9 +++++++++ types/message/message.go | 4 +++- types/message/message_test.go | 18 +++++++++++++++++- 4 files changed, 41 insertions(+), 2 deletions(-) create mode 100644 tmp/client_recvr.js create mode 100644 tmp/client_sendr.js diff --git a/tmp/client_recvr.js b/tmp/client_recvr.js new file mode 100644 index 0000000..363404d --- /dev/null +++ b/tmp/client_recvr.js @@ -0,0 +1,12 @@ +const req = `["REQ","nak",{"ids":["cbba15aff4ed4db6370834c9370436ba20615ffa2d170515058f11e522c8dc02"]}]`; +const close = `["CLOSE", "nak"]`; + +let ws = new WebSocket("ws://localhost:3000/ws"); + +ws.onmessage = (e) => { + console.log(e.data); +}; + +ws.send(req); + +// ws.send(close); diff --git a/tmp/client_sendr.js b/tmp/client_sendr.js new file mode 100644 index 0000000..49ece9b --- /dev/null +++ b/tmp/client_sendr.js @@ -0,0 +1,9 @@ +const eventMsg = `["EVENT",{"kind":1,"id":"cbba15aff4ed4db6370834c9370436ba20615ffa2d170515058f11e522c8dc02","pubkey":"79be667ef9dcbbac55a06295ce870b07029bfcdb2dce28d959f2815b16f81798","created_at":1726056813,"tags":[],"content":"test","sig":"282db08a865b5fe97d2351a3e7321ee279b9e6bd16e4e8d9f746c4ea148337e01bae7bc10f7465bdffe740bf6682d7aaadd4777919891ba845e66bf52ee7b6f8"}]`; + +let ws = new WebSocket("ws://localhost:3000/ws"); + +ws.onmessage = (e) => { + console.log(e.data); +}; + +ws.send(eventMsg); diff --git a/types/message/message.go b/types/message/message.go index 1800977..7951968 100644 --- a/types/message/message.go +++ b/types/message/message.go @@ -33,7 +33,9 @@ func ParseMessage(message []byte) Message { var e Message switch { case bytes.Contains(label, []byte("EVENT")): - e = &Event{} + e = &Event{ + Event: new(event.Event), + } case bytes.Contains(label, []byte("REQ")): e = &Req{} case bytes.Contains(label, []byte("COUNT")): diff --git a/types/message/message_test.go b/types/message/message_test.go index c229c6c..66d12d7 100644 --- a/types/message/message_test.go +++ b/types/message/message_test.go @@ -4,6 +4,7 @@ import ( "testing" "github.com/dezh-tech/immortal/types" + "github.com/dezh-tech/immortal/types/event" "github.com/dezh-tech/immortal/types/filter" "github.com/dezh-tech/immortal/types/message" "github.com/stretchr/testify/assert" @@ -32,7 +33,7 @@ var testCases = []testCase{ ExpectedEnvelope: nil, }, { - Name: "REQ envelope", + Name: "REQ message", Message: []byte(`["REQ","million", {"kinds": [1]}, {"kinds": [30023 ], "#d": ["buteko", "batuke"]}]`), ExpectedEnvelope: &message.Req{ SubscriptionID: "million", @@ -42,6 +43,21 @@ var testCases = []testCase{ }}, }, }, + { + Name: "EVENT message", + Message: []byte(`["EVENT",{"kind":1,"id":"d86745e397de3a3b8c8f15f7a02c6aa6a60213f59b14e1a7093ea286e020423e","pubkey":"79be667ef9dcbbac55a06295ce870b07029bfcdb2dce28d959f2815b16f81798","created_at":1726055814,"tags":[],"content":"test","sig":"ec9f5702c2698ebfa1ce037c31568c7eb420d65d9684f33ba4d3266c82b771f58cf92c44f1e2a710ba71ce3c92bba1253aa7419d124b2a5eed74e9165e868d50"}]`), + ExpectedEnvelope: &message.Event{ + Event: &event.Event{ + ID: "d86745e397de3a3b8c8f15f7a02c6aa6a60213f59b14e1a7093ea286e020423e", + PublicKey: "79be667ef9dcbbac55a06295ce870b07029bfcdb2dce28d959f2815b16f81798", + CreatedAt: 1726055814, + Kind: types.KindTextNote, + Tags: []types.Tag{}, + Content: "test", + Signature: "ec9f5702c2698ebfa1ce037c31568c7eb420d65d9684f33ba4d3266c82b771f58cf92c44f1e2a710ba71ce3c92bba1253aa7419d124b2a5eed74e9165e868d50", + }, + }, + }, } func TestEnvelope(t *testing.T) {