mirror of
https://github.com/EchoVault/SugarDB.git
synced 2025-10-16 04:50:45 +08:00
Created writer mock.
Created mock server. Added test for ping command plugin.
This commit is contained in:
51
utils/mock.go
Normal file
51
utils/mock.go
Normal file
@@ -0,0 +1,51 @@
|
||||
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
|
||||
}
|
Reference in New Issue
Block a user