waku/v2/protocol/lightpush/pb/validation_test.go
package pb
import (
"testing"
"github.com/stretchr/testify/require"
"github.com/waku-org/go-waku/waku/v2/protocol/pb"
)
func TestValidateRequest(t *testing.T) {
request := PushRpc{}
require.ErrorIs(t, request.ValidateRequest(), errMissingRequestID)
request.RequestId = "test"
require.ErrorIs(t, request.ValidateRequest(), errMissingQuery)
request.Request = &PushRequest{}
require.ErrorIs(t, request.ValidateRequest(), errMissingPubsubTopic)
request.Request.PubsubTopic = "test"
require.ErrorIs(t, request.ValidateRequest(), errMissingMessage)
request.Request.Message = &pb.WakuMessage{
Payload: []byte{1, 2, 3},
ContentTopic: "test",
}
require.NoError(t, request.ValidateRequest())
}
func TestValidateResponse(t *testing.T) {
response := PushRpc{}
require.ErrorIs(t, response.ValidateResponse("test"), errMissingRequestID)
response.RequestId = "test1"
require.ErrorIs(t, response.ValidateResponse("test"), errRequestIDMismatch)
response.RequestId = "test"
require.ErrorIs(t, response.ValidateResponse("test"), errMissingResponse)
response.Response = &PushResponse{}
require.NoError(t, response.ValidateResponse("test"))
}