public void BeginConversationTimerArguments_Constructor_SetsProperties() { // Arrange var handle = (ConversationHandle)Guid.NewGuid(); var timeout = new SecondTimeout(15); // Act var args = new BeginConversationTimerArguments(handle, timeout); // Assert Assert.Equal(handle, args.ConversationHandle); Assert.Equal(timeout, args.Timeout); }
public async Task BeginConversationTimerAsync_Succeeds() { // Arrange await InitializeDatabaseAsync(); var handle = await BeginDialogAsync(); var provider = new SqlServerServiceBroker(connection); var arguments = new BeginConversationTimerArguments(handle, 600); // Act await provider.BeginConversationTimerAsync(arguments); var sql = @"SELECT * FROM sys.conversation_endpoints WHERE conversation_handle = @handle"; var results = await connection.QueryAsync(sql, new { handle }); var scheduledTime = (DateTime)results.Single().dialog_timer; // Assert Assert.True(scheduledTime > DateTime.Now); }
public async Task BeginConversationTimerAsync_UsesTransaction() { // Arrange await InitializeDatabaseAsync(); var handle = await BeginDialogAsync(); var provider = new SqlServerServiceBroker(connection); var arguments = new BeginConversationTimerArguments(handle, 600); // Act using (var transaction = await provider.BeginTransactionAsync()) { await provider.BeginConversationTimerAsync(arguments); transaction.Rollback(); } var sql = @"SELECT * FROM sys.conversation_endpoints WHERE conversation_handle = @handle"; var results = await connection.QueryAsync(sql, new { handle }); var scheduledTime = (DateTime)results.Single().dialog_timer; // Assert Assert.Equal(1900, scheduledTime.Year); }