Fix tests, add new mock for auth/svc/users

This commit is contained in:
Denis Arh
2018-10-29 13:47:03 +01:00
parent 5006a14935
commit 8c2d91122d
7 changed files with 181 additions and 46 deletions
+1
View File
@@ -125,6 +125,7 @@ mocks: $(GOMOCK)
$(MOCKGEN) -package service -source sam/service/message.go -destination sam/service/message_mock_test.go
$(MOCKGEN) -package service -source sam/service/organisation.go -destination sam/service/organisation_mock_test.go
$(MOCKGEN) -package service -source sam/service/team.go -destination sam/service/team_mock_test.go
$(MOCKGEN) -package service -source auth/service/user.go -destination auth/service/user_mock_test.go
########################################################################################################################
+125
View File
@@ -0,0 +1,125 @@
// Code generated by MockGen. DO NOT EDIT.
// Source: auth/service/user.go
// Package service is a generated GoMock package.
package service
import (
context "context"
types "github.com/crusttech/crust/auth/types"
gomock "github.com/golang/mock/gomock"
reflect "reflect"
)
// MockUserService is a mock of UserService interface
type MockUserService struct {
ctrl *gomock.Controller
recorder *MockUserServiceMockRecorder
}
// MockUserServiceMockRecorder is the mock recorder for MockUserService
type MockUserServiceMockRecorder struct {
mock *MockUserService
}
// NewMockUserService creates a new mock instance
func NewMockUserService(ctrl *gomock.Controller) *MockUserService {
mock := &MockUserService{ctrl: ctrl}
mock.recorder = &MockUserServiceMockRecorder{mock}
return mock
}
// EXPECT returns an object that allows the caller to indicate expected use
func (m *MockUserService) EXPECT() *MockUserServiceMockRecorder {
return m.recorder
}
// With mocks base method
func (m *MockUserService) With(ctx context.Context) UserService {
ret := m.ctrl.Call(m, "With", ctx)
ret0, _ := ret[0].(UserService)
return ret0
}
// With indicates an expected call of With
func (mr *MockUserServiceMockRecorder) With(ctx interface{}) *gomock.Call {
return mr.mock.ctrl.RecordCallWithMethodType(mr.mock, "With", reflect.TypeOf((*MockUserService)(nil).With), ctx)
}
// FindByID mocks base method
func (m *MockUserService) FindByID(id uint64) (*types.User, error) {
ret := m.ctrl.Call(m, "FindByID", id)
ret0, _ := ret[0].(*types.User)
ret1, _ := ret[1].(error)
return ret0, ret1
}
// FindByID indicates an expected call of FindByID
func (mr *MockUserServiceMockRecorder) FindByID(id interface{}) *gomock.Call {
return mr.mock.ctrl.RecordCallWithMethodType(mr.mock, "FindByID", reflect.TypeOf((*MockUserService)(nil).FindByID), id)
}
// Find mocks base method
func (m *MockUserService) Find(filter *types.UserFilter) (types.UserSet, error) {
ret := m.ctrl.Call(m, "Find", filter)
ret0, _ := ret[0].(types.UserSet)
ret1, _ := ret[1].(error)
return ret0, ret1
}
// Find indicates an expected call of Find
func (mr *MockUserServiceMockRecorder) Find(filter interface{}) *gomock.Call {
return mr.mock.ctrl.RecordCallWithMethodType(mr.mock, "Find", reflect.TypeOf((*MockUserService)(nil).Find), filter)
}
// Create mocks base method
func (m *MockUserService) Create(input *types.User) (*types.User, error) {
ret := m.ctrl.Call(m, "Create", input)
ret0, _ := ret[0].(*types.User)
ret1, _ := ret[1].(error)
return ret0, ret1
}
// Create indicates an expected call of Create
func (mr *MockUserServiceMockRecorder) Create(input interface{}) *gomock.Call {
return mr.mock.ctrl.RecordCallWithMethodType(mr.mock, "Create", reflect.TypeOf((*MockUserService)(nil).Create), input)
}
// Update mocks base method
func (m *MockUserService) Update(mod *types.User) (*types.User, error) {
ret := m.ctrl.Call(m, "Update", mod)
ret0, _ := ret[0].(*types.User)
ret1, _ := ret[1].(error)
return ret0, ret1
}
// Update indicates an expected call of Update
func (mr *MockUserServiceMockRecorder) Update(mod interface{}) *gomock.Call {
return mr.mock.ctrl.RecordCallWithMethodType(mr.mock, "Update", reflect.TypeOf((*MockUserService)(nil).Update), mod)
}
// FindOrCreate mocks base method
func (m *MockUserService) FindOrCreate(arg0 *types.User) (*types.User, error) {
ret := m.ctrl.Call(m, "FindOrCreate", arg0)
ret0, _ := ret[0].(*types.User)
ret1, _ := ret[1].(error)
return ret0, ret1
}
// FindOrCreate indicates an expected call of FindOrCreate
func (mr *MockUserServiceMockRecorder) FindOrCreate(arg0 interface{}) *gomock.Call {
return mr.mock.ctrl.RecordCallWithMethodType(mr.mock, "FindOrCreate", reflect.TypeOf((*MockUserService)(nil).FindOrCreate), arg0)
}
// ValidateCredentials mocks base method
func (m *MockUserService) ValidateCredentials(username, password string) (*types.User, error) {
ret := m.ctrl.Call(m, "ValidateCredentials", username, password)
ret0, _ := ret[0].(*types.User)
ret1, _ := ret[1].(error)
return ret0, ret1
}
// ValidateCredentials indicates an expected call of ValidateCredentials
func (mr *MockUserServiceMockRecorder) ValidateCredentials(username, password interface{}) *gomock.Call {
return mr.mock.ctrl.RecordCallWithMethodType(mr.mock, "ValidateCredentials", reflect.TypeOf((*MockUserService)(nil).ValidateCredentials), username, password)
}
+2 -1
View File
@@ -2,10 +2,11 @@ package service
import (
"context"
"testing"
"github.com/crusttech/crust/sam/types"
"github.com/golang/mock/gomock"
"github.com/titpetric/factory"
"testing"
)
func TestUser(t *testing.T) {
+5 -9
View File
@@ -74,17 +74,13 @@ func (r *message) FindMessages(filter *types.MessageFilter) (types.MessageSet, e
sql := sqlMessagesSelect
if filter != nil {
if filter.Query != "" {
sql += " AND message LIKE ?"
params = append(params, filter.Query+"%")
}
if filter == nil {
filter = &types.MessageFilter{}
}
if filter.ChannelID == 0 && filter.RepliesTo == 0 {
// Channel history or replies to a message...
// nothing more.
return nil, nil
if filter.Query != "" {
sql += " AND message LIKE ?"
params = append(params, filter.Query+"%")
}
if filter.ChannelID > 0 {
+40 -28
View File
@@ -18,43 +18,51 @@ func TestMessage(t *testing.T) {
return
}
rpo := Message(context.Background(), factory.Database.MustGet())
msg := &types.Message{}
msgRpo := Message(context.Background(), factory.Database.MustGet())
chRpo := Channel(context.Background(), factory.Database.MustGet())
var msg1, msg2 = "Test message v1", "Test message v2"
var mm types.MessageSet
{
tx(t, func() error {
ch := &types.Channel{}
ch, err = chRpo.CreateChannel(ch)
ch.Type = types.ChannelTypePublic
msg := &types.Message{ChannelID: ch.ID}
msg.Message = msg1
msg, err = rpo.CreateMessage(msg)
msg, err = msgRpo.CreateMessage(msg)
assert(t, err == nil, "CreateMessage error: %v", err)
assert(t, msg.Message == msg1, "Changes were not stored")
{
msg.Message = msg2
msg, err = rpo.UpdateMessage(msg)
msg, err = msgRpo.UpdateMessage(msg)
assert(t, err == nil, "UpdateMessage error: %v", err)
assert(t, msg.Message == msg2, "Changes were not stored")
}
{
msg, err = rpo.FindMessageByID(msg.ID)
msg, err = msgRpo.FindMessageByID(msg.ID)
assert(t, err == nil, "FindMessageByID error: %v", err)
assert(t, msg.Message == msg2, "Changes were not stored")
}
{
mm, err = rpo.FindMessages(&types.MessageFilter{Query: msg2})
mm, err = msgRpo.FindMessages(&types.MessageFilter{Query: msg2})
assert(t, err == nil, "FindMessages error: %v", err)
assert(t, len(mm) > 0, "No results found")
}
{
err = rpo.DeleteMessageByID(msg.ID)
err = msgRpo.DeleteMessageByID(msg.ID)
assert(t, err == nil, "DeleteMessageByID error: %v", err)
}
}
return nil
})
}
func TestReplies(t *testing.T) {
@@ -65,38 +73,42 @@ func TestReplies(t *testing.T) {
return
}
chID := factory.Sonyflake.NextID()
rpo := Message(context.Background(), factory.Database.MustGet())
msg := &types.Message{ChannelID: chID}
rpl := &types.Message{ChannelID: chID}
msgRpo := Message(context.Background(), factory.Database.MustGet())
chRpo := Channel(context.Background(), factory.Database.MustGet())
var mm types.MessageSet
tx(t, func() error {
msg, err = rpo.CreateMessage(msg)
ch := &types.Channel{}
ch, err = chRpo.CreateChannel(ch)
ch.Type = types.ChannelTypePublic
msg := &types.Message{ChannelID: ch.ID}
rpl := &types.Message{ChannelID: ch.ID}
msg, err = msgRpo.CreateMessage(msg)
assert(t, err == nil, "CreateMessage error: %v", err)
assert(t, msg.ID > 0, "Message did not get its ID")
rpl.ReplyTo = msg.ID
rpl, err = rpo.CreateMessage(rpl)
rpl, err = msgRpo.CreateMessage(rpl)
assert(t, err == nil, "CreateMessage error: %v", err)
assert(t, rpl.ID > 0, "Reply did not get its ID")
{
mm, err = rpo.FindMessages(&types.MessageFilter{
mm, err = msgRpo.FindMessages(&types.MessageFilter{
RepliesTo: msg.ID,
ChannelID: chID,
ChannelID: ch.ID,
})
assert(t, err == nil, "FindMessages error: %v", err)
assert(t, len(mm) == 1, "Failed to fetch only reply")
assert(t, len(mm) == 1, "Failed to fetch only reply, got: %d", len(mm))
assert(t, mm[0].ID == rpl.ID, "Reply ID does not match")
}
{
mm, err = rpo.FindMessages(&types.MessageFilter{
ChannelID: chID,
mm, err = msgRpo.FindMessages(&types.MessageFilter{
ChannelID: ch.ID,
})
assert(t, err == nil, "FindMessages error: %v", err)
@@ -105,18 +117,18 @@ func TestReplies(t *testing.T) {
}
{
rpo.IncReplyCount(msg.ID)
rpo.IncReplyCount(msg.ID)
rpo.IncReplyCount(msg.ID)
assert(t, msgRpo.IncReplyCount(msg.ID) == nil, "IncReplyCount should not return an error")
assert(t, msgRpo.IncReplyCount(msg.ID) == nil, "IncReplyCount should not return an error")
assert(t, msgRpo.IncReplyCount(msg.ID) == nil, "IncReplyCount should not return an error")
msg, err = rpo.FindMessageByID(msg.ID)
msg, err = msgRpo.FindMessageByID(msg.ID)
assert(t, err == nil, "FindMessageByID error: %v", err)
assert(t, msg.Replies == 3, "Reply counter check failed, expecting 3, got %v", msg.Replies)
rpo.DecReplyCount(msg.ID)
rpo.DecReplyCount(msg.ID)
assert(t, msgRpo.DecReplyCount(msg.ID) == nil, "DecReplyCount should not return an error")
assert(t, msgRpo.DecReplyCount(msg.ID) == nil, "DecReplyCount should not return an error")
msg, err = rpo.FindMessageByID(msg.ID)
msg, err = msgRpo.FindMessageByID(msg.ID)
assert(t, err == nil, "FindMessageByID error: %v", err)
assert(t, msg.Replies == 1, "Reply counter check failed, expecting 1, got %v", msg.Replies)
}
+4 -4
View File
@@ -61,16 +61,16 @@ func (mr *MockAttachmentServiceMockRecorder) FindByID(id interface{}) *gomock.Ca
}
// Create mocks base method
func (m *MockAttachmentService) Create(channelId uint64, name string, size int64, fh io.ReadSeeker) (*types.Attachment, error) {
ret := m.ctrl.Call(m, "Create", channelId, name, size, fh)
func (m *MockAttachmentService) Create(name string, size int64, fh io.ReadSeeker, channelId, replyTo uint64) (*types.Attachment, error) {
ret := m.ctrl.Call(m, "Create", name, size, fh, channelId, replyTo)
ret0, _ := ret[0].(*types.Attachment)
ret1, _ := ret[1].(error)
return ret0, ret1
}
// Create indicates an expected call of Create
func (mr *MockAttachmentServiceMockRecorder) Create(channelId, name, size, fh interface{}) *gomock.Call {
return mr.mock.ctrl.RecordCallWithMethodType(mr.mock, "Create", reflect.TypeOf((*MockAttachmentService)(nil).Create), channelId, name, size, fh)
func (mr *MockAttachmentServiceMockRecorder) Create(name, size, fh, channelId, replyTo interface{}) *gomock.Call {
return mr.mock.ctrl.RecordCallWithMethodType(mr.mock, "Create", reflect.TypeOf((*MockAttachmentService)(nil).Create), name, size, fh, channelId, replyTo)
}
// OpenOriginal mocks base method
+4 -4
View File
@@ -214,13 +214,13 @@ func (mr *MockChannelServiceMockRecorder) Delete(ID interface{}) *gomock.Call {
}
// RecordView mocks base method
func (m *MockChannelService) RecordView(channelID, userID, lastMessageID uint64) error {
ret := m.ctrl.Call(m, "RecordView", channelID, userID, lastMessageID)
func (m *MockChannelService) RecordView(userID, channelID, lastMessageID uint64) error {
ret := m.ctrl.Call(m, "RecordView", userID, channelID, lastMessageID)
ret0, _ := ret[0].(error)
return ret0
}
// RecordView indicates an expected call of RecordView
func (mr *MockChannelServiceMockRecorder) RecordView(channelID, userID, lastMessageID interface{}) *gomock.Call {
return mr.mock.ctrl.RecordCallWithMethodType(mr.mock, "RecordView", reflect.TypeOf((*MockChannelService)(nil).RecordView), channelID, userID, lastMessageID)
func (mr *MockChannelServiceMockRecorder) RecordView(userID, channelID, lastMessageID interface{}) *gomock.Call {
return mr.mock.ctrl.RecordCallWithMethodType(mr.mock, "RecordView", reflect.TypeOf((*MockChannelService)(nil).RecordView), userID, channelID, lastMessageID)
}