public static async Task CreateTopic( TopicName topicName, EmulatorDetection emulatorDetection, CancellationToken cancellationToken ) { var topicString = topicName.ToString(); var publisherServiceApiClient = await new PublisherServiceApiClientBuilder { EmulatorDetection = emulatorDetection } .BuildAsync(cancellationToken) .NoContext(); Log.Info("Checking topic", topicString); try { await publisherServiceApiClient.GetTopicAsync(topicName).NoContext(); Log.Info("Topic exists", topicString); } catch (RpcException e) when(e.Status.StatusCode == StatusCode.NotFound) { Log.Info("Topic doesn't exist", topicString); await publisherServiceApiClient.CreateTopicAsync(topicName).NoContext(); Log.Info("Created topic", topicString); } }
private ClientCreationSettings( int?clientCount, PublisherServiceApiSettings publisherServiceApiSettings, ChannelCredentials credentials, string serviceEndpoint, EmulatorDetection emulatorDetection) { ClientCount = clientCount; PublisherServiceApiSettings = publisherServiceApiSettings; Credentials = credentials; ServiceEndpoint = serviceEndpoint; EmulatorDetection = emulatorDetection; }
public static async Task CreateSubscription( SubscriptionName subscriptionName, TopicName topicName, Action <Subscription>?configureSubscription, EmulatorDetection emulatorDetection, CancellationToken cancellationToken ) { var subName = subscriptionName.ToString(); var subscriberServiceApiClient = await new SubscriberServiceApiClientBuilder { EmulatorDetection = emulatorDetection } .BuildAsync(cancellationToken) .NoContext(); Log.Info("Checking subscription for topic", subName, topicName.ToString()); try { await subscriberServiceApiClient.GetSubscriptionAsync(subscriptionName); Log.Info("Subscription exists", subName); } catch (RpcException e) when(e.Status.StatusCode == StatusCode.NotFound) { Log.Info("Subscription doesn't exist", subName); var subscriptionRequest = new Subscription { AckDeadlineSeconds = 60 }; configureSubscription?.Invoke(subscriptionRequest); subscriptionRequest.SubscriptionName = subscriptionName; subscriptionRequest.TopicAsTopicName = topicName; await subscriberServiceApiClient.CreateSubscriptionAsync( subscriptionRequest ) .NoContext(); Log.Info("Created subscription", subName); } }
/// <summary> /// Creates a new instance of this type with the specified emulator detection value. /// </summary> /// <param name="emulatorDetection">Determines how and whether to detect the emulator.</param> /// <returns>The new instance</returns> public ClientCreationSettings WithEmulatorDetection(EmulatorDetection emulatorDetection) { GaxPreconditions.CheckEnumValue(emulatorDetection, nameof(emulatorDetection)); return(new ClientCreationSettings(ClientCount, PublisherServiceApiSettings, Credentials, ServiceEndpoint, emulatorDetection)); }
internal FakeBuilder(EmulatorDetection detection) =>
internal FakeBuilder(EmulatorDetection detection) : base(TestServiceMetadata.TestService) =>