From 9587aefcbe08b7264c3857b040c59dae43ac87ff Mon Sep 17 00:00:00 2001 From: Alex Hong <9397363+hongalex@users.noreply.github.com> Date: Mon, 27 Jul 2020 16:22:36 -0700 Subject: [PATCH] fix(pubsub): parse EnableMessageOrdering on GetSubscription (#2647) --- pubsub/subscription.go | 21 +++++++++++---------- pubsub/subscription_test.go | 24 ++++++++++++++++++++++++ 2 files changed, 35 insertions(+), 10 deletions(-) diff --git a/pubsub/subscription.go b/pubsub/subscription.go index 951375211f80..0af3238cbabd 100644 --- a/pubsub/subscription.go +++ b/pubsub/subscription.go @@ -308,16 +308,17 @@ func protoToSubscriptionConfig(pbSub *pb.Subscription, c *Client) (SubscriptionC dlp := protoToDLP(pbSub.DeadLetterPolicy) rp := protoToRetryPolicy(pbSub.RetryPolicy) subC := SubscriptionConfig{ - Topic: newTopic(c, pbSub.Topic), - AckDeadline: time.Second * time.Duration(pbSub.AckDeadlineSeconds), - RetainAckedMessages: pbSub.RetainAckedMessages, - RetentionDuration: rd, - Labels: pbSub.Labels, - ExpirationPolicy: expirationPolicy, - DeadLetterPolicy: dlp, - Filter: pbSub.Filter, - RetryPolicy: rp, - Detached: pbSub.Detached, + Topic: newTopic(c, pbSub.Topic), + AckDeadline: time.Second * time.Duration(pbSub.AckDeadlineSeconds), + RetainAckedMessages: pbSub.RetainAckedMessages, + RetentionDuration: rd, + Labels: pbSub.Labels, + ExpirationPolicy: expirationPolicy, + EnableMessageOrdering: pbSub.EnableMessageOrdering, + DeadLetterPolicy: dlp, + Filter: pbSub.Filter, + RetryPolicy: rp, + Detached: pbSub.Detached, } pc := protoToPushConfig(pbSub.PushConfig) if pc != nil { diff --git a/pubsub/subscription_test.go b/pubsub/subscription_test.go index 8fe6710773ce..761020682453 100644 --- a/pubsub/subscription_test.go +++ b/pubsub/subscription_test.go @@ -375,3 +375,27 @@ func TestRetryPolicy_toProto(t *testing.T) { t.Errorf("Roundtrip to Proto failed\ngot: - want: +\n%s", diff) } } + +func TestOrdering_CreateSubscription(t *testing.T) { + ctx := context.Background() + client, srv := newFake(t) + defer client.Close() + defer srv.Close() + + topic := mustCreateTopic(t, client, "t") + subConfig := SubscriptionConfig{ + Topic: topic, + EnableMessageOrdering: true, + } + orderSub, err := client.CreateSubscription(ctx, "s", subConfig) + if err != nil { + t.Fatal(err) + } + cfg, err := orderSub.Config(ctx) + if err != nil { + t.Fatal(err) + } + if !cfg.EnableMessageOrdering { + t.Fatalf("Expected EnableMessageOrdering to be true in %s", orderSub.String()) + } +}