|
2 | 2 | using System.Text; |
3 | 3 | using Xunit; |
4 | 4 | using Ydb.Sdk.Ado; |
| 5 | +using Ydb.Sdk.Value; |
5 | 6 |
|
6 | 7 | namespace Ydb.Sdk.Tests.Ado; |
7 | 8 |
|
@@ -67,6 +68,42 @@ public async Task ExecuteScalarAsync_WhenSetYdbParameterThenPrepare_ReturnThisVa |
67 | 68 | Assert.Equal(data.Expected, await dbCommand.ExecuteScalarAsync()); |
68 | 69 | } |
69 | 70 |
|
| 71 | + [Fact] |
| 72 | + public async Task ExecuteScalarAsync_WhenNoDbTypeParameter_ReturnThisValue() |
| 73 | + { |
| 74 | + const string simpleJson = @"{""a"":""b""}"; |
| 75 | + |
| 76 | + var args = new List<(YdbValue YdbValue, object Expected)> |
| 77 | + { |
| 78 | + (YdbValue.MakeJson(simpleJson), simpleJson), |
| 79 | + (YdbValue.MakeJsonDocument(simpleJson), simpleJson), |
| 80 | + (YdbValue.MakeInterval(TimeSpan.FromSeconds(5)), TimeSpan.FromSeconds(5)), |
| 81 | + (YdbValue.MakeYson(Encoding.ASCII.GetBytes("{type=\"yson\"}")), Encoding.ASCII.GetBytes("{type=\"yson\"}")), |
| 82 | + (YdbValue.MakeOptionalJson(simpleJson), simpleJson), |
| 83 | + (YdbValue.MakeOptionalJsonDocument(simpleJson), simpleJson), |
| 84 | + (YdbValue.MakeOptionalInterval(TimeSpan.FromSeconds(5)), TimeSpan.FromSeconds(5)), |
| 85 | + (YdbValue.MakeOptionalYson(Encoding.ASCII.GetBytes("{type=\"yson\"}")), |
| 86 | + Encoding.ASCII.GetBytes("{type=\"yson\"}")) |
| 87 | + }; |
| 88 | + |
| 89 | + await using var connection = new YdbConnection(); |
| 90 | + await connection.OpenAsync(); |
| 91 | + |
| 92 | + var dbCommand = connection.CreateCommand(); |
| 93 | + dbCommand.CommandText = "SELECT @var;"; |
| 94 | + |
| 95 | + foreach (var arg in args) |
| 96 | + { |
| 97 | + dbCommand.Parameters.Clear(); |
| 98 | + dbCommand.Parameters.Add(new YdbParameter |
| 99 | + { |
| 100 | + ParameterName = "@var", |
| 101 | + Value = arg.YdbValue |
| 102 | + }); |
| 103 | + Assert.Equal(arg.Expected, await dbCommand.ExecuteScalarAsync()); |
| 104 | + } |
| 105 | + } |
| 106 | + |
70 | 107 | [Fact] |
71 | 108 | public async Task ExecuteNonQueryAsync_WhenCreateUser_ReturnEmptyResultSet() |
72 | 109 | { |
|
0 commit comments