Files
SugarDB/server/mock.go
Kelvin Clement Mwinuka d4a5997b30 Scrapped plugin design in favour of simple command interfaces.
Setup docker build process for running server.
Deleted test files.
2023-07-22 05:34:07 +08:00

52 lines
742 B
Go

package main
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
}