Skip to content

Commit ceee14b

Browse files
author
Divjot Arora
committed
Remove testing dependency from internal
GODRIVER-769 Change-Id: I6cd5f9e1f48b2256f6308b6f59e9a2ba945c260b
1 parent ecb738a commit ceee14b

File tree

4 files changed

+36
-27
lines changed

4 files changed

+36
-27
lines changed

internal/channel_connection.go

Lines changed: 6 additions & 6 deletions
Original file line numberDiff line numberDiff line change
@@ -8,17 +8,17 @@ package internal
88

99
import (
1010
"context"
11-
"testing"
1211

1312
"github.com/mongodb/mongo-go-driver/bson"
1413
"github.com/mongodb/mongo-go-driver/x/bsonx"
1514
"github.com/mongodb/mongo-go-driver/x/network/wiremessage"
15+
"errors"
16+
"fmt"
1617
)
1718

1819
// Implements the connection.Connection interface by reading and writing wire messages
1920
// to a channel
2021
type ChannelConn struct {
21-
T *testing.T
2222
WriteErr error
2323
Written chan wiremessage.WireMessage
2424
ReadResp chan wiremessage.WireMessage
@@ -29,7 +29,7 @@ func (c *ChannelConn) WriteWireMessage(ctx context.Context, wm wiremessage.WireM
2929
select {
3030
case c.Written <- wm:
3131
default:
32-
c.T.Error("could not write wiremessage to written channel")
32+
c.WriteErr = errors.New("could not write wiremessage to written channel")
3333
}
3434
return c.WriteErr
3535
}
@@ -62,13 +62,13 @@ func (c *ChannelConn) ID() string {
6262
}
6363

6464
// Create a OP_REPLY wiremessage from a BSON document
65-
func MakeReply(t *testing.T, doc bsonx.Doc) wiremessage.WireMessage {
65+
func MakeReply(doc bsonx.Doc) (wiremessage.WireMessage, error) {
6666
rdr, err := doc.MarshalBSON()
6767
if err != nil {
68-
t.Fatalf("Could not create document: %v", err)
68+
return nil, errors.New(fmt.Sprintf("could not create document: %v", err))
6969
}
7070
return wiremessage.Reply{
7171
NumberReturned: 1,
7272
Documents: []bson.Raw{rdr},
73-
}
73+
}, nil
7474
}

x/mongo/driver/auth/mongodbcr_test.go

Lines changed: 17 additions & 7 deletions
Original file line numberDiff line numberDiff line change
@@ -29,13 +29,13 @@ func TestMongoDBCRAuthenticator_Fails(t *testing.T) {
2929
}
3030

3131
resps := make(chan wiremessage.WireMessage, 2)
32-
resps <- internal.MakeReply(t, bsonx.Doc{
32+
writeReplies(t, resps, bsonx.Doc{
3333
{"ok", bsonx.Int32(1)},
3434
{"nonce", bsonx.String("2375531c32080ae8")},
35+
}, bsonx.Doc{
36+
{"ok", bsonx.Int32(0)},
3537
})
3638

37-
resps <- internal.MakeReply(t, bsonx.Doc{{"ok", bsonx.Int32(0)}})
38-
3939
c := &internal.ChannelConn{Written: make(chan wiremessage.WireMessage, 2), ReadResp: resps}
4040

4141
err := authenticator.Auth(context.Background(), description.Server{
@@ -63,14 +63,13 @@ func TestMongoDBCRAuthenticator_Succeeds(t *testing.T) {
6363
}
6464

6565
resps := make(chan wiremessage.WireMessage, 2)
66-
67-
resps <- internal.MakeReply(t, bsonx.Doc{
66+
writeReplies(t, resps, bsonx.Doc{
6867
{"ok", bsonx.Int32(1)},
6968
{"nonce", bsonx.String("2375531c32080ae8")},
69+
}, bsonx.Doc{
70+
{"ok", bsonx.Int32(1)},
7071
})
7172

72-
resps <- internal.MakeReply(t, bsonx.Doc{{"ok", bsonx.Int32(1)}})
73-
7473
c := &internal.ChannelConn{Written: make(chan wiremessage.WireMessage, 2), ReadResp: resps}
7574

7675
err := authenticator.Auth(context.Background(), description.Server{
@@ -97,3 +96,14 @@ func TestMongoDBCRAuthenticator_Succeeds(t *testing.T) {
9796
}
9897
compareResponses(t, <-c.Written, expectedAuthenticateDoc, "source")
9998
}
99+
100+
func writeReplies(t *testing.T, c chan wiremessage.WireMessage, docs ...bsonx.Doc) {
101+
for _, doc := range docs {
102+
reply, err := internal.MakeReply(doc)
103+
if err != nil {
104+
t.Fatalf("error constructing reply: %v", err)
105+
}
106+
107+
c <- reply
108+
}
109+
}

x/mongo/driver/auth/plain_test.go

Lines changed: 11 additions & 12 deletions
Original file line numberDiff line numberDiff line change
@@ -29,13 +29,13 @@ func TestPlainAuthenticator_Fails(t *testing.T) {
2929
}
3030

3131
resps := make(chan wiremessage.WireMessage, 1)
32-
resps <- internal.MakeReply(t, bsonx.Doc{
32+
writeReplies(t, resps, bsonx.Doc{
3333
{"ok", bsonx.Int32(1)},
3434
{"conversationId", bsonx.Int32(1)},
3535
{"payload", bsonx.Binary(0x00, []byte{})},
3636
{"code", bsonx.Int32(143)},
37-
{"done", bsonx.Boolean(true)}},
38-
)
37+
{"done", bsonx.Boolean(true)},
38+
})
3939

4040
c := &internal.ChannelConn{Written: make(chan wiremessage.WireMessage, 1), ReadResp: resps}
4141

@@ -63,18 +63,17 @@ func TestPlainAuthenticator_Extra_server_message(t *testing.T) {
6363
}
6464

6565
resps := make(chan wiremessage.WireMessage, 2)
66-
resps <- internal.MakeReply(t, bsonx.Doc{
66+
writeReplies(t, resps, bsonx.Doc{
6767
{"ok", bsonx.Int32(1)},
6868
{"conversationId", bsonx.Int32(1)},
6969
{"payload", bsonx.Binary(0x00, []byte{})},
70-
{"done", bsonx.Boolean(false)}},
71-
)
72-
resps <- internal.MakeReply(t, bsonx.Doc{
70+
{"done", bsonx.Boolean(false)},
71+
}, bsonx.Doc{
7372
{"ok", bsonx.Int32(1)},
7473
{"conversationId", bsonx.Int32(1)},
7574
{"payload", bsonx.Binary(0x00, []byte{})},
76-
{"done", bsonx.Boolean(true)}},
77-
)
75+
{"done", bsonx.Boolean(true)},
76+
})
7877

7978
c := &internal.ChannelConn{Written: make(chan wiremessage.WireMessage, 1), ReadResp: resps}
8079

@@ -102,12 +101,12 @@ func TestPlainAuthenticator_Succeeds(t *testing.T) {
102101
}
103102

104103
resps := make(chan wiremessage.WireMessage, 1)
105-
resps <- internal.MakeReply(t, bsonx.Doc{
104+
writeReplies(t, resps, bsonx.Doc{
106105
{"ok", bsonx.Int32(1)},
107106
{"conversationId", bsonx.Int32(1)},
108107
{"payload", bsonx.Binary(0x00, []byte{})},
109-
{"done", bsonx.Boolean(true)}},
110-
)
108+
{"done", bsonx.Boolean(true)},
109+
})
111110

112111
c := &internal.ChannelConn{Written: make(chan wiremessage.WireMessage, 1), ReadResp: resps}
113112

x/mongo/driver/topology/cursor_test.go

Lines changed: 2 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -172,15 +172,15 @@ func (m *mockConnection) ReadWireMessage(ctx context.Context) (wiremessage.WireM
172172
// write empty batch
173173
d := createOKBatchReplyDoc(2, bsonx.Arr{})
174174

175-
return internal.MakeReply(m.t, d), nil
175+
return internal.MakeReply(d)
176176
} else if m.willErr {
177177
// write error
178178
return nil, errors.New("intentional mock error")
179179
} else {
180180
// write non-empty batch
181181
d := createOKBatchReplyDoc(2, bsonx.Arr{bsonx.String("a")})
182182

183-
return internal.MakeReply(m.t, d), nil
183+
return internal.MakeReply(d)
184184
}
185185
}
186186

0 commit comments

Comments
 (0)