From 663da74f85cfa513732b97426e91c1130db5fd49 Mon Sep 17 00:00:00 2001 From: Michael Darakananda Date: Wed, 19 Jul 2017 17:30:16 +1000 Subject: [PATCH] pubsub: correct emulator sample Previously we use TopicAdminSettings.defaultBuilder(). The default channel uses secure connection, which is incompatible with the emulator. This commit corrects this. We cannot yet provide a way for users to set plain text in InstantiatingChannelProvider, since usePlaintext is still a beta API. --- TESTING.md | 35 ++++++++++++++++++++++++----------- 1 file changed, 24 insertions(+), 11 deletions(-) diff --git a/TESTING.md b/TESTING.md index 2066c8093898..5ceaeec07237 100644 --- a/TESTING.md +++ b/TESTING.md @@ -147,17 +147,30 @@ $ gcloud beta emulators pubsub env-init 3. Point your client to the emulator. ```java -ChannelProvider channelProvider = - // SubscriptionAdminSettings works too. - TopicAdminSettings.defaultChannelProviderBuilder() - .setEndpoint(System.getenv("PUBSUB_EMULATOR_HOST")) - .setCredentialsProvider( - FixedCredentialsProvider.create(NoCredentials.getInstance())) - .build(); -TopicAdminClient topicClient = TopicAdminClient.create( - TopicAdminSettings.defaultBuilder().setChannelProvider(channelProvider).build()); -Publisher publisher = - Publisher.newBuilder(topicName).setChannelProvider(channelProvider).build(); +String hostport = System.getenv("PUBSUB_EMULATOR_HOST"); +ManagedChannel channel = ManagedChannelBuilder.forTarget(hostport).usePlaintext(true).build(); +try { + ChannelProvider channelProvider = FixedChannelProvider.create(channel); + CredentialsProvider credentialsProvider = new NoCredentialsProvider(); + + // Similarly for SubscriptionAdminSettings + TopicAdminClient topicClient = TopicAdminClient.create( + TopicAdminSettings + .defaultBuilder() + .setChannelProvider(channelProvider) + .setCredentialsProvider(credentialsProvider) + .build()); + + // Similarly for Subscriber + Publisher publisher = + Publisher + .newBuilder(topicName) + .setChannelProvider(channelProvider) + .setCredentialsProvider(credentialsProvider) + .build(); +} finally { + channel.shutdown(); +} ``` ### Testing code that uses Resource Manager