diff options
author | crupest <crupest@outlook.com> | 2022-12-10 11:35:49 +0800 |
---|---|---|
committer | crupest <crupest@outlook.com> | 2022-12-20 20:32:53 +0800 |
commit | ddce7fb5891d97eb66960687fe1fea4cb0bd7c94 (patch) | |
tree | ee9543893288d456910284f889473341f8bc8c0b /docker | |
parent | 7fd38e35fdc5248502008903cf7608d9b799fd7f (diff) | |
download | crupest-ddce7fb5891d97eb66960687fe1fea4cb0bd7c94.tar.gz crupest-ddce7fb5891d97eb66960687fe1fea4cb0bd7c94.tar.bz2 crupest-ddce7fb5891d97eb66960687fe1fea4cb0bd7c94.zip |
Develop secret api. v23
Diffstat (limited to 'docker')
4 files changed, 40 insertions, 6 deletions
diff --git a/docker/crupest-api/CrupestApi/CrupestApi.Commons.Tests/Crud/ColumnTypeInfoTest.cs b/docker/crupest-api/CrupestApi/CrupestApi.Commons.Tests/Crud/ColumnTypeInfoTest.cs new file mode 100644 index 0000000..56ae06f --- /dev/null +++ b/docker/crupest-api/CrupestApi/CrupestApi.Commons.Tests/Crud/ColumnTypeInfoTest.cs @@ -0,0 +1,26 @@ +using System.Data; + +namespace CrupestApi.Commons.Crud.Tests; + +public class ColumnTypeInfoTest +{ + private ColumnTypeProvider _provider = new ColumnTypeProvider(); + + [Theory] + [InlineData(typeof(int), DbType.Int32, 123)] + [InlineData(typeof(long), DbType.Int64, 456)] + [InlineData(typeof(sbyte), DbType.SByte, 789)] + [InlineData(typeof(short), DbType.Int16, 101)] + [InlineData(typeof(float), DbType.Single, 1.0f)] + [InlineData(typeof(double), DbType.Double, 1.0)] + [InlineData(typeof(string), DbType.String, "Hello world!")] + [InlineData(typeof(byte[]), DbType.Binary, new byte[] { 1, 2, 3 })] + public void BasicColumnTypeTest(Type type, DbType dbType, object? value) + { + var typeInfo = _provider.Get(type); + Assert.True(typeInfo.IsSimple); + Assert.Equal(dbType, typeInfo.DbType); + Assert.Equal(value, typeInfo.ConvertFromDatabase(value)); + Assert.Equal(value, typeInfo.ConvertToDatabase(value)); + } +} diff --git a/docker/crupest-api/CrupestApi/CrupestApi.Commons.Tests/Crud/SqlCompareHelper.cs b/docker/crupest-api/CrupestApi/CrupestApi.Commons.Tests/Crud/SqlCompareHelper.cs index 8f3e5c6..c019e19 100644 --- a/docker/crupest-api/CrupestApi/CrupestApi.Commons.Tests/Crud/SqlCompareHelper.cs +++ b/docker/crupest-api/CrupestApi/CrupestApi.Commons.Tests/Crud/SqlCompareHelper.cs @@ -44,9 +44,11 @@ public class SqlCompareHelper } else { - wordBuilder = new StringBuilder(sql[current]); + wordBuilder = new StringBuilder(); + wordBuilder.Append(sql[current]); } } + current++; } if (wordBuilder is not null) @@ -54,6 +56,14 @@ public class SqlCompareHelper result.Add(wordBuilder.ToString()); } + if (toLower) + { + for (int i = 0; i < result.Count; i++) + { + result[i] = result[i].ToLower(); + } + } + return result; } @@ -68,6 +78,6 @@ public class SqlCompareHelper var sql = "SELECT * FROM TableName WHERE id = @abcd;"; var words = SqlExtractWords(sql); - Assert.Equal(words, new List<string> { "select", "*", "from", "tablename", "where", "id", "=", "@abcd", ";" }); + Assert.Equal(new List<string> { "select", "*", "from", "tablename", "where", "id", "=", "@abcd", ";" }, words); } } diff --git a/docker/crupest-api/CrupestApi/CrupestApi.Commons.Tests/Crud/TableInfoTest.cs b/docker/crupest-api/CrupestApi/CrupestApi.Commons.Tests/Crud/TableInfoTest.cs new file mode 100644 index 0000000..d82c70f --- /dev/null +++ b/docker/crupest-api/CrupestApi/CrupestApi.Commons.Tests/Crud/TableInfoTest.cs @@ -0,0 +1 @@ +namespace CrupestApi.Commons.Crud.Tests; diff --git a/docker/crupest-api/CrupestApi/CrupestApi.Commons/Json.cs b/docker/crupest-api/CrupestApi/CrupestApi.Commons/Json.cs index 3017176..4f5862f 100644 --- a/docker/crupest-api/CrupestApi/CrupestApi.Commons/Json.cs +++ b/docker/crupest-api/CrupestApi/CrupestApi.Commons/Json.cs @@ -29,11 +29,10 @@ public static class CrupestApiJsonExtensions } else { - throw new Exception("Only value not array or object is allowed.") + throw new Exception("Only value not array or object is allowed."); } } - public static IServiceCollection AddJsonOptions(this IServiceCollection services) { services.AddOptions<JsonSerializerOptions>(); @@ -44,8 +43,6 @@ public static class CrupestApiJsonExtensions config.PropertyNamingPolicy = JsonNamingPolicy.CamelCase; }); - // TODO: Register column type provided converters. - return services; } |