tests-refactor #137
							
								
								
									
										59
									
								
								internal/testutil/mocks/dbmock.go
									
									
									
									
									
										Normal file
									
								
							
							
						
						
									
										59
									
								
								internal/testutil/mocks/dbmock.go
									
									
									
									
									
										Normal file
									
								
							| @ -0,0 +1,59 @@ | ||||
| package mocks | ||||
| 
 | ||||
| import ( | ||||
| 	"context" | ||||
| 
 | ||||
| 	"git.defalsify.org/vise.git/lang" | ||||
| 	"github.com/stretchr/testify/mock" | ||||
| ) | ||||
| 
 | ||||
| type MockDb struct { | ||||
| 	mock.Mock | ||||
| } | ||||
| 
 | ||||
| func (m *MockDb) SetPrefix(prefix uint8) { | ||||
| 	m.Called(prefix) | ||||
| } | ||||
| 
 | ||||
| func (m *MockDb) Prefix() uint8 { | ||||
| 	args := m.Called() | ||||
| 	return args.Get(0).(uint8) | ||||
| } | ||||
| 
 | ||||
| func (m *MockDb) Safe() bool { | ||||
| 	args := m.Called() | ||||
| 	return args.Get(0).(bool) | ||||
| } | ||||
| 
 | ||||
| func (m *MockDb) SetLanguage(language *lang.Language) { | ||||
| 	m.Called(language) | ||||
| } | ||||
| 
 | ||||
| func (m *MockDb) SetLock(uint8, bool) error { | ||||
| 	args := m.Called() | ||||
| 	return args.Error(0) | ||||
| } | ||||
| 
 | ||||
| func (m *MockDb) Connect(ctx context.Context, connectionStr string) error { | ||||
| 	args := m.Called(ctx, connectionStr) | ||||
| 	return args.Error(0) | ||||
| } | ||||
| 
 | ||||
| func (m *MockDb) SetSession(sessionId string) { | ||||
| 	m.Called(sessionId) | ||||
| } | ||||
| 
 | ||||
| func (m *MockDb) Put(ctx context.Context, key, value []byte) error { | ||||
| 	args := m.Called(ctx, key, value) | ||||
| 	return args.Error(0) | ||||
| } | ||||
| 
 | ||||
| func (m *MockDb) Get(ctx context.Context, key []byte) ([]byte, error) { | ||||
| 	args := m.Called(ctx, key) | ||||
| 	return nil, args.Error(0) | ||||
| } | ||||
| 
 | ||||
| func (m *MockDb) Close() error { | ||||
| 	args := m.Called(nil) | ||||
| 	return args.Error(0) | ||||
| } | ||||
							
								
								
									
										30
									
								
								internal/testutil/mocks/httpmocks/enginemock.go
									
									
									
									
									
										Normal file
									
								
							
							
						
						
									
										30
									
								
								internal/testutil/mocks/httpmocks/enginemock.go
									
									
									
									
									
										Normal file
									
								
							| @ -0,0 +1,30 @@ | ||||
| package httpmocks | ||||
| 
 | ||||
| import ( | ||||
| 	"context" | ||||
| 	"io" | ||||
| ) | ||||
| 
 | ||||
| // MockEngine implements the engine.Engine interface for testing
 | ||||
| type MockEngine struct { | ||||
| 	InitFunc   func(context.Context) (bool, error) | ||||
| 	ExecFunc   func(context.Context, []byte) (bool, error) | ||||
| 	FlushFunc  func(context.Context, io.Writer) (int, error) | ||||
| 	FinishFunc func() error | ||||
| } | ||||
| 
 | ||||
| func (m *MockEngine) Init(ctx context.Context) (bool, error) { | ||||
| 	return m.InitFunc(ctx) | ||||
| } | ||||
| 
 | ||||
| func (m *MockEngine) Exec(ctx context.Context, input []byte) (bool, error) { | ||||
| 	return m.ExecFunc(ctx, input) | ||||
| } | ||||
| 
 | ||||
| func (m *MockEngine) Flush(ctx context.Context, w io.Writer) (int, error) { | ||||
| 	return m.FlushFunc(ctx, w) | ||||
| } | ||||
| 
 | ||||
| func (m *MockEngine) Finish() error { | ||||
| 	return m.FinishFunc() | ||||
| } | ||||
							
								
								
									
										47
									
								
								internal/testutil/mocks/httpmocks/requesthandlermock.go
									
									
									
									
									
										Normal file
									
								
							
							
						
						
									
										47
									
								
								internal/testutil/mocks/httpmocks/requesthandlermock.go
									
									
									
									
									
										Normal file
									
								
							| @ -0,0 +1,47 @@ | ||||
| package httpmocks | ||||
| 
 | ||||
| import ( | ||||
| 	"git.defalsify.org/vise.git/engine" | ||||
| 	"git.defalsify.org/vise.git/persist" | ||||
| 	"git.defalsify.org/vise.git/resource" | ||||
| 	"git.grassecon.net/urdt/ussd/internal/handlers" | ||||
| ) | ||||
| 
 | ||||
| // MockRequestHandler implements handlers.RequestHandler interface for testing
 | ||||
| type MockRequestHandler struct { | ||||
| 	ProcessFunc          func(handlers.RequestSession) (handlers.RequestSession, error) | ||||
| 	GetConfigFunc        func() engine.Config | ||||
| 	GetEngineFunc        func(cfg engine.Config, rs resource.Resource, pe *persist.Persister) engine.Engine | ||||
| 	OutputFunc           func(rs handlers.RequestSession) (handlers.RequestSession, error) | ||||
| 	ResetFunc            func(rs handlers.RequestSession) (handlers.RequestSession, error) | ||||
| 	ShutdownFunc         func() | ||||
| 	GetRequestParserFunc func() handlers.RequestParser | ||||
| } | ||||
| 
 | ||||
| func (m *MockRequestHandler) Process(rqs handlers.RequestSession) (handlers.RequestSession, error) { | ||||
| 	return m.ProcessFunc(rqs) | ||||
| } | ||||
| 
 | ||||
| func (m *MockRequestHandler) GetConfig() engine.Config { | ||||
| 	return m.GetConfigFunc() | ||||
| } | ||||
| 
 | ||||
| func (m *MockRequestHandler) GetEngine(cfg engine.Config, rs resource.Resource, pe *persist.Persister) engine.Engine { | ||||
| 	return m.GetEngineFunc(cfg, rs, pe) | ||||
| } | ||||
| 
 | ||||
| func (m *MockRequestHandler) Output(rs handlers.RequestSession) (handlers.RequestSession, error) { | ||||
| 	return m.OutputFunc(rs) | ||||
| } | ||||
| 
 | ||||
| func (m *MockRequestHandler) Reset(rs handlers.RequestSession) (handlers.RequestSession, error) { | ||||
| 	return m.ResetFunc(rs) | ||||
| } | ||||
| 
 | ||||
| func (m *MockRequestHandler) Shutdown() { | ||||
| 	m.ShutdownFunc() | ||||
| } | ||||
| 
 | ||||
| func (m *MockRequestHandler) GetRequestParser() handlers.RequestParser { | ||||
| 	return m.GetRequestParserFunc() | ||||
| } | ||||
							
								
								
									
										15
									
								
								internal/testutil/mocks/httpmocks/requestparsermock.go
									
									
									
									
									
										Normal file
									
								
							
							
						
						
									
										15
									
								
								internal/testutil/mocks/httpmocks/requestparsermock.go
									
									
									
									
									
										Normal file
									
								
							| @ -0,0 +1,15 @@ | ||||
| package httpmocks | ||||
| 
 | ||||
| // MockRequestParser implements the handlers.RequestParser interface for testing
 | ||||
| type MockRequestParser struct { | ||||
| 	GetSessionIdFunc func(any) (string, error) | ||||
| 	GetInputFunc     func(any) ([]byte, error) | ||||
| } | ||||
| 
 | ||||
| func (m *MockRequestParser) GetSessionId(rq any) (string, error) { | ||||
| 	return m.GetSessionIdFunc(rq) | ||||
| } | ||||
| 
 | ||||
| func (m *MockRequestParser) GetInput(rq any) ([]byte, error) { | ||||
| 	return m.GetInputFunc(rq) | ||||
| } | ||||
							
								
								
									
										25
									
								
								internal/testutil/mocks/httpmocks/writermock.go
									
									
									
									
									
										Normal file
									
								
							
							
						
						
									
										25
									
								
								internal/testutil/mocks/httpmocks/writermock.go
									
									
									
									
									
										Normal file
									
								
							| @ -0,0 +1,25 @@ | ||||
| package httpmocks | ||||
| 
 | ||||
| import "net/http" | ||||
| 
 | ||||
| // MockWriter implements a mock io.Writer for testing
 | ||||
| type MockWriter struct { | ||||
| 	WriteStringCalled bool | ||||
| 	WrittenString     string | ||||
| } | ||||
| 
 | ||||
| func (m *MockWriter) Write(p []byte) (n int, err error) { | ||||
| 	return len(p), nil | ||||
| } | ||||
| 
 | ||||
| func (m *MockWriter) WriteString(s string) (n int, err error) { | ||||
| 	m.WriteStringCalled = true | ||||
| 	m.WrittenString = s | ||||
| 	return len(s), nil | ||||
| } | ||||
| 
 | ||||
| func (m *MockWriter) Header() http.Header { | ||||
| 	return http.Header{} | ||||
| } | ||||
| 
 | ||||
| func (m *MockWriter) WriteHeader(statusCode int) {} | ||||
							
								
								
									
										26
									
								
								internal/testutil/mocks/servicemock.go
									
									
									
									
									
										Normal file
									
								
							
							
						
						
									
										26
									
								
								internal/testutil/mocks/servicemock.go
									
									
									
									
									
										Normal file
									
								
							| @ -0,0 +1,26 @@ | ||||
| package mocks | ||||
| 
 | ||||
| import ( | ||||
| 	"git.grassecon.net/urdt/ussd/internal/models" | ||||
| 	"github.com/stretchr/testify/mock" | ||||
| ) | ||||
| 
 | ||||
| // MockAccountService implements AccountServiceInterface for testing
 | ||||
| type MockAccountService struct { | ||||
| 	mock.Mock | ||||
| } | ||||
| 
 | ||||
| func (m *MockAccountService) CreateAccount() (*models.AccountResponse, error) { | ||||
| 	args := m.Called() | ||||
| 	return args.Get(0).(*models.AccountResponse), args.Error(1) | ||||
| } | ||||
| 
 | ||||
| func (m *MockAccountService) CheckBalance(publicKey string) (*models.BalanceResponse, error) { | ||||
| 	args := m.Called(publicKey) | ||||
| 	return args.Get(0).(*models.BalanceResponse), args.Error(1) | ||||
| } | ||||
| 
 | ||||
| func (m *MockAccountService) CheckAccountStatus(trackingId string) (*models.TrackStatusResponse, error) { | ||||
| 	args := m.Called(trackingId) | ||||
| 	return args.Get(0).(*models.TrackStatusResponse), args.Error(1) | ||||
| } | ||||
		Loading…
	
		Reference in New Issue
	
	Block a user