set subscription metadata in topicregistrar (fix #256) (#258)

Signed-off-by: Paul Thiele <thielepaul@gmail.com>
This commit is contained in:
thielepaul 2022-02-18 06:26:14 +01:00 committed by GitHub
parent 4298f3fa7d
commit 49deb758ee
No known key found for this signature in database
GPG Key ID: 4AEE18F83AFDEB23
2 changed files with 23 additions and 0 deletions

View File

@ -37,6 +37,7 @@ func (m TopicRegistrar) AddSubscription(sub *common.Subscription, fn common.Topi
RouteHandlers: make(map[string]common.TopicEventHandler),
DefaultHandler: nil,
}
ts.Subscription.SetMetadata(sub.Metadata)
m[key] = ts
}

View File

@ -71,3 +71,25 @@ func TestTopicRegistrarValidation(t *testing.T) {
})
}
}
func TestTopicAddSubscriptionMetadata(t *testing.T) {
handler := func(ctx context.Context, e *common.TopicEvent) (retry bool, err error) {
return false, nil
}
topicRegistrar := internal.TopicRegistrar{}
sub := &common.Subscription{
PubsubName: "pubsubname",
Topic: "topic",
Metadata: map[string]string{"key": "value"},
}
assert.NoError(t, topicRegistrar.AddSubscription(sub, handler))
actual := topicRegistrar["pubsubname-topic"].Subscription
expected := &internal.TopicSubscription{
PubsubName: sub.PubsubName,
Topic: sub.Topic,
Metadata: sub.Metadata,
}
assert.Equal(t, expected, actual)
}