You can not select more than 25 topics Topics must start with a letter or number, can include dashes ('-') and can be up to 35 characters long.

MySqlStorageTest.cs 1.6 KiB

7 years ago
7 years ago
12345678910111213141516171819202122232425262728293031323334353637383940414243444546
  1. using Dapper;
  2. using Xunit;
  3. namespace DotNetCore.CAP.MySql.Test
  4. {
  5. [Collection("MySql")]
  6. public class MySqlStorageTest : DatabaseTestHost
  7. {
  8. private readonly string _dbName;
  9. private readonly string _masterDbConnectionString;
  10. public MySqlStorageTest()
  11. {
  12. _dbName = ConnectionUtil.GetDatabaseName();
  13. _masterDbConnectionString = ConnectionUtil.GetMasterConnectionString();
  14. }
  15. [Fact]
  16. public void Database_IsExists()
  17. {
  18. using (var connection = ConnectionUtil.CreateConnection(_masterDbConnectionString))
  19. {
  20. var databaseName = ConnectionUtil.GetDatabaseName();
  21. var sql = $@"SELECT SCHEMA_NAME FROM SCHEMATA WHERE SCHEMA_NAME = '{databaseName}'";
  22. var result = connection.QueryFirstOrDefault<string>(sql);
  23. Assert.NotNull(result);
  24. Assert.True(databaseName.Equals(result, System.StringComparison.CurrentCultureIgnoreCase));
  25. }
  26. }
  27. [Theory]
  28. [InlineData("cap.published")]
  29. [InlineData("cap.queue")]
  30. [InlineData("cap.received")]
  31. public void DatabaseTable_IsExists(string tableName)
  32. {
  33. using (var connection = ConnectionUtil.CreateConnection(_masterDbConnectionString))
  34. {
  35. var sql = $"SELECT TABLE_NAME FROM `TABLES` WHERE TABLE_SCHEMA='{_dbName}' AND TABLE_NAME = '{tableName}'";
  36. var result = connection.QueryFirstOrDefault<string>(sql);
  37. Assert.NotNull(result);
  38. Assert.Equal(tableName, result);
  39. }
  40. }
  41. }
  42. }