@@ -207,6 +207,55 @@ TEST(OptionsTest, UserSetSubscriberOptions) {
207207 EXPECT_EQ (6 , opts.get <pubsub::MaxConcurrencyOption>());
208208}
209209
210+ TEST (OptionsTest, DefaultSubscriberOnly) {
211+ // Ensure that we do not set common options
212+ auto opts = DefaultSubscriberOptionsOnly (Options{});
213+ EXPECT_FALSE (opts.has <GrpcCredentialOption>());
214+ EXPECT_FALSE (opts.has <EndpointOption>());
215+ EXPECT_FALSE (opts.has <GrpcCredentialOption>());
216+ EXPECT_FALSE (opts.has <GrpcNumChannelsOption>());
217+ EXPECT_FALSE (opts.has <TracingComponentsOption>());
218+ EXPECT_FALSE (opts.has <GrpcTracingOptionsOption>());
219+ EXPECT_FALSE (opts.has <pubsub::BackoffPolicyOption>());
220+ EXPECT_FALSE (opts.has <GrpcBackgroundThreadPoolSizeOption>());
221+ EXPECT_FALSE (opts.has <UserAgentProductsOption>());
222+
223+ // Ensure that we do set common options
224+ opts = DefaultSubscriberOptions (Options{});
225+ EXPECT_TRUE (opts.has <GrpcCredentialOption>());
226+ EXPECT_TRUE (opts.has <EndpointOption>());
227+ EXPECT_TRUE (opts.has <GrpcCredentialOption>());
228+ EXPECT_TRUE (opts.has <GrpcNumChannelsOption>());
229+ EXPECT_TRUE (opts.has <TracingComponentsOption>());
230+ EXPECT_TRUE (opts.has <GrpcTracingOptionsOption>());
231+ EXPECT_TRUE (opts.has <GrpcBackgroundThreadPoolSizeOption>());
232+ EXPECT_TRUE (opts.has <UserAgentProductsOption>());
233+ }
234+
235+ TEST (OptionsTest, DefaultPublisherOnly) {
236+ // Ensure that we do not set common options
237+ auto opts = DefaultPublisherOptionsOnly (Options{});
238+ EXPECT_FALSE (opts.has <GrpcCredentialOption>());
239+ EXPECT_FALSE (opts.has <EndpointOption>());
240+ EXPECT_FALSE (opts.has <GrpcCredentialOption>());
241+ EXPECT_FALSE (opts.has <GrpcNumChannelsOption>());
242+ EXPECT_FALSE (opts.has <TracingComponentsOption>());
243+ EXPECT_FALSE (opts.has <GrpcTracingOptionsOption>());
244+ EXPECT_FALSE (opts.has <GrpcBackgroundThreadPoolSizeOption>());
245+ EXPECT_FALSE (opts.has <UserAgentProductsOption>());
246+
247+ // Ensure that we do set common options
248+ opts = DefaultPublisherOptions (Options{});
249+ EXPECT_TRUE (opts.has <GrpcCredentialOption>());
250+ EXPECT_TRUE (opts.has <EndpointOption>());
251+ EXPECT_TRUE (opts.has <GrpcCredentialOption>());
252+ EXPECT_TRUE (opts.has <GrpcNumChannelsOption>());
253+ EXPECT_TRUE (opts.has <TracingComponentsOption>());
254+ EXPECT_TRUE (opts.has <GrpcTracingOptionsOption>());
255+ EXPECT_TRUE (opts.has <GrpcBackgroundThreadPoolSizeOption>());
256+ EXPECT_TRUE (opts.has <UserAgentProductsOption>());
257+ }
258+
210259} // namespace
211260} // namespace GOOGLE_CLOUD_CPP_PUBSUB_NS
212261} // namespace pubsub_internal
0 commit comments