Skip to content

Commit 335a86a

Browse files
authored
TestMain, test coverage (#24)
1 parent 51f6786 commit 335a86a

File tree

7 files changed

+30
-43
lines changed

7 files changed

+30
-43
lines changed

Makefile

Lines changed: 4 additions & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -2,7 +2,7 @@ RELEASE_VERSION =v0.8.0
22
GDOC_PORT =8888
33
PROTO_ROOT =https://raw.githubusercontent.com/dapr/dapr/master/dapr/proto/
44

5-
.PHONY: mod test service client lint protps tag lint docs clean protos help
5+
.PHONY: mod test cover service client lint protps tag docs clean help
66
all: test
77

88
mod: ## Updates the go modules
@@ -12,6 +12,9 @@ test: mod ## Tests the entire project
1212
go test -v -count=1 -race ./...
1313
# go test -v -count=1 -run NameOfSingleTest ./...
1414

15+
cover: mod ## Displays test coverage in the Client package
16+
go test -coverprofile=cover.out ./client && go tool cover -html=cover.out
17+
1518
service: mod ## Runs the uncompiled example service code
1619
dapr run --app-id serving \
1720
--protocol grpc \

client/binding_test.go

Lines changed: 2 additions & 7 deletions
Original file line numberDiff line numberDiff line change
@@ -9,23 +9,18 @@ import (
99

1010
func TestInvokeBinding(t *testing.T) {
1111
ctx := context.Background()
12-
client, closer := getTestClient(ctx, t)
13-
defer closer()
1412

1513
mIn := make(map[string]string)
1614
mIn["test"] = "value"
1715

18-
out, mOut, err := client.InvokeBinding(ctx, "serving", "EchoMethod", []byte("ping"), mIn)
16+
out, mOut, err := testClient.InvokeBinding(ctx, "serving", "EchoMethod", []byte("ping"), mIn)
1917
assert.Nil(t, err)
2018
assert.NotNil(t, mOut)
2119
assert.NotNil(t, out)
2220
}
2321

2422
func TestInvokeOutputBinding(t *testing.T) {
2523
ctx := context.Background()
26-
client, closer := getTestClient(ctx, t)
27-
defer closer()
28-
29-
err := client.InvokeOutputBinding(ctx, "serving", "EchoMethod", []byte("ping"))
24+
err := testClient.InvokeOutputBinding(ctx, "serving", "EchoMethod", []byte("ping"))
3025
assert.Nil(t, err)
3126
}

client/client_test.go

Lines changed: 16 additions & 13 deletions
Original file line numberDiff line numberDiff line change
@@ -3,6 +3,7 @@ package client
33
import (
44
"context"
55
"net"
6+
"os"
67
"testing"
78

89
"github.com/golang/protobuf/ptypes/empty"
@@ -19,12 +20,17 @@ const (
1920
testBufSize = 1024 * 1024
2021
)
2122

22-
func TestNewClientWithConnection(t *testing.T) {
23+
var (
24+
testClient Client
25+
)
26+
27+
func TestMain(m *testing.M) {
2328
ctx := context.Background()
24-
client, closer := getTestClient(ctx, t)
25-
assert.NotNil(t, closer)
26-
defer closer()
27-
assert.NotNil(t, client)
29+
c, f := getTestClient(ctx)
30+
testClient = c
31+
r := m.Run()
32+
f()
33+
os.Exit(r)
2834
}
2935

3036
func TestNewClientWithoutArgs(t *testing.T) {
@@ -34,16 +40,13 @@ func TestNewClientWithoutArgs(t *testing.T) {
3440
assert.NotNil(t, err)
3541
}
3642

37-
func getTestClient(ctx context.Context, t *testing.T) (client Client, closer func()) {
38-
l := bufconn.Listen(testBufSize)
43+
func getTestClient(ctx context.Context) (client Client, closer func()) {
3944
s := grpc.NewServer()
40-
41-
server := &testDaprServer{
45+
pb.RegisterDaprServer(s, &testDaprServer{
4246
state: make(map[string][]byte),
43-
}
44-
45-
pb.RegisterDaprServer(s, server)
47+
})
4648

49+
l := bufconn.Listen(testBufSize)
4750
go func() {
4851
if err := s.Serve(l); err != nil {
4952
logger.Fatalf("test server exited with error: %v", err)
@@ -56,7 +59,7 @@ func getTestClient(ctx context.Context, t *testing.T) (client Client, closer fun
5659

5760
c, err := grpc.DialContext(ctx, "", d, grpc.WithInsecure())
5861
if err != nil {
59-
t.Fatalf("failed to dial test context: %v", err)
62+
logger.Fatalf("failed to dial test context: %v", err)
6063
}
6164

6265
closer = func() {

client/invoke_test.go

Lines changed: 2 additions & 8 deletions
Original file line numberDiff line numberDiff line change
@@ -9,10 +9,7 @@ import (
99

1010
func TestInvokeServiceWithContent(t *testing.T) {
1111
ctx := context.Background()
12-
client, closer := getTestClient(ctx, t)
13-
defer closer()
14-
15-
resp, err := client.InvokeServiceWithContent(ctx, "serving", "EchoMethod",
12+
resp, err := testClient.InvokeServiceWithContent(ctx, "serving", "EchoMethod",
1613
"text/plain; charset=UTF-8", []byte("ping"))
1714
assert.Nil(t, err)
1815
assert.NotNil(t, resp)
@@ -21,10 +18,7 @@ func TestInvokeServiceWithContent(t *testing.T) {
2118

2219
func TestInvokeService(t *testing.T) {
2320
ctx := context.Background()
24-
client, closer := getTestClient(ctx, t)
25-
defer closer()
26-
27-
resp, err := client.InvokeService(ctx, "serving", "EchoMethod")
21+
resp, err := testClient.InvokeService(ctx, "serving", "EchoMethod")
2822
assert.Nil(t, err)
2923
assert.Nil(t, resp)
3024
}

client/pubsub_test.go

Lines changed: 1 addition & 4 deletions
Original file line numberDiff line numberDiff line change
@@ -9,9 +9,6 @@ import (
99

1010
func TestPublishEvent(t *testing.T) {
1111
ctx := context.Background()
12-
client, closer := getTestClient(ctx, t)
13-
defer closer()
14-
15-
err := client.PublishEvent(ctx, "serving", []byte("ping"))
12+
err := testClient.PublishEvent(ctx, "serving", []byte("ping"))
1613
assert.Nil(t, err)
1714
}

client/secret_test.go

Lines changed: 2 additions & 5 deletions
Original file line numberDiff line numberDiff line change
@@ -9,17 +9,14 @@ import (
99

1010
func TestGetSecret(t *testing.T) {
1111
ctx := context.Background()
12-
client, closer := getTestClient(ctx, t)
13-
defer closer()
14-
15-
out, err := client.GetSecret(ctx, "store", "key1", nil)
12+
out, err := testClient.GetSecret(ctx, "store", "key1", nil)
1613
assert.Nil(t, err)
1714
assert.NotNil(t, out)
1815

1916
in := make(map[string]string)
2017
in["test"] = "value"
2118

22-
out, err = client.GetSecret(ctx, "store", "key1", in)
19+
out, err = testClient.GetSecret(ctx, "store", "key1", in)
2320
assert.Nil(t, err)
2421
assert.NotNil(t, out)
2522
}

client/state_test.go

Lines changed: 3 additions & 5 deletions
Original file line numberDiff line numberDiff line change
@@ -39,18 +39,16 @@ func TestStateOptionsConverter(t *testing.T) {
3939
func TestSaveStateData(t *testing.T) {
4040
ctx := context.Background()
4141
data := "test"
42-
client, closer := getTestClient(ctx, t)
43-
defer closer()
4442

45-
err := client.SaveStateData(ctx, "store", "key1", "", []byte(data))
43+
err := testClient.SaveStateData(ctx, "store", "key1", "", []byte(data))
4644
assert.Nil(t, err)
4745

48-
out, etag, err := client.GetState(ctx, "store", "key1")
46+
out, etag, err := testClient.GetState(ctx, "store", "key1")
4947
assert.Nil(t, err)
5048
assert.NotEmpty(t, etag)
5149
assert.NotNil(t, out)
5250
assert.Equal(t, string(out), data)
5351

54-
err = client.DeleteState(ctx, "store", "key1")
52+
err = testClient.DeleteState(ctx, "store", "key1")
5553
assert.Nil(t, err)
5654
}

0 commit comments

Comments
 (0)