diff --git a/src/DotNetCore.CAP/Internal/IConsumerInvoker.Default.cs b/src/DotNetCore.CAP/Internal/IConsumerInvoker.Default.cs index 28ca3a4..3009f73 100644 --- a/src/DotNetCore.CAP/Internal/IConsumerInvoker.Default.cs +++ b/src/DotNetCore.CAP/Internal/IConsumerInvoker.Default.cs @@ -51,7 +51,7 @@ namespace DotNetCore.CAP.Internal } else { - _logger.LogWarning($"Parameters:{firstParameter.Name} bind failed!"); + _logger.LogWarning($"Parameters:{firstParameter.Name} bind failed! the content is:" + value); } } catch (FormatException ex) diff --git a/test/DotNetCore.CAP.MySql.Test/MySqlStorageConnectionTest.cs b/test/DotNetCore.CAP.MySql.Test/MySqlStorageConnectionTest.cs index ff6da87..b83588e 100644 --- a/test/DotNetCore.CAP.MySql.Test/MySqlStorageConnectionTest.cs +++ b/test/DotNetCore.CAP.MySql.Test/MySqlStorageConnectionTest.cs @@ -1,134 +1,134 @@ -//using System; -//using System.Threading.Tasks; -//using Dapper; -//using DotNetCore.CAP.Infrastructure; -//using DotNetCore.CAP.Models; -//using Xunit; +using System; +using System.Threading.Tasks; +using Dapper; +using DotNetCore.CAP.Infrastructure; +using DotNetCore.CAP.Models; +using Xunit; -//namespace DotNetCore.CAP.MySql.Test -//{ -// [Collection("MySql")] -// public class MySqlStorageConnectionTest : DatabaseTestHost -// { -// private MySqlStorageConnection _storage; +namespace DotNetCore.CAP.MySql.Test +{ + [Collection("MySql")] + public class MySqlStorageConnectionTest : DatabaseTestHost + { + private MySqlStorageConnection _storage; -// public MySqlStorageConnectionTest() -// { -// var options = GetService(); -// _storage = new MySqlStorageConnection(options); -// } + public MySqlStorageConnectionTest() + { + var options = GetService(); + _storage = new MySqlStorageConnection(options); + } -// [Fact] -// public async Task GetPublishedMessageAsync_Test() -// { -// var sql = "INSERT INTO [Cap].[Published]([Name],[Content],[Retries],[Added],[ExpiresAt],[StatusName]) OUTPUT INSERTED.Id VALUES(@Name,@Content,@Retries,@Added,@ExpiresAt,@StatusName);"; -// var publishMessage = new CapPublishedMessage -// { -// Name = "MySqlStorageConnectionTest", -// Content = "", -// StatusName = StatusName.Scheduled -// }; -// var insertedId = default(int); -// using (var connection = ConnectionUtil.CreateConnection()) -// { -// insertedId = connection.QueryFirst(sql, publishMessage); -// } -// var message = await _storage.GetPublishedMessageAsync(insertedId); -// Assert.NotNull(message); -// Assert.Equal("MySqlStorageConnectionTest", message.Name); -// Assert.Equal(StatusName.Scheduled, message.StatusName); -// } + [Fact] + public async Task GetPublishedMessageAsync_Test() + { + var sql = "INSERT INTO `cap.published`(`Name`,`Content`,`Retries`,`Added`,`ExpiresAt`,`StatusName`) VALUES(@Name,@Content,@Retries,@Added,@ExpiresAt,@StatusName);SELECT @@IDENTITY;"; + var publishMessage = new CapPublishedMessage + { + Name = "MySqlStorageConnectionTest", + Content = "", + StatusName = StatusName.Scheduled + }; + var insertedId = default(int); + using (var connection = ConnectionUtil.CreateConnection()) + { + insertedId = connection.QueryFirst(sql, publishMessage); + } + var message = await _storage.GetPublishedMessageAsync(insertedId); + Assert.NotNull(message); + Assert.Equal("MySqlStorageConnectionTest", message.Name); + Assert.Equal(StatusName.Scheduled, message.StatusName); + } -// [Fact] -// public async Task FetchNextMessageAsync_Test() -// { -// var sql = "INSERT INTO [Cap].[Queue]([MessageId],[MessageType]) VALUES(@MessageId,@MessageType);"; -// var queue = new CapQueue -// { -// MessageId = 3333, -// MessageType = MessageType.Publish -// }; -// using (var connection = ConnectionUtil.CreateConnection()) -// { -// connection.Execute(sql, queue); -// } -// var fetchedMessage = await _storage.FetchNextMessageAsync(); -// fetchedMessage.Dispose(); -// Assert.NotNull(fetchedMessage); -// Assert.Equal(MessageType.Publish, fetchedMessage.MessageType); -// Assert.Equal(3333, fetchedMessage.MessageId); -// } + [Fact] + public async Task FetchNextMessageAsync_Test() + { + var sql = "INSERT INTO `Cap.Queue`(`MessageId`,`MessageType`) VALUES(@MessageId,@MessageType);"; + var queue = new CapQueue + { + MessageId = 3333, + MessageType = MessageType.Publish + }; + using (var connection = ConnectionUtil.CreateConnection()) + { + connection.Execute(sql, queue); + } + var fetchedMessage = await _storage.FetchNextMessageAsync(); + fetchedMessage.Dispose(); + Assert.NotNull(fetchedMessage); + Assert.Equal(MessageType.Publish, fetchedMessage.MessageType); + Assert.Equal(3333, fetchedMessage.MessageId); + } -// [Fact] -// public async Task StoreReceivedMessageAsync_Test() -// { -// var receivedMessage = new CapReceivedMessage -// { -// Name = "MySqlStorageConnectionTest", -// Content = "", -// Group = "mygroup", -// StatusName = StatusName.Scheduled -// }; + [Fact] + public async Task StoreReceivedMessageAsync_Test() + { + var receivedMessage = new CapReceivedMessage + { + Name = "MySqlStorageConnectionTest", + Content = "", + Group = "mygroup", + StatusName = StatusName.Scheduled + }; -// Exception exception = null; -// try -// { -// await _storage.StoreReceivedMessageAsync(receivedMessage); -// } -// catch (Exception ex) -// { -// exception = ex; -// } -// Assert.Null(exception); -// } + Exception exception = null; + try + { + await _storage.StoreReceivedMessageAsync(receivedMessage); + } + catch (Exception ex) + { + exception = ex; + } + Assert.Null(exception); + } -// [Fact] -// public async Task GetReceivedMessageAsync_Test() -// { + [Fact] + public async Task GetReceivedMessageAsync_Test() + { -// var sql = $@" -// INSERT INTO [Cap].[Received]([Name],[Group],[Content],[Retries],[Added],[ExpiresAt],[StatusName]) OUTPUT INSERTED.Id -// VALUES(@Name,@Group,@Content,@Retries,@Added,@ExpiresAt,@StatusName);"; -// var receivedMessage = new CapReceivedMessage -// { -// Name = "MySqlStorageConnectionTest", -// Content = "", -// Group = "mygroup", -// StatusName = StatusName.Scheduled -// }; -// var insertedId = default(int); -// using (var connection = ConnectionUtil.CreateConnection()) -// { -// insertedId = connection.QueryFirst(sql, receivedMessage); -// } + var sql = $@" + INSERT INTO `cap.received`(`Name`,`Group`,`Content`,`Retries`,`Added`,`ExpiresAt`,`StatusName`) + VALUES(@Name,@Group,@Content,@Retries,@Added,@ExpiresAt,@StatusName);SELECT @@IDENTITY;"; + var receivedMessage = new CapReceivedMessage + { + Name = "MySqlStorageConnectionTest", + Content = "", + Group = "mygroup", + StatusName = StatusName.Scheduled + }; + var insertedId = default(int); + using (var connection = ConnectionUtil.CreateConnection()) + { + insertedId = connection.QueryFirst(sql, receivedMessage); + } -// var message = await _storage.GetReceivedMessageAsync(insertedId); + var message = await _storage.GetReceivedMessageAsync(insertedId); -// Assert.NotNull(message); -// Assert.Equal(StatusName.Scheduled, message.StatusName); -// Assert.Equal("MySqlStorageConnectionTest", message.Name); -// Assert.Equal("mygroup", message.Group); -// } + Assert.NotNull(message); + Assert.Equal(StatusName.Scheduled, message.StatusName); + Assert.Equal("MySqlStorageConnectionTest", message.Name); + Assert.Equal("mygroup", message.Group); + } -// [Fact] -// public async Task GetNextReceviedMessageToBeEnqueuedAsync_Test() -// { -// var receivedMessage = new CapReceivedMessage -// { -// Name = "MySqlStorageConnectionTest", -// Content = "", -// Group = "mygroup", -// StatusName = StatusName.Scheduled -// }; -// await _storage.StoreReceivedMessageAsync(receivedMessage); + [Fact] + public async Task GetNextReceviedMessageToBeEnqueuedAsync_Test() + { + var receivedMessage = new CapReceivedMessage + { + Name = "MySqlStorageConnectionTest", + Content = "", + Group = "mygroup", + StatusName = StatusName.Scheduled + }; + await _storage.StoreReceivedMessageAsync(receivedMessage); -// var message = await _storage.GetNextReceviedMessageToBeEnqueuedAsync(); + var message = await _storage.GetNextReceviedMessageToBeEnqueuedAsync(); -// Assert.NotNull(message); -// Assert.Equal(StatusName.Scheduled, message.StatusName); -// Assert.Equal("MySqlStorageConnectionTest", message.Name); -// Assert.Equal("mygroup", message.Group); -// } + Assert.NotNull(message); + Assert.Equal(StatusName.Scheduled, message.StatusName); + Assert.Equal("MySqlStorageConnectionTest", message.Name); + Assert.Equal("mygroup", message.Group); + } -// } -//} + } +}