public void Bus_Start_ShouldSubscribeToMessages() { //ARRANGE Action <IMessage> actionToTest = _bus.Process; //ACT _bus.Start(); //ASSERT _moqTransport.VerifySet(x => x.ProvideMessage = It.Is <Action <IMessage> >(a => a.Equals(actionToTest)), Times.Once()); }
public async Task publishing_a_command_should_throw_exception() { await bus.Start(); Func <Task> action = () => bus.Publish(new AppleCommand()); action.Should().Throw <InvalidOperationException>().Where(e => e.Message.Contains("unexpected behavior")); }
static void Main(string[] args) { //Car Object Car car = new Car(); car._engine = "toyta"; car._seat = 5; car._wheel = 4; car.Start(); car.Open(); car.Close(); car.Lock(); car.Run(); //Bus object Bus bus = new Bus(); bus._engine = "Bmw"; bus._seat = 50; bus._wheel = 6; bus.Start(); bus.Open(); bus.Close(); bus.Lock(); bus.Run(); //Product Object Product product = new Product(); //Shopping Cart Object Shopping_cart shopping = new Shopping_cart(); shopping._quantity = 5; }
private static void SetUpBus(IWindsorContainer container) { //TODO: Set up your own connection string in app.config var connectionString = ConfigurationManager.AppSettings["AzureConnectionString"]; // You'll want a logger. There's a ConsoleLogger and a NullLogger if you really don't care. You can roll your // own by implementing the ILogger interface if you want to hook it to an existing logging implementation. container.Register(Component.For <ILogger>().ImplementedBy <SerilogStaticLogger>().LifestyleSingleton()); // This is how you tell Nimbus where to find all your message types and handlers. var typeProvider = new AssemblyScanningTypeProvider(Assembly.GetExecutingAssembly()); container.RegisterNimbus(typeProvider); container.Register(Component.For <IBus>().ImplementedBy <Bus>() .UsingFactoryMethod <IBus>(() => new BusBuilder() .Configure() .WithConnectionString(connectionString) .WithNames("PingPong.Windsor", Environment.MachineName) .WithTypesFrom(typeProvider) .WithWindsorDefaults(container) .WithJsonSerializer() .WithDeflateCompressor() .Build()) .LifestyleSingleton() ); Bus bus = (Bus)container.Resolve <IBus>(); bus.Start().Wait(); }
protected virtual async Task Given(IConfigurationScenario <BusBuilderConfiguration> scenario) { Instance = scenario.CreateInstance(); Reconfigure(); Bus = Instance.Configuration.Build(); MethodCallCounter = MethodCallCounter.CreateInstance(Bus.InstanceId); await Bus.Start(); }
protected virtual async Task Given(IConfigurationScenario<BusBuilderConfiguration> scenario) { Instance = scenario.CreateInstance(); Reconfigure(); Bus = Instance.Configuration.Build(); MethodCallCounter = MethodCallCounter.CreateInstance(Bus.InstanceId); await Bus.Start(); }
private async Task HaveYouTriedTurningItOffAndOnAgain() { await Task.Delay(TimeSpan.FromMilliseconds(100)); await Bus.Stop(); await Task.Delay(TimeSpan.FromMilliseconds(100)); await Bus.Start(); }
public Task OnStart() { // Make sure the bus is started _bus = _container.Resolve <Bus>(); Task startBus = _bus.Start(); // Execute the scheduler that we can cancel on stop _schedulerExecution = _container.Resolve <SampleDataJobScheduler>().Run(_cancelTokenSource.Token); return(startBus); }
public void Start_InputQueueSet_RegisterTransportListener() { string queueName = "myQueue"; var transport = A.Fake<ITransport>(); var bus = new Bus(queueName) { Transport = transport }; bus.Start(); A.CallTo(() => transport.StartListen(queueName)).MustHaveHappened(Repeated.Exactly.Once); }
public Task OnStart() { // Make sure the bus is started _bus = _container.Resolve<Bus>(); Task startBus = _bus.Start(); // Execute the encoding listener job that we can cancel on stop _encodingListenerExecution = _container.Resolve<EncodingListenerJob>().Execute(_cancelTokenSource.Token); return startBus; }
public Task OnStart() { // Make sure the bus is started _bus = _container.Resolve<Bus>(); Task startBus = _bus.Start(); // Execute the scheduler that we can cancel on stop _schedulerExecution = _container.Resolve<SampleDataJobScheduler>().Run(_cancelTokenSource.Token); return startBus; }
//TODO: determine whether its still necessary (or even advisable) to do this //(maybe we should just respond to the SUSPEND and RESUME events) private async void CurrentWindowOnVisibilityChanged(object sender, VisibilityChangedEventArgs visibilityChangedEventArgs) { if (visibilityChangedEventArgs.Visible) { await Bus.Start(); } else { await Bus.Stop(); } }
public Task OnStart() { // Make sure the bus is started _bus = _container.Resolve <Bus>(); Task startBus = _bus.Start(); // Execute the encoding listener job that we can cancel on stop _encodingListenerExecution = _container.Resolve <EncodingListenerJob>().Execute(_cancelTokenSource.Token); return(startBus); }
public void Send_Null_Throws() { var transport = A.Fake<ITransport>(); var bus = new Bus("myQueue"); bus.Transport = transport; bus.Start(); Assert.Throws<ArgumentNullException>(() => bus.Send<string>(null)); }
protected override async Task When() { await Bus.Stop(); await Bus.Start(); await Bus.Stop(); await Bus.Start(); await Bus.Stop(); }
private static void Main(string[] args) { Console.WriteLine("Bridge Mode Demo"); var limousine = new Limousine(new GasEngine()); var bus = new Bus(new DieselEngine()); limousine.Start(); limousine.Stop(); bus.Start(); bus.Stop(); }
public void Send_NoEndpointForType_Throws() { var transport = A.Fake<ITransport>(); var bus = new Bus("myQueue"); bus.Transport = transport; bus.Start(); string someData = "some made up data"; Assert.Throws<InvalidOperationException>(() => bus.Send(someData)); }
public Cumulus.IBus Create(string connectionString, string name) { _bus = new BusBuilder().Configure() .WithConnectionString(connectionString) .WithNames(name, Environment.MachineName) .WithTypesFrom(_typeProvider) .WithDefaultTimeout(TimeSpan.FromSeconds(30)) .WithUnityDependencyResolver(_typeProvider, _container) .Build(); _bus.Start() .Wait(); return _bus; }
public static async Task Startup() { var connectionString = CloudConfigurationManager.GetSetting("Microsoft.ServiceBus.ConnectionString"); var typeProvider = new AssemblyScanningTypeProvider(Assembly.Load("CloudService1.Public")); bus = new BusBuilder() .Configure() .WithNames("EchoMessageHandler", Environment.MachineName) .WithConnectionString(connectionString) .WithTypesFrom(typeProvider) .WithDefaultTimeout(TimeSpan.FromSeconds(10)) .Build(); await bus.Start(); }
public void should_stop_dispatcher_before_transport() { var transportMock = new Mock <ITransport>(); var bus = new Bus(transportMock.Object, _directoryMock.Object, _messageSerializer, _messageDispatcherMock.Object, new DefaultMessageSendingStrategy(), new DefaultStoppingStrategy(), _configuration.Object); var sequence = new SetupSequence(); _messageDispatcherMock.Setup(dispatch => dispatch.Stop()).InSequence(sequence); transportMock.Setup(transport => transport.Stop()).InSequence(sequence); bus.Configure(_self.Id, "test"); bus.Start(); bus.Stop(); sequence.Verify(); }
public void Start() { Bus = RabbitMQBus.Load(ConfigDirectory + "Bus.config"); Bus.Start(); Sender = RabbitMQSender <RabbitMQMultiStringKeyValuePairsMessageModel> .Load(ConfigDirectory + "Sender.config"); Sender.BindBus(Bus); Sender.Start(); Receiver = RabbitMQReceiver <RabbitMQMultiStringKeyValuePairsMessageModel> .Load(ConfigDirectory + "Receiver.config"); Receiver.BindBus(Bus); Receiver.Start(); }
protected virtual async Task Given(IConfigurationScenario<BusBuilderConfiguration> scenario) { _instance = scenario.CreateInstance(); _numMessagesSent = 0; var busBuilderConfiguration = _instance.Configuration; if (!Debugger.IsAttached) { busBuilderConfiguration.WithLogger(new NullLogger()); } Bus = busBuilderConfiguration.Build(); Log.Debug("Starting bus..."); await Bus.Start(); Log.Debug("Bus started."); }
protected virtual async Task Given(IConfigurationScenario<BusBuilderConfiguration> scenario) { _instance = scenario.CreateInstance(); _numMessagesSent = 0; var busBuilderConfiguration = _instance.Configuration; var logger = Debugger.IsAttached ? TestHarnessLoggerFactory.Create(Guid.NewGuid(), GetType().FullName) : new NullLogger(); busBuilderConfiguration.WithLogger(logger); Bus = busBuilderConfiguration.Build(); Log.Debug("Starting bus..."); await Bus.Start(); Log.Debug("Bus started."); }
protected virtual async Task Given(IConfigurationScenario <BusBuilderConfiguration> scenario) { _instance = scenario.CreateInstance(); _numMessagesSent = 0; var busBuilderConfiguration = _instance.Configuration; if (!Debugger.IsAttached) { busBuilderConfiguration.WithLogger(new NullLogger()); } Bus = busBuilderConfiguration.Build(); Log.Debug("Starting bus..."); await Bus.Start(); Log.Debug("Bus started."); }
protected virtual async Task Given(IConfigurationScenario <BusBuilderConfiguration> scenario) { _instance = scenario.CreateInstance(); _numMessagesSent = 0; var busBuilderConfiguration = _instance.Configuration; var logger = Debugger.IsAttached ? TestHarnessLoggerFactory.Create(Guid.NewGuid(), GetType().FullName) : new NullLogger(); busBuilderConfiguration.WithLogger(logger); Bus = busBuilderConfiguration.Build(); Log.Debug("Starting bus..."); await Bus.Start(); Log.Debug("Bus started."); }
static void Main(string[] args) { var message = new DummyMessage { Text = "Hello from Tuc Tuc!" }; string queue = Path.Combine(Path.GetTempPath(), "TucTuc"); var bus = new Bus(queue); bus.RegisterEndpoint<DummyMessage>(queue); bus.RegisterMessageHandler<DummyMessage>(m => Handle(m)); bus.Start(); while(true) { bus.Send(message); Thread.Sleep(60000); } }
public void StartBus() { Bus.Start(); }
public Task OnStart() { // Make sure the bus is started _bus = _container.Resolve<Bus>(); return _bus.Start(); }
public void Vehicle_Can_Be_Started() { Vehicle v = new Bus(); v.Start(true); }
public void should_stop_dispatcher_before_transport() { var transportMock = new Mock<ITransport>(); var bus = new Bus(transportMock.Object, _directoryMock.Object, _messageSerializer, _messageDispatcherMock.Object, new DefaultStoppingStrategy()); var sequence = new SetupSequence(); _messageDispatcherMock.Setup(dispatch => dispatch.Stop()).InSequence(sequence); transportMock.Setup(transport => transport.Stop()).InSequence(sequence); bus.Configure(_self.Id, "test"); bus.Start(); bus.Stop(); sequence.Verify(); }
public Task OnStart() { // Make sure the bus is started _bus = _container.Resolve <Bus>(); return(_bus.Start()); }
public void OnStart() { Bus.Start(); Scheduler.Start(); }
private static void TestPublish() { // new MongoPersist(new MongoPersistSettings() { // Collection = "source", ConnectionString = @"mongodb://127.0.0.1:27017", DB = Bus.ApplicationName // }) // , new MongoPersist(new MongoPersistSettings() { // Collection = "config", ConnectionString = @"mongodb://127.0.0.1:27017", DB = Bus.ApplicationName //})) Bus.Configure .PersistTo(new MongoPersistProvider(@"mongodb://127.0.0.1:27017", MongoDataBaseName.UseExisting("ShortBus"))) .MaxThreads(1) .MyEndPoint(new ShortBus.Configuration.EndPoint() { EndPointAddress = @"http://*****:*****@"http://localhost:9873", ShortBus.Publish.EndPointTypeOptions.Agent))) .RouteMessage <ShortBus.TestMessage>("Default", false); Bus.OnStarted += onStarted; Bus.OnProcessing += onProcessing; Bus.OnStalled += onStalled; Bus.OnThreadStarted += onThreadStarted; Bus.Start(); //Bus.SendMessageDirect<TestMessage>(new TestMessage() { Property = string.Format("Thread {0}, Iteration {1}", 0, 0) }); for (int i = 1; i <= 4; i++) { Task t = null; if (t == null || t.IsCompleted) { //t = new Thread(PublishNext); //capture i during the loop, since publishnext is running from the facotry, it may begin //after i has been incremeneted. int q = i; t = Task.Run(() => { for (int g = 1; g <= 5; g++) { Bus.SendMessage <TestMessage>(new TestMessage() { Property = string.Format("Thread {0}, Iteration {1}", q, g) }); } Console.WriteLine("Done {0}", q); }); } } //messageSendTimer.AutoReset = false; //messageSendTimer.Enabled = true; //messageSendTimer.Interval = 1000; //messageSendTimer.Elapsed += MessageSendTimer_Elapsed; //messageSendTimer.Start(); Console.WriteLine("Press any key to stop: "); Console.ReadKey(); }