Commit cf5708e7 authored by yangxiaodong's avatar yangxiaodong

update for test.

parent 3ad72f42
using System; //using System;
using System.Collections.Generic; //using System.Collections.Generic;
using System.Text; //using System.Text;
using System.Threading.Tasks; //using System.Threading.Tasks;
using Dapper; //using Dapper;
using DotNetCore.CAP.Infrastructure; //using DotNetCore.CAP.Infrastructure;
using DotNetCore.CAP.Models; //using DotNetCore.CAP.Models;
using Xunit; //using Xunit;
namespace DotNetCore.CAP.SqlServer.Test //namespace DotNetCore.CAP.SqlServer.Test
{ //{
public class SqlServerStorageConnectionTest : DatabaseTestHost // public class SqlServerStorageConnectionTest : DatabaseTestHost
{ // {
private SqlServerStorageConnection _storage; // private SqlServerStorageConnection _storage;
public SqlServerStorageConnectionTest() // public SqlServerStorageConnectionTest()
{ // {
var options = GetService<SqlServerOptions>(); // var options = GetService<SqlServerOptions>();
_storage = new SqlServerStorageConnection(options); // _storage = new SqlServerStorageConnection(options);
} // }
[Fact] // [Fact]
public async Task GetPublishedMessageAsync_Test() // 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 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 // var publishMessage = new CapPublishedMessage
{ // {
Name = "SqlServerStorageConnectionTest", // Name = "SqlServerStorageConnectionTest",
Content = "", // Content = "",
StatusName = StatusName.Scheduled // StatusName = StatusName.Scheduled
}; // };
var insertedId = default(int); // var insertedId = default(int);
using (var connection = ConnectionUtil.CreateConnection()) // using (var connection = ConnectionUtil.CreateConnection())
{ // {
insertedId = connection.QueryFirst<int>(sql, publishMessage); // insertedId = connection.QueryFirst<int>(sql, publishMessage);
} // }
var message = await _storage.GetPublishedMessageAsync(insertedId); // var message = await _storage.GetPublishedMessageAsync(insertedId);
Assert.NotNull(message); // Assert.NotNull(message);
Assert.Equal("SqlServerStorageConnectionTest", message.Name); // Assert.Equal("SqlServerStorageConnectionTest", message.Name);
Assert.Equal(StatusName.Scheduled, message.StatusName); // Assert.Equal(StatusName.Scheduled, message.StatusName);
} // }
[Fact] // [Fact]
public async Task FetchNextMessageAsync_Test() // public async Task FetchNextMessageAsync_Test()
{ // {
var sql = "INSERT INTO [Cap].[Queue]([MessageId],[MessageType]) VALUES(@MessageId,@MessageType);"; // var sql = "INSERT INTO [Cap].[Queue]([MessageId],[MessageType]) VALUES(@MessageId,@MessageType);";
var queue = new CapQueue // var queue = new CapQueue
{ // {
MessageId = 3333, // MessageId = 3333,
MessageType = MessageType.Publish // MessageType = MessageType.Publish
}; // };
using (var connection = ConnectionUtil.CreateConnection()) // using (var connection = ConnectionUtil.CreateConnection())
{ // {
connection.Execute(sql, queue); // connection.Execute(sql, queue);
} // }
var fetchedMessage = await _storage.FetchNextMessageAsync(); // var fetchedMessage = await _storage.FetchNextMessageAsync();
fetchedMessage.Dispose(); // fetchedMessage.Dispose();
Assert.NotNull(fetchedMessage); // Assert.NotNull(fetchedMessage);
Assert.Equal(MessageType.Publish, fetchedMessage.MessageType); // Assert.Equal(MessageType.Publish, fetchedMessage.MessageType);
Assert.Equal(3333, fetchedMessage.MessageId); // Assert.Equal(3333, fetchedMessage.MessageId);
} // }
[Fact] // [Fact]
public async Task StoreReceivedMessageAsync_Test() // public async Task StoreReceivedMessageAsync_Test()
{ // {
var receivedMessage = new CapReceivedMessage // var receivedMessage = new CapReceivedMessage
{ // {
Name = "SqlServerStorageConnectionTest", // Name = "SqlServerStorageConnectionTest",
Content = "", // Content = "",
Group = "mygroup", // Group = "mygroup",
StatusName = StatusName.Scheduled // StatusName = StatusName.Scheduled
}; // };
Exception exception = null; // Exception exception = null;
try // try
{ // {
await _storage.StoreReceivedMessageAsync(receivedMessage); // await _storage.StoreReceivedMessageAsync(receivedMessage);
} // }
catch (Exception ex) // catch (Exception ex)
{ // {
exception = ex; // exception = ex;
} // }
Assert.Null(exception); // Assert.Null(exception);
} // }
[Fact] // [Fact]
public async Task GetReceivedMessageAsync_Test() // public async Task GetReceivedMessageAsync_Test()
{ // {
var sql = $@" // var sql = $@"
INSERT INTO [Cap].[Received]([Name],[Group],[Content],[Retries],[Added],[ExpiresAt],[StatusName]) OUTPUT INSERTED.Id //INSERT INTO [Cap].[Received]([Name],[Group],[Content],[Retries],[Added],[ExpiresAt],[StatusName]) OUTPUT INSERTED.Id
VALUES(@Name,@Group,@Content,@Retries,@Added,@ExpiresAt,@StatusName);"; //VALUES(@Name,@Group,@Content,@Retries,@Added,@ExpiresAt,@StatusName);";
var receivedMessage = new CapReceivedMessage // var receivedMessage = new CapReceivedMessage
{ // {
Name = "SqlServerStorageConnectionTest", // Name = "SqlServerStorageConnectionTest",
Content = "", // Content = "",
Group = "mygroup", // Group = "mygroup",
StatusName = StatusName.Scheduled // StatusName = StatusName.Scheduled
}; // };
var insertedId = default(int); // var insertedId = default(int);
using (var connection = ConnectionUtil.CreateConnection()) // using (var connection = ConnectionUtil.CreateConnection())
{ // {
insertedId = connection.QueryFirst<int>(sql, receivedMessage); // insertedId = connection.QueryFirst<int>(sql, receivedMessage);
} // }
var message = await _storage.GetReceivedMessageAsync(insertedId); // var message = await _storage.GetReceivedMessageAsync(insertedId);
Assert.NotNull(message); // Assert.NotNull(message);
Assert.Equal(StatusName.Scheduled, message.StatusName); // Assert.Equal(StatusName.Scheduled, message.StatusName);
Assert.Equal("SqlServerStorageConnectionTest", message.Name); // Assert.Equal("SqlServerStorageConnectionTest", message.Name);
Assert.Equal("mygroup", message.Group); // Assert.Equal("mygroup", message.Group);
} // }
[Fact] // [Fact]
public async Task GetNextReceviedMessageToBeEnqueuedAsync_Test() // public async Task GetNextReceviedMessageToBeEnqueuedAsync_Test()
{ // {
var receivedMessage = new CapReceivedMessage // var receivedMessage = new CapReceivedMessage
{ // {
Name = "SqlServerStorageConnectionTest", // Name = "SqlServerStorageConnectionTest",
Content = "", // Content = "",
Group = "mygroup", // Group = "mygroup",
StatusName = StatusName.Scheduled // StatusName = StatusName.Scheduled
}; // };
await _storage.StoreReceivedMessageAsync(receivedMessage); // await _storage.StoreReceivedMessageAsync(receivedMessage);
var message = await _storage.GetNextReceviedMessageToBeEnqueuedAsync(); // var message = await _storage.GetNextReceviedMessageToBeEnqueuedAsync();
Assert.NotNull(message); // Assert.NotNull(message);
Assert.Equal(StatusName.Scheduled, message.StatusName); // Assert.Equal(StatusName.Scheduled, message.StatusName);
Assert.Equal("SqlServerStorageConnectionTest", message.Name); // Assert.Equal("SqlServerStorageConnectionTest", message.Name);
Assert.Equal("mygroup", message.Group); // Assert.Equal("mygroup", message.Group);
} // }
} // }
} //}
...@@ -5,37 +5,37 @@ namespace DotNetCore.CAP.SqlServer.Test ...@@ -5,37 +5,37 @@ namespace DotNetCore.CAP.SqlServer.Test
{ {
public class SqlServerStorageTest : DatabaseTestHost public class SqlServerStorageTest : DatabaseTestHost
{ {
[Fact] // [Fact]
public void Database_IsExists() // public void Database_IsExists()
{ // {
var master = ConnectionUtil.GetMasterConnectionString(); // var master = ConnectionUtil.GetMasterConnectionString();
using (var connection = ConnectionUtil.CreateConnection(master)) // using (var connection = ConnectionUtil.CreateConnection(master))
{ // {
var databaseName = ConnectionUtil.GetDatabaseName(); // var databaseName = ConnectionUtil.GetDatabaseName();
var sql = $@" // var sql = $@"
IF EXISTS (SELECT * FROM sysdatabases WHERE name = N'{databaseName}') //IF EXISTS (SELECT * FROM sysdatabases WHERE name = N'{databaseName}')
SELECT 'True' //SELECT 'True'
ELSE //ELSE
SELECT 'False'"; //SELECT 'False'";
var result = connection.QueryFirst<bool>(sql); // var result = connection.QueryFirst<bool>(sql);
Assert.Equal(true, result); // Assert.Equal(true, result);
} // }
} // }
[Fact] // [Fact]
public void DatabaseTable_Published_IsExists() // public void DatabaseTable_Published_IsExists()
{ // {
using (var connection = ConnectionUtil.CreateConnection()) // using (var connection = ConnectionUtil.CreateConnection())
{ // {
var sql = @" // var sql = @"
IF OBJECT_ID(N'[Cap].[Published]',N'U') IS NOT NULL //IF OBJECT_ID(N'[Cap].[Published]',N'U') IS NOT NULL
SELECT 'True' //SELECT 'True'
ELSE //ELSE
SELECT 'False'"; //SELECT 'False'";
var result = connection.QueryFirst<bool>(sql); // var result = connection.QueryFirst<bool>(sql);
Assert.Equal(true, result); // Assert.Equal(true, result);
} // }
} // }
[Fact] [Fact]
public void DatabaseTable_Queue_IsExists() public void DatabaseTable_Queue_IsExists()
...@@ -52,19 +52,19 @@ SELECT 'False'"; ...@@ -52,19 +52,19 @@ SELECT 'False'";
} }
} }
[Fact] // [Fact]
public void DatabaseTable_Received_IsExists() // public void DatabaseTable_Received_IsExists()
{ // {
using (var connection = ConnectionUtil.CreateConnection()) // using (var connection = ConnectionUtil.CreateConnection())
{ // {
var sql = @" // var sql = @"
IF OBJECT_ID(N'[Cap].[Received]',N'U') IS NOT NULL //IF OBJECT_ID(N'[Cap].[Received]',N'U') IS NOT NULL
SELECT 'True' //SELECT 'True'
ELSE //ELSE
SELECT 'False'"; //SELECT 'False'";
var result = connection.QueryFirst<bool>(sql); // var result = connection.QueryFirst<bool>(sql);
Assert.Equal(true, result); // Assert.Equal(true, result);
} // }
} // }
} }
} }
Markdown is supported
0% or
You are about to add 0 people to the discussion. Proceed with caution.
Finish editing this message first!
Please register or to comment