pubsub: improve readability of logs in tests
Currently, when TestIntegration_All fails, it prints out the
messages as pointers. This change improves readability by allowing
the logs to print the actual message struct, rather than
the pointer.
current:
integration_test.go:283: MaxOutstandingMessages=0, Synchronous=true, messages got: map[1219445420725119:0xc0007c2360], messages want: map[1219455503712554:0xc0007c2090]
after:
integration_test.go:283: MaxOutstandingMessages=0, Synchronous=false, messages got: map[1232099152913228:{ID:1232099152913228 Data:a message with an index 0 - Attributes:map[foo:bar]}...
Change-Id: I9e9a0358492c3727157e956925e262d91c0d7a9b
Reviewed-on: https://code-review.googlesource.com/c/gocloud/+/57010
Reviewed-by: Seth Hollyman <shollyman@google.com>
Reviewed-by: kokoro <noreply+kokoro@google.com>
diff --git a/pubsub/integration_test.go b/pubsub/integration_test.go
index a015b30..7fb403e 100644
--- a/pubsub/integration_test.go
+++ b/pubsub/integration_test.go
@@ -54,14 +54,14 @@
// of another message without regard to irrelevant fields.
type messageData struct {
ID string
- Data []byte
+ Data string
Attributes map[string]string
}
-func extractMessageData(m *Message) *messageData {
- return &messageData{
+func extractMessageData(m *Message) messageData {
+ return messageData{
ID: m.ID,
- Data: m.Data,
+ Data: string(m.Data),
Attributes: m.Attributes,
}
}
@@ -243,7 +243,7 @@
r := topic.Publish(ctx, m)
rs = append(rs, pubResult{m, r})
}
- want := make(map[string]*messageData)
+ want := make(map[string]messageData)
for _, res := range rs {
id, err := res.r.Get(ctx)
if err != nil {
@@ -274,13 +274,13 @@
t.Fatalf("Pull: %v", err)
}
}
- got := make(map[string]*messageData)
+ got := make(map[string]messageData)
for _, m := range gotMsgs {
md := extractMessageData(m)
got[md.ID] = md
}
if !testutil.Equal(got, want) {
- t.Fatalf("MaxOutstandingMessages=%d, Synchronous=%t, messages got: %v, messages want: %v",
+ t.Fatalf("MaxOutstandingMessages=%d, Synchronous=%t, messages got: %+v, messages want: %+v",
maxMsgs, synchronous, got, want)
}
}