fix(pubsub): parse EnableMessageOrdering on GetSubscription (#2647)
diff --git a/pubsub/subscription.go b/pubsub/subscription.go
index 9513752..0af3238 100644
--- a/pubsub/subscription.go
+++ b/pubsub/subscription.go
@@ -308,16 +308,17 @@
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 8fe6710..7610206 100644
--- a/pubsub/subscription_test.go
+++ b/pubsub/subscription_test.go
@@ -375,3 +375,27 @@
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())
+ }
+}