added http related mocks
This commit is contained in:
		
							parent
							
								
									e4d8bfad7b
								
							
						
					
					
						commit
						e8be64ae28
					
				
							
								
								
									
										30
									
								
								internal/mocks/httpmocks/enginemock.go
									
									
									
									
									
										Normal file
									
								
							
							
						
						
									
										30
									
								
								internal/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)
 | 
			
		||||
	WriteResultFunc 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) WriteResult(ctx context.Context, w io.Writer) (int, error) {
 | 
			
		||||
	return m.WriteResultFunc(ctx, w)
 | 
			
		||||
}
 | 
			
		||||
 | 
			
		||||
func (m *MockEngine) Finish() error {
 | 
			
		||||
	return m.FinishFunc()
 | 
			
		||||
}
 | 
			
		||||
							
								
								
									
										47
									
								
								internal/mocks/httpmocks/requesthandlermock.go
									
									
									
									
									
										Normal file
									
								
							
							
						
						
									
										47
									
								
								internal/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/mocks/httpmocks/requestparsermock.go
									
									
									
									
									
										Normal file
									
								
							
							
						
						
									
										15
									
								
								internal/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/mocks/httpmocks/writermock.go
									
									
									
									
									
										Normal file
									
								
							
							
						
						
									
										25
									
								
								internal/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) {}
 | 
			
		||||
		Loading…
	
		Reference in New Issue
	
	Block a user