Add primitive relay tests

This commit is contained in:
9seconds
2021-03-24 10:08:04 +03:00
parent 6219f4bd90
commit 6b1bfe7b17
3 changed files with 113 additions and 4 deletions
+49
View File
@@ -0,0 +1,49 @@
package relay_test
import (
"bytes"
"io"
"sync"
)
type loggerMock struct{}
func (l loggerMock) Printf(format string, args ...interface{}) {}
type rwcMock struct {
bytes.Buffer
closed bool
mutex sync.Mutex
}
func (r *rwcMock) Read(p []byte) (int, error) {
r.mutex.Lock()
defer r.mutex.Unlock()
if r.closed {
return 0, io.EOF
}
return r.Buffer.Read(p)
}
func (r *rwcMock) Write(p []byte) (int, error) {
r.mutex.Lock()
defer r.mutex.Unlock()
if r.closed {
return 0, io.EOF
}
return r.Buffer.Write(p)
}
func (r *rwcMock) Close() error {
r.mutex.Lock()
defer r.mutex.Unlock()
r.closed = true
return nil
}