Files
SugarDB/utils/mock.go
Kelvin Clement Mwinuka b5cadf43a7 Created writer mock.
Created mock server.
Added test for ping command plugin.
2023-07-13 18:37:53 +08:00

52 lines
743 B
Go

package utils
import (
"bytes"
"io"
"sync"
)
type CustomWriter struct {
Buf bytes.Buffer
}
func (cw *CustomWriter) Write(p []byte) (int, error) {
count := 0
for _, b := range p {
cw.Buf.WriteByte(b)
count += 1
}
if count != len(p) {
return count, io.ErrShortWrite
}
return count, nil
}
type MockData struct {
mu sync.Mutex
data map[string]interface{}
}
type MockServer struct {
data MockData
}
func (server *MockServer) Lock() {
server.data.mu.Lock()
}
func (server *MockServer) Unlock() {
server.data.mu.Unlock()
}
func (server *MockServer) GetData(key string) interface{} {
return server.data.data[key]
}
func (server *MockServer) SetData(key string, value interface{}) {
server.data.data[key] = value
}