public void AddTopic_Throws_WhenTopicNull() { var serviceBusBuilder = new ServiceBusBuilder(Substitute.For <ISimulation>()); Should.Throw <ArgumentNullException>(() => serviceBusBuilder.AddTopic(null)) .ParamName.ShouldBe("topic"); }
public void SetPort_SetsPort() { var serviceBusBuilder = new ServiceBusBuilder(Substitute.For <ISimulation>()); ServiceBusBuilder self = serviceBusBuilder.SetPort(1237); serviceBusBuilder.Port.ShouldBe(1237); self.ShouldBe(serviceBusBuilder); }
public void Constructor_SetsPort() { var serviceBusBuilder = new ServiceBusBuilder(Substitute.For <ISimulation>()); serviceBusBuilder.SetPort(7269); var settings = new ServiceBusSimulatorSettings(serviceBusBuilder); settings.Port.ShouldBe(7269); }
public void AddQueue_Throws_WhenServiceBusBuilderNull() { ServiceBusBuilder serviceBusBuilder = null; Action action = () => serviceBusBuilder.AddQueue("foo"); action.ShouldThrow <ArgumentNullException>() .ParamName.ShouldBe("serviceBusBuilder"); }
public void Dispose_DoesNotThrow_WhenCertificateNotSet() { var serviceBusBuilder = new ServiceBusBuilder(Substitute.For <ISimulation>()); var serviceBusSimulator = new ServiceBusSimulator(serviceBusBuilder); Action action = () => serviceBusSimulator.Dispose(); action.ShouldNotThrow(); }
public void AddQueue_Throws_WhenEntityWithTheSameNameCIAlreadyExists() { var serviceBusBuilder = new ServiceBusBuilder(Substitute.For <ISimulation>()); serviceBusBuilder.AddTopic(new Topic("x", new Subscription("y"))); Should.Throw <ArgumentException>(() => serviceBusBuilder.AddQueue(new Queue("X/subscriptions/Y"))) .ParamName.ShouldBe("queue"); }
public void Constructor_SetsQueues() { var serviceBusBuilder = new ServiceBusBuilder(Substitute.For <ISimulation>()); serviceBusBuilder.AddTopic(new Topic("new")); var settings = new ServiceBusSimulatorSettings(serviceBusBuilder); settings.Queues.ShouldBeSameAs(serviceBusBuilder.Queues); }
public void SetLoggerProvider_SetsLoggerProvider() { ILoggerProvider loggerProvider = Substitute.For <ILoggerProvider>(); var serviceBusBuilder = new ServiceBusBuilder(Substitute.For <ISimulation>()); ServiceBusBuilder self = serviceBusBuilder.SetLoggerProvider(loggerProvider); serviceBusBuilder.LoggerProvider.ShouldBeSameAs(loggerProvider); self.ShouldBe(serviceBusBuilder); }
public void CallConfigureWithResolver() { var serviceBusConfiguration = A.Fake<IServiceBusConfiguration>(); var componentUnderTest = new ServiceBusBuilder(this.serviceBusResolver); componentUnderTest.WithConfiguration(serviceBusConfiguration); A.CallTo(() => serviceBusConfiguration.Configure(this.serviceBusResolver)).MustHaveHappened(Repeated.Exactly.Once); }
public void CallConfigureWithDefaultResolver() { var serviceBusConfiguration = A.Fake<IServiceBusConfiguration>(); var componentUnderTest = new ServiceBusBuilder(); componentUnderTest.WithConfiguration(serviceBusConfiguration); A.CallTo(() => serviceBusConfiguration.Configure(A<IServiceBusResolver>.That.IsInstanceOf(typeof(DefaultServiceBusResolver)))).MustHaveHappened(Repeated.Exactly.Once); }
public void ConnectionString_Throws_WhenSimulatorNotRunning() { var serviceBusBuilder = new ServiceBusBuilder(Substitute.For <ISimulation>()); var serviceBusSimulator = new ServiceBusSimulator(serviceBusBuilder); Action action = () => serviceBusSimulator.ConnectionString.ShouldBeNull(); action.ShouldThrow <InvalidOperationException>() .Message.ShouldBe(SR.Format(SR.SimulatorPropertyInvalid, "ConnectionString")); }
public void SetCertificate_SetsCertificate() { var serviceBusBuilder = new ServiceBusBuilder(Substitute.For <ISimulation>()); var cert = new X509Certificate2(); ServiceBusBuilder self = serviceBusBuilder.SetCertificate(cert); serviceBusBuilder.Certificate.ShouldBeSameAs(cert); self.ShouldBe(serviceBusBuilder); }
public void Constructor_SetsCertificate() { var serviceBusBuilder = new ServiceBusBuilder(Substitute.For <ISimulation>()); var certificate = new X509Certificate2(); serviceBusBuilder.SetCertificate(certificate); var settings = new ServiceBusSimulatorSettings(serviceBusBuilder); settings.Certificate.ShouldBeSameAs(certificate); }
public void Constructor_SetsLoggerProvider() { var serviceBusBuilder = new ServiceBusBuilder(Substitute.For <ISimulation>()); ILoggerProvider loggerProvider = Substitute.For <ILoggerProvider>(); serviceBusBuilder.SetLoggerProvider(loggerProvider); var settings = new ServiceBusSimulatorSettings(serviceBusBuilder); settings.LoggerProvider.ShouldBeSameAs(loggerProvider); }
public async Task Dispose_SetsStateToStopped() { var serviceBusBuilder = new ServiceBusBuilder(Substitute.For <ISimulation>()); var serviceBusSimulator = new ServiceBusSimulator(serviceBusBuilder); await serviceBusSimulator.StartAsync(); serviceBusSimulator.Dispose(); serviceBusSimulator.State.ShouldBe(SimulatorState.Stopped); }
public void AddQueue_AddsQueueToBuilder(string queueName) { var serviceBusBuilder = new ServiceBusBuilder(Substitute.For <ISimulation>()); ServiceBusBuilder self = serviceBusBuilder.AddQueue(queueName); serviceBusBuilder.ShouldSatisfyAllConditions( () => serviceBusBuilder.Queues[0].Name.ShouldBe(queueName), () => self.ShouldBeSameAs(serviceBusBuilder) ); }
public void AddTopic_AddsTopicToBuilder() { var serviceBusBuilder = new ServiceBusBuilder(Substitute.For <ISimulation>()); ServiceBusBuilder self = serviceBusBuilder.AddTopic("a"); serviceBusBuilder.ShouldSatisfyAllConditions( () => serviceBusBuilder.Topics[0].Name.ShouldBe("a"), () => self.ShouldBeSameAs(serviceBusBuilder) ); }
public void AddTopic_Throws_WhenQueueWithTheSameNameCIAlreadyExists() { var serviceBusBuilder = new ServiceBusBuilder(Substitute.For <ISimulation>()); serviceBusBuilder.AddQueue(new Queue("z")); ArgumentException exception = Should.Throw <ArgumentException>(() => serviceBusBuilder.AddTopic(new Topic("Z"))); exception.ParamName.ShouldBe("topic"); exception.Message.ShouldStartWith(SR.Format(SR.SbEntityNameNotUnique, "Z")); }
public static EventBusBuilder UseAzureServiceBus(this EventBusBuilder builder, string connectionString, string topic, string subscription, Action <ServiceBusOptions> optionsAction = null) { var options = new ServiceBusOptions(); optionsAction?.Invoke(options); builder.UseFactory((serviceProvider) => { return(ServiceBusBuilder.Build(connectionString, topic, subscription, options, serviceProvider)); }); return(builder); }
public void Build_AddsSimulatorToSimulation() { ISimulation simulation = Substitute.For <ISimulation, IAddSimulator>(); var serviceBusBuilder = new ServiceBusBuilder(simulation); ((IAddSimulator)simulation).Add(Arg.Any <ServiceBusSimulator>()) .Returns(info => info.ArgAt <ServiceBusSimulator>(0)); var serviceBusSimulator = (ServiceBusSimulator)serviceBusBuilder.Build(); ((IAddSimulator)simulation).Received(1).Add(serviceBusSimulator); }
public void Dispose_DisposesTopics() { ServiceBusBuilder serviceBusBuilder = new ServiceBusBuilder(Substitute.For <ISimulation>()) .AddTopic("myTopic"); var serviceBusSimulator = new ServiceBusSimulator(serviceBusBuilder); Entities.ITopic topic = serviceBusSimulator.Topics["myTopic"]; serviceBusSimulator.Dispose(); Should.Throw <ObjectDisposedException>(() => topic.Post(new Amqp.Message())); }
public void Dispose_DisposesQueues() { ServiceBusBuilder serviceBusBuilder = new ServiceBusBuilder(Substitute.For <ISimulation>()) .AddQueue("myQueue"); var serviceBusSimulator = new ServiceBusSimulator(serviceBusBuilder); Entities.IQueue queue = serviceBusSimulator.Queues["myQueue"]; serviceBusSimulator.Dispose(); Should.Throw <ObjectDisposedException>(() => queue.Post(new Amqp.Message())); }
public void Dispose_DoesNotThrow_WhenCalledTwice() { var serviceBusBuilder = new ServiceBusBuilder(Substitute.For <ISimulation>()); var serviceBusSimulator = new ServiceBusSimulator(serviceBusBuilder); Action action = () => { serviceBusSimulator.Dispose(); serviceBusSimulator.Dispose(); }; action.ShouldNotThrow(); }
public void AddQueue_AddsQueue() { var queue = new Queue("a"); var serviceBusBuilder = new ServiceBusBuilder(Substitute.For <ISimulation>()); ServiceBusBuilder self = serviceBusBuilder.AddQueue(queue); serviceBusBuilder.ShouldSatisfyAllConditions( () => serviceBusBuilder.Queues.Count.ShouldBe(1), () => serviceBusBuilder.Queues[0].ShouldBeSameAs(queue), () => self.ShouldBeSameAs(serviceBusBuilder) ); }
public void AddTopic_AddsTopicWithSubscriptionsToBuilder(string topicName, string[] subs) { var serviceBusBuilder = new ServiceBusBuilder(Substitute.For <ISimulation>()); ServiceBusBuilder self = serviceBusBuilder.AddTopic(topicName, subs); serviceBusBuilder.ShouldSatisfyAllConditions( () => serviceBusBuilder.Topics[0].Name.ShouldBe(topicName), () => serviceBusBuilder.Topics[0].Subscriptions.Count.ShouldBe(subs?.Length ?? 0), () => serviceBusBuilder.Topics[0].Subscriptions.Select(s => s.Name).ToArray().ShouldBe(subs ?? new string[0]), () => self.ShouldBeSameAs(serviceBusBuilder) ); }
public void AddTopic_AddsTopic() { Subscription[] subscriptions = null; var topic = new Topic("a", subscriptions); var serviceBusBuilder = new ServiceBusBuilder(Substitute.For <ISimulation>()); ServiceBusBuilder self = serviceBusBuilder.AddTopic(topic); serviceBusBuilder.ShouldSatisfyAllConditions( () => serviceBusBuilder.Topics.Count.ShouldBe(1), () => serviceBusBuilder.Topics[0].ShouldBeSameAs(topic), () => self.ShouldBeSameAs(serviceBusBuilder) ); }
public void Constructor_SetsQueuesCI() { var serviceBusBuilder = new ServiceBusBuilder(Substitute.For <ISimulation>()); serviceBusBuilder.AddQueue(new Queue("One")); serviceBusBuilder.AddQueue(new Queue("two")); var simulator = new ServiceBusSimulator(serviceBusBuilder); simulator.ShouldSatisfyAllConditions( () => simulator.Queues.Count.ShouldBe(2), () => simulator.Queues["one"].Name.ShouldBe("One"), () => simulator.Queues["tWO"].Name.ShouldBe("two") ); }
public async Task StartAsync_UsesDefaultPort_WhenNotSecured() { var serviceBusBuilder = new ServiceBusBuilder(Substitute.For <ISimulation>()); var serviceBusSimulator = new ServiceBusSimulator(serviceBusBuilder); await serviceBusSimulator.StartAsync(); try { serviceBusSimulator.Port.ShouldBe(5672); } finally { await serviceBusSimulator.StopAsync(); } }
public async Task StartAsync_ReportsActiveConnectionString() { var serviceBusBuilder = new ServiceBusBuilder(Substitute.For <ISimulation>()); var serviceBusSimulator = new ServiceBusSimulator(serviceBusBuilder); await serviceBusSimulator.StartAsync(); try { serviceBusSimulator.ConnectionString.ShouldBe($"Endpoint=sb://127.0.0.1:{serviceBusSimulator.Port};SharedAccessKeyName=all;SharedAccessKey=CLwo3FQ3S39Z4pFOQDefaiUd1dSsli4XOAj3Y9Uh1E=;TransportType=Amqp"); } finally { await serviceBusSimulator.StopAsync(); } }
public async Task StartAsync_ReportsActiveLocation() { var serviceBusBuilder = new ServiceBusBuilder(Substitute.For <ISimulation>()); var serviceBusSimulator = new ServiceBusSimulator(serviceBusBuilder); await serviceBusSimulator.StartAsync(); try { serviceBusSimulator.Location.ShouldStartWith($"amqp://127.0.0.1:{serviceBusSimulator.Port}"); } finally { await serviceBusSimulator.StopAsync(); } }
public async Task StartAsync_ReportsActivePort() { var serviceBusBuilder = new ServiceBusBuilder(Substitute.For <ISimulation>()); var serviceBusSimulator = new ServiceBusSimulator(serviceBusBuilder); await serviceBusSimulator.StartAsync(); try { serviceBusSimulator.Port.ShouldNotBe(0); } finally { await serviceBusSimulator.StopAsync(); } }
public async Task StartAsync_SetsStateToRunning() { var serviceBusBuilder = new ServiceBusBuilder(Substitute.For <ISimulation>()); var serviceBusSimulator = new ServiceBusSimulator(serviceBusBuilder); await serviceBusSimulator.StartAsync(); try { serviceBusSimulator.State.ShouldBe(SimulatorState.Running); } finally { await serviceBusSimulator.StopAsync(); } }
public void ResolveServiceBusDuringBuild() { var componentUnderTest = new ServiceBusBuilder(this.serviceBusResolver); componentUnderTest.Build(); A.CallTo(() => this.serviceBusResolver.Resolve<IServiceBus>()).MustHaveHappened(Repeated.Exactly.Once); }
public void ThrowExceptionWhenBuildingUsingDefaultResolver() { var componentUnderTest = new ServiceBusBuilder(); Assert.That(() => componentUnderTest.Build(), Throws.InstanceOf<InvalidOperationException>().With.Message.EqualTo("Failed to create instance of IServiceBus; ensure WithConfiguration has been called.")); }