public async Task BeginConversationTimerAsync_ArgumentsCannotBeNull() { // Arrange var provider = new SqlServerServiceBroker(connection); // Act Func<Task> call = async () => await provider.BeginConversationTimerAsync(null); // Assert await Assert.ThrowsAsync<ArgumentNullException>("arguments", call); }
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); }