From 8eef51d445cf17e412de1c686852c9c70ffe00aa Mon Sep 17 00:00:00 2001 From: Vivek Patel Date: Fri, 14 May 2021 16:44:52 +0530 Subject: [PATCH] Fixes websocket server and session tests --- pkg/websocket/server_test.go | 14 +++++++------- pkg/websocket/session_test.go | 23 ++++++++++++++--------- 2 files changed, 21 insertions(+), 16 deletions(-) diff --git a/pkg/websocket/server_test.go b/pkg/websocket/server_test.go index f50e73730..2d2b7aabe 100644 --- a/pkg/websocket/server_test.go +++ b/pkg/websocket/server_test.go @@ -46,18 +46,18 @@ func TestWebsocketSend_ExistingSessions(t *testing.T) { req.Empty(s2) req.NoError(ws.Send("msg", "msg1", s1User)) - req.Equal(s1.String(), `{"msg":"msg1"}`) + req.Equal(s1.String(), `{"@type":"msg","@value":"msg1"}`) req.Equal(s2.String(), "") req.NoError(ws.Send("msg", "msg2", s2User)) - req.Equal(s1.String(), `{"msg":"msg1"}`) - req.Equal(s2.String(), `{"msg":"msg2"}`) + req.Equal(s1.String(), `{"@type":"msg","@value":"msg1"}`) + req.Equal(s2.String(), `{"@type":"msg","@value":"msg2"}`) req.NoError(ws.Send("both", "msg3", s1User, s2User)) - req.Equal(s1.String(), `{"msg":"msg1"}{"both":"msg3"}`) - req.Equal(s2.String(), `{"msg":"msg2"}{"both":"msg3"}`) + req.Equal(s1.String(), `{"@type":"msg","@value":"msg1"}{"@type":"both","@value":"msg3"}`) + req.Equal(s2.String(), `{"@type":"msg","@value":"msg2"}{"@type":"both","@value":"msg3"}`) req.NoError(ws.Send("all", "msg4")) - req.Equal(s1.String(), `{"msg":"msg1"}{"both":"msg3"}{"all":"msg4"}`) - req.Equal(s2.String(), `{"msg":"msg2"}{"both":"msg3"}{"all":"msg4"}`) + req.Equal(s1.String(), `{"@type":"msg","@value":"msg1"}{"@type":"both","@value":"msg3"}{"@type":"all","@value":"msg4"}`) + req.Equal(s2.String(), `{"@type":"msg","@value":"msg2"}{"@type":"both","@value":"msg3"}{"@type":"all","@value":"msg4"}`) } diff --git a/pkg/websocket/session_test.go b/pkg/websocket/session_test.go index f96a79e31..aacc193b5 100644 --- a/pkg/websocket/session_test.go +++ b/pkg/websocket/session_test.go @@ -2,8 +2,10 @@ package websocket import ( "github.com/cortezaproject/corteza-server/pkg/auth" + "github.com/cortezaproject/corteza-server/pkg/logger" "github.com/cortezaproject/corteza-server/pkg/options" "github.com/stretchr/testify/require" + "go.uber.org/zap" "testing" "time" ) @@ -17,37 +19,40 @@ func TestSession_procRawMessage(t *testing.T) { userID uint64 = 123 ) + if testing.Verbose() { + s.logger = logger.MakeDebugLogger() + } else { + s.logger = zap.NewNop() + } + req.NoError(err) s.server.accessToken = jwtHandler jwt := jwtHandler.Encode(auth.NewIdentity(userID, 456, 789)) - req.EqualError(s.procRawMessage([]byte("{}")), "empty payload") + req.EqualError(s.procRawMessage([]byte("{}")), "unauthenticated session") req.Nil(s.identity) - req.EqualError(s.procRawMessage([]byte(`{"auth":{}}`)), "unauthorized: token contains an invalid number of segments") + req.EqualError(s.procRawMessage([]byte(`{"@type": "credentials", "@value": {"accessToken": ""}}`)), "unauthorized: token contains an invalid number of segments") req.Nil(s.identity) - req.EqualError(s.procRawMessage([]byte(`{"auth":{"access_token": ""}}`)), "unauthorized: token contains an invalid number of segments") - req.Nil(s.identity) - - req.NoError(s.procRawMessage([]byte(`{"auth":{"access_token": "` + jwt + `"}}`))) + req.NoError(s.procRawMessage([]byte(`{"@type": "credentials", "@value": {"accessToken": "` + jwt + `"}}`))) req.NotNil(s.identity) req.Equal(userID, s.identity.Identity()) - req.EqualError(s.procRawMessage([]byte("{}")), "empty payload") + req.EqualError(s.procRawMessage([]byte("{}")), "unknown message type ''") req.Equal(userID, s.identity.Identity()) // Repeat with the same user jwt = jwtHandler.Encode(auth.NewIdentity(userID, 456, 789)) - req.NoError(s.procRawMessage([]byte(`{"auth":{"access_token": "` + jwt + `"}}`))) + req.NoError(s.procRawMessage([]byte(`{"@type": "credentials", "@value": {"accessToken": "` + jwt + `"}}`))) req.NotNil(s.identity) req.Equal(userID, s.identity.Identity()) // Try to authenticate on an existing authenticated session as a different user jwt = jwtHandler.Encode(auth.NewIdentity(userID+1, 456, 789)) - req.EqualError(s.procRawMessage([]byte(`{"auth":{"access_token": "`+jwt+`"}}`)), "unauthorized: identity does not match") + req.EqualError(s.procRawMessage([]byte(`{"@type": "credentials", "@value": {"accessToken": "`+jwt+`"}}`)), "unauthorized: identity does not match") }