public async Task DeliversMessagesByVisibleTimeAndNotByInsertionTime() { var rebusTime = new DefaultRebusTime(); var loggerFactory = new ConsoleLoggerFactory(false); var connectionProvider = new DbConnectionProvider(MySqlTestHelper.ConnectionString, loggerFactory); var asyncTaskFactory = new TplAsyncTaskFactory(loggerFactory); var transport = new MySqlTransport( connectionProvider, QueueName, loggerFactory, asyncTaskFactory, rebusTime, new MySqlTransportOptions(connectionProvider)); transport.EnsureTableIsCreated(); transport.Initialize(); var now = DateTime.Now; await PutInQueue(transport, GetTransportMessage("first message")); await PutInQueue(transport, GetTransportMessage("second message", deferredUntilTime : now.AddMinutes(-1))); await PutInQueue(transport, GetTransportMessage("third message", deferredUntilTime : now.AddMinutes(-2))); var firstMessage = await ReceiveMessageBody(transport); var secondMessage = await ReceiveMessageBody(transport); var thirdMessage = await ReceiveMessageBody(transport); // expect messages to be received in reverse order because of their visible times Assert.That(firstMessage, Is.EqualTo("third message")); Assert.That(secondMessage, Is.EqualTo("second message")); Assert.That(thirdMessage, Is.EqualTo("first message")); }
public ITransport CreateOneWayClient() { var rebusTime = new DefaultRebusTime(); var consoleLoggerFactory = new ConsoleLoggerFactory(false); var connectionProvider = new DbConnectionProvider(MySqlTestHelper.ConnectionString, consoleLoggerFactory); var asyncTaskFactory = new TplAsyncTaskFactory(consoleLoggerFactory); var transport = new MySqlTransport(connectionProvider, null, consoleLoggerFactory, asyncTaskFactory, rebusTime, new MySqlTransportOptions(connectionProvider)); _disposables.Add(transport); transport.Initialize(); return(transport); }
protected override void SetUp() { MySqlTestHelper.DropTableIfExists(_tableName); var consoleLoggerFactory = new ConsoleLoggerFactory(false); var asyncTaskFactory = new TplAsyncTaskFactory(consoleLoggerFactory); var connectionHelper = new MySqlConnectionHelper(MySqlTestHelper.ConnectionString); _transport = new MySqlTransport(connectionHelper, _tableName, QueueName, consoleLoggerFactory, asyncTaskFactory); _transport.EnsureTableIsCreated(); Using(_transport); _transport.Initialize(); _cancellationToken = new CancellationTokenSource().Token; }
protected override void SetUp() { MySqlTestHelper.DropAllTables(); var rebusTime = new DefaultRebusTime(); var consoleLoggerFactory = new ConsoleLoggerFactory(false); var connectionProvider = new DbConnectionProvider(MySqlTestHelper.ConnectionString, consoleLoggerFactory); var asyncTaskFactory = new TplAsyncTaskFactory(consoleLoggerFactory); _transport = new MySqlTransport(connectionProvider, QueueName, consoleLoggerFactory, asyncTaskFactory, rebusTime, new MySqlTransportOptions(connectionProvider)); _transport.EnsureTableIsCreated(); Using(_transport); _transport.Initialize(); _cancellationToken = new CancellationTokenSource().Token; }
protected override void SetUp() { // start clean MySqlTestHelper.DropAllTables(); // end clean Using(new DisposableCallback(MySqlTestHelper.DropAllTables)); var loggerFactory = new ListLoggerFactory(); var connectionProvider = new DbConnectionProvider(MySqlTestHelper.ConnectionString, loggerFactory); _subscriptionStorage = new MySqlSubscriptionStorage(connectionProvider, "Subscriptions", isCentralized: true, loggerFactory); _subscriptionStorage.EnsureTableIsCreated(); _subscriberTransport = Using(new MySqlTransport(connectionProvider, "subscriber", loggerFactory, new TplAsyncTaskFactory(loggerFactory), new FakeRebusTime(), new MySqlTransportOptions(connectionProvider))); _subscriberTransport.EnsureTableIsCreated(); _subscriberTransport.Initialize(); }
public ITransport Create(string inputQueueAddress) { var tableName = ("rebus_messages_" + TestConfig.Suffix).TrimEnd('_'); _tablesToDrop.Add(tableName); var consoleLoggerFactory = new ConsoleLoggerFactory(false); var connectionHelper = new MySqlConnectionHelper(MySqlTestHelper.ConnectionString); var asyncTaskFactory = new TplAsyncTaskFactory(consoleLoggerFactory); var transport = new MySqlTransport(connectionHelper, tableName, inputQueueAddress, consoleLoggerFactory, asyncTaskFactory); _disposables.Add(transport); transport.EnsureTableIsCreated(); transport.Initialize(); return(transport); }
public ITransport Create(string inputQueueAddress) { var tableName = ("RebusMessages_" + TestConfig.Suffix).TrimEnd('_'); MySqlTestHelper.DropTable(tableName); _tablesToDrop.Add(tableName); var rebusTime = new DefaultRebusTime(); var consoleLoggerFactory = new ConsoleLoggerFactory(false); var connectionProvider = new DbConnectionProvider(MySqlTestHelper.ConnectionString, consoleLoggerFactory); var asyncTaskFactory = new TplAsyncTaskFactory(consoleLoggerFactory); var transport = new MySqlTransport(connectionProvider, inputQueueAddress, consoleLoggerFactory, asyncTaskFactory, rebusTime, new MySqlTransportOptions(connectionProvider)); _disposables.Add(transport); transport.EnsureTableIsCreated(); transport.Initialize(); return(transport); }