diff --git a/testing/conn_mock.go b/testing/conn_mock.go
index 86e8e1ae7d1c91eaa6efce317d34e8b08212c825..893cd446c9e50c99ce40f1c14ad318052692893c 100644
--- a/testing/conn_mock.go
+++ b/testing/conn_mock.go
@@ -27,6 +27,6 @@ func (m *MockConn) Read(b []byte) (n int, err error) {
 		count = len(m.Bytes)
 	}
 
-	copy(m.Bytes[0:count], b)
+	copy(b, m.Bytes[0:count])
 	return count, nil
 }
diff --git a/testing/conn_mock_test.go b/testing/conn_mock_test.go
new file mode 100644
index 0000000000000000000000000000000000000000..b77bd063a45b685fcabe9b76d3cc02ead5f8663e
--- /dev/null
+++ b/testing/conn_mock_test.go
@@ -0,0 +1,28 @@
+package testing
+
+import (
+	"testing"
+
+	"github.com/stretchr/testify/assert"
+)
+
+func TestWrite(t *testing.T) {
+	m := &MockConn{}
+
+	payload := []byte{1, 2, 3}
+	m.Write(payload)
+
+	assert.Equal(t, payload, m.Bytes)
+}
+
+func TestRead(t *testing.T) {
+	m := &MockConn{}
+
+	payload := []byte{1, 2, 3}
+	m.Bytes = payload
+
+	buffer := make([]byte, 4)
+	m.Read(buffer)
+
+	assert.Equal(t, payload, buffer[:3])
+}