mirror of
https://github.com/logos-messaging/logos-messaging-go.git
synced 2026-01-08 00:43:10 +00:00
fix: rest tests
This commit is contained in:
parent
9731810b8d
commit
0c1abb8114
1
go.mod
1
go.mod
@ -35,6 +35,7 @@ require (
|
||||
)
|
||||
|
||||
require (
|
||||
github.com/go-chi/chi/v5 v5.0.0
|
||||
github.com/lib/pq v1.10.4
|
||||
github.com/waku-org/go-noise v0.0.4
|
||||
)
|
||||
|
||||
1
go.sum
1
go.sum
@ -548,6 +548,7 @@ github.com/gin-gonic/gin v1.6.3/go.mod h1:75u5sXoLsGZoRN5Sgbi1eraJ4GU3++wFwWzhwv
|
||||
github.com/gliderlabs/ssh v0.1.1/go.mod h1:U7qILu1NlMHj9FlMhZLlkCdDnU1DBEAqr0aevW3Awn0=
|
||||
github.com/glycerine/go-unsnap-stream v0.0.0-20180323001048-9f0cb55181dd/go.mod h1:/20jfyN9Y5QPEAprSgKAUr+glWDY39ZiUEAYOEv5dsE=
|
||||
github.com/glycerine/goconvey v0.0.0-20190410193231-58a59202ab31/go.mod h1:Ogl1Tioa0aV7gstGFO7KhffUsb9M4ydbEbbxpcEDc24=
|
||||
github.com/go-chi/chi/v5 v5.0.0 h1:DBPx88FjZJH3FsICfDAfIfnb7XxKIYVGG6lOPlhENAg=
|
||||
github.com/go-chi/chi/v5 v5.0.0/go.mod h1:BBug9lr0cqtdAhsu6R4AAdvufI0/XBzAQSsUqJpoZOs=
|
||||
github.com/go-errors/errors v1.0.1/go.mod h1:f4zRHt4oKfwPJE5k8C9vpYG+aDHdBFUsgrm6/TyX73Q=
|
||||
github.com/go-fonts/dejavu v0.1.0/go.mod h1:4Wt4I4OU2Nq9asgDCteaAaWZOV24E+0/Pwo0gppep4g=
|
||||
|
||||
@ -8,7 +8,6 @@ import (
|
||||
"sync"
|
||||
|
||||
"github.com/go-chi/chi/v5"
|
||||
"github.com/gorilla/mux"
|
||||
"github.com/waku-org/go-waku/waku/v2/node"
|
||||
"github.com/waku-org/go-waku/waku/v2/protocol"
|
||||
"github.com/waku-org/go-waku/waku/v2/protocol/pb"
|
||||
@ -147,9 +146,8 @@ func (d *RelayService) postV1Subscriptions(w http.ResponseWriter, r *http.Reques
|
||||
}
|
||||
|
||||
func (d *RelayService) getV1Messages(w http.ResponseWriter, r *http.Request) {
|
||||
vars := mux.Vars(r)
|
||||
topic, ok := vars["topic"]
|
||||
if !ok {
|
||||
topic := chi.URLParam(r, "topic")
|
||||
if topic == "" {
|
||||
w.WriteHeader(http.StatusBadRequest)
|
||||
return
|
||||
}
|
||||
@ -175,9 +173,8 @@ func (d *RelayService) getV1Messages(w http.ResponseWriter, r *http.Request) {
|
||||
}
|
||||
|
||||
func (d *RelayService) postV1Message(w http.ResponseWriter, r *http.Request) {
|
||||
vars := mux.Vars(r)
|
||||
topic, ok := vars["topic"]
|
||||
if !ok {
|
||||
topic := chi.URLParam(r, "topic")
|
||||
if topic == "" {
|
||||
w.WriteHeader(http.StatusBadRequest)
|
||||
return
|
||||
}
|
||||
|
||||
@ -10,7 +10,7 @@ import (
|
||||
"testing"
|
||||
"time"
|
||||
|
||||
"github.com/gorilla/mux"
|
||||
"github.com/go-chi/chi/v5"
|
||||
"github.com/multiformats/go-multiaddr"
|
||||
"github.com/stretchr/testify/require"
|
||||
"github.com/waku-org/go-waku/tests"
|
||||
@ -20,20 +20,20 @@ import (
|
||||
"github.com/waku-org/go-waku/waku/v2/utils"
|
||||
)
|
||||
|
||||
func makeRelayService(t *testing.T) *RelayService {
|
||||
func makeRelayService(t *testing.T, mux *chi.Mux) *RelayService {
|
||||
options := node.WithWakuRelayAndMinPeers(0)
|
||||
n, err := node.New(options)
|
||||
require.NoError(t, err)
|
||||
err = n.Start(context.Background())
|
||||
require.NoError(t, err)
|
||||
|
||||
mux := mux.NewRouter()
|
||||
|
||||
return NewRelayService(n, mux, 3, utils.Logger())
|
||||
}
|
||||
|
||||
func TestPostV1Message(t *testing.T) {
|
||||
d := makeRelayService(t)
|
||||
router := chi.NewRouter()
|
||||
|
||||
_ = makeRelayService(t, router)
|
||||
|
||||
msg := &pb.WakuMessage{
|
||||
Payload: []byte{1, 2, 3},
|
||||
@ -46,13 +46,15 @@ func TestPostV1Message(t *testing.T) {
|
||||
|
||||
rr := httptest.NewRecorder()
|
||||
req, _ := http.NewRequest(http.MethodPost, "/relay/v1/messages/test", bytes.NewReader(msgJsonBytes))
|
||||
d.mux.ServeHTTP(rr, req)
|
||||
router.ServeHTTP(rr, req)
|
||||
require.Equal(t, http.StatusOK, rr.Code)
|
||||
require.Equal(t, "true", rr.Body.String())
|
||||
}
|
||||
|
||||
func TestRelaySubscription(t *testing.T) {
|
||||
d := makeRelayService(t)
|
||||
router := chi.NewRouter()
|
||||
|
||||
d := makeRelayService(t, router)
|
||||
|
||||
go d.Start(context.Background())
|
||||
defer d.Stop()
|
||||
@ -63,7 +65,7 @@ func TestRelaySubscription(t *testing.T) {
|
||||
|
||||
rr := httptest.NewRecorder()
|
||||
req, _ := http.NewRequest(http.MethodPost, "/relay/v1/subscriptions", bytes.NewReader(topicsJSONBytes))
|
||||
d.mux.ServeHTTP(rr, req)
|
||||
router.ServeHTTP(rr, req)
|
||||
require.Equal(t, http.StatusOK, rr.Code)
|
||||
require.Equal(t, "true", rr.Body.String())
|
||||
|
||||
@ -87,7 +89,7 @@ func TestRelaySubscription(t *testing.T) {
|
||||
// Test deletion
|
||||
rr = httptest.NewRecorder()
|
||||
req, _ = http.NewRequest(http.MethodDelete, "/relay/v1/subscriptions", bytes.NewReader(topicsJSONBytes))
|
||||
d.mux.ServeHTTP(rr, req)
|
||||
router.ServeHTTP(rr, req)
|
||||
require.Equal(t, http.StatusOK, rr.Code)
|
||||
require.Equal(t, "true", rr.Body.String())
|
||||
require.Len(t, d.messages["test"], 0)
|
||||
@ -95,10 +97,12 @@ func TestRelaySubscription(t *testing.T) {
|
||||
}
|
||||
|
||||
func TestRelayGetV1Messages(t *testing.T) {
|
||||
serviceA := makeRelayService(t)
|
||||
router := chi.NewRouter()
|
||||
|
||||
serviceA := makeRelayService(t, router)
|
||||
go serviceA.Start(context.Background())
|
||||
defer serviceA.Stop()
|
||||
serviceB := makeRelayService(t)
|
||||
serviceB := makeRelayService(t, router)
|
||||
go serviceB.Start(context.Background())
|
||||
defer serviceB.Stop()
|
||||
|
||||
@ -122,7 +126,7 @@ func TestRelayGetV1Messages(t *testing.T) {
|
||||
|
||||
rr := httptest.NewRecorder()
|
||||
req, _ := http.NewRequest(http.MethodPost, "/relay/v1/subscriptions", bytes.NewReader(topicsJSONBytes))
|
||||
serviceB.mux.ServeHTTP(rr, req)
|
||||
router.ServeHTTP(rr, req)
|
||||
require.Equal(t, http.StatusOK, rr.Code)
|
||||
|
||||
// Wait for the subscription to be started
|
||||
@ -139,7 +143,7 @@ func TestRelayGetV1Messages(t *testing.T) {
|
||||
|
||||
rr = httptest.NewRecorder()
|
||||
req, _ = http.NewRequest(http.MethodPost, "/relay/v1/messages/test", bytes.NewReader(msgJsonBytes))
|
||||
serviceA.mux.ServeHTTP(rr, req)
|
||||
router.ServeHTTP(rr, req)
|
||||
require.Equal(t, http.StatusOK, rr.Code)
|
||||
|
||||
// Wait for the message to be received
|
||||
@ -147,7 +151,7 @@ func TestRelayGetV1Messages(t *testing.T) {
|
||||
|
||||
rr = httptest.NewRecorder()
|
||||
req, _ = http.NewRequest(http.MethodGet, "/relay/v1/messages/test", bytes.NewReader([]byte{}))
|
||||
serviceB.mux.ServeHTTP(rr, req)
|
||||
router.ServeHTTP(rr, req)
|
||||
require.Equal(t, http.StatusOK, rr.Code)
|
||||
|
||||
var messages []*pb.WakuMessage
|
||||
@ -157,6 +161,9 @@ func TestRelayGetV1Messages(t *testing.T) {
|
||||
|
||||
rr = httptest.NewRecorder()
|
||||
req, _ = http.NewRequest(http.MethodGet, "/relay/v1/messages/test", bytes.NewReader([]byte{}))
|
||||
serviceA.mux.ServeHTTP(rr, req)
|
||||
require.Equal(t, http.StatusNotFound, rr.Code)
|
||||
router.ServeHTTP(rr, req)
|
||||
|
||||
err = json.Unmarshal(rr.Body.Bytes(), &messages)
|
||||
require.NoError(t, err)
|
||||
require.Len(t, messages, 0)
|
||||
}
|
||||
|
||||
Loading…
x
Reference in New Issue
Block a user