Skip to content

Commit 5fb936f

Browse files
committed
fixes for tests
1 parent 784cb49 commit 5fb936f

File tree

3 files changed

+67
-214
lines changed

3 files changed

+67
-214
lines changed
Lines changed: 37 additions & 66 deletions
Original file line numberDiff line numberDiff line change
@@ -1,8 +1,6 @@
1-
using System.Text;
1+
using EfCore.Ydb.FunctionalTests.TestUtilities;
22
using Microsoft.EntityFrameworkCore.BulkUpdates;
3-
using Xunit;
43
using Xunit.Abstractions;
5-
using Xunit.Sdk;
64

75
namespace EfCore.Ydb.FunctionalTests.AllTests.BulkUpdates;
86

@@ -16,158 +14,131 @@ ITestOutputHelper testOutputHelper
1614
TPHFiltersInheritanceBulkUpdatesYdbFixture>(fixture, testOutputHelper)
1715
{
1816
public override Task Delete_where_keyless_entity_mapped_to_sql_query(bool async)
19-
=> TestIgnoringBase(
17+
=> SharedTestMethods.TestIgnoringBase(
2018
base.Delete_where_keyless_entity_mapped_to_sql_query,
19+
Fixture.TestSqlLoggerFactory,
2120
async
2221
);
2322

2423
public override Task Update_where_keyless_entity_mapped_to_sql_query(bool async)
25-
=> TestIgnoringBase(
24+
=> SharedTestMethods.TestIgnoringBase(
2625
base.Update_where_keyless_entity_mapped_to_sql_query,
26+
Fixture.TestSqlLoggerFactory,
2727
async
2828
);
2929

3030
public override Task Delete_where_hierarchy(bool async)
31-
=> TestIgnoringBase(
31+
=> SharedTestMethods.TestIgnoringBase(
3232
base.Delete_where_hierarchy,
33+
Fixture.TestSqlLoggerFactory,
3334
async
3435
);
3536

3637
public override Task Delete_where_hierarchy_subquery(bool async)
37-
=> TestIgnoringBase(
38+
=> SharedTestMethods.TestIgnoringBase(
3839
base.Delete_where_hierarchy_subquery,
40+
Fixture.TestSqlLoggerFactory,
3941
async
4042
);
4143

4244
public override Task Delete_where_hierarchy_derived(bool async)
43-
=> TestIgnoringBase(
45+
=> SharedTestMethods.TestIgnoringBase(
4446
base.Delete_where_hierarchy_derived,
47+
Fixture.TestSqlLoggerFactory,
4548
async
4649
);
4750

4851
public override Task Delete_where_using_hierarchy(bool async)
49-
=> TestIgnoringBase(
52+
=> SharedTestMethods.TestIgnoringBase(
5053
base.Delete_where_using_hierarchy,
54+
Fixture.TestSqlLoggerFactory,
5155
async
5256
);
5357

5458
public override Task Delete_where_using_hierarchy_derived(bool async)
55-
=> TestIgnoringBase(
59+
=> SharedTestMethods.TestIgnoringBase(
5660
base.Delete_where_using_hierarchy_derived,
61+
Fixture.TestSqlLoggerFactory,
5762
async
5863
);
5964

6065
public override Task Delete_GroupBy_Where_Select_First(bool async)
61-
=> TestIgnoringBase(
66+
=> SharedTestMethods.TestIgnoringBase(
6267
base.Delete_GroupBy_Where_Select_First,
68+
Fixture.TestSqlLoggerFactory,
6369
async
6470
);
6571

6672
public override Task Delete_GroupBy_Where_Select_First_2(bool async)
67-
=> TestIgnoringBase(
73+
=> SharedTestMethods.TestIgnoringBase(
6874
base.Delete_GroupBy_Where_Select_First_2,
75+
Fixture.TestSqlLoggerFactory,
6976
async
7077
);
7178

7279
public override Task Delete_GroupBy_Where_Select_First_3(bool async)
73-
=> TestIgnoringBase(
80+
=> SharedTestMethods.TestIgnoringBase(
7481
base.Delete_GroupBy_Where_Select_First_3,
82+
Fixture.TestSqlLoggerFactory,
7583
async
7684
);
7785

7886
public override Task Update_base_type(bool async)
79-
=> TestIgnoringBase(
87+
=> SharedTestMethods.TestIgnoringBase(
8088
base.Update_base_type,
89+
Fixture.TestSqlLoggerFactory,
8190
async
8291
);
8392

8493
public override Task Update_base_type_with_OfType(bool async)
85-
=> TestIgnoringBase(
94+
=> SharedTestMethods.TestIgnoringBase(
8695
base.Update_base_type_with_OfType,
96+
Fixture.TestSqlLoggerFactory,
8797
async
8898
);
8999

90100
public override Task Update_where_hierarchy_subquery(bool async)
91-
=> TestIgnoringBase(
101+
=> SharedTestMethods.TestIgnoringBase(
92102
base.Update_where_hierarchy_subquery,
103+
Fixture.TestSqlLoggerFactory,
93104
async
94105
);
95106

96107
public override Task Update_base_property_on_derived_type(bool async)
97-
=> TestIgnoringBase(
108+
=> SharedTestMethods.TestIgnoringBase(
98109
base.Update_base_property_on_derived_type,
110+
Fixture.TestSqlLoggerFactory,
99111
async
100112
);
101113

102114
public override Task Update_derived_property_on_derived_type(bool async)
103-
=> TestIgnoringBase(
115+
=> SharedTestMethods.TestIgnoringBase(
104116
base.Update_derived_property_on_derived_type,
117+
Fixture.TestSqlLoggerFactory,
105118
async
106119
);
107120

108121
public override Task Update_base_and_derived_types(bool async)
109-
=> TestIgnoringBase(
122+
=> SharedTestMethods.TestIgnoringBase(
110123
base.Update_base_and_derived_types,
124+
Fixture.TestSqlLoggerFactory,
111125
async
112126
);
113127

114128
public override Task Update_where_using_hierarchy(bool async)
115-
=> TestIgnoringBase(
129+
=> SharedTestMethods.TestIgnoringBase(
116130
base.Update_where_using_hierarchy,
131+
Fixture.TestSqlLoggerFactory,
117132
async
118133
);
119134

120135
public override Task Update_where_using_hierarchy_derived(bool async)
121-
=> TestIgnoringBase(
136+
=> SharedTestMethods.TestIgnoringBase(
122137
base.Update_where_using_hierarchy_derived,
138+
Fixture.TestSqlLoggerFactory,
123139
async
124140
);
125141

126142
protected override void ClearLog()
127143
=> Fixture.TestSqlLoggerFactory.Clear();
128-
129-
private async Task TestIgnoringBase(
130-
Func<bool, Task> baseTest,
131-
bool async,
132-
params string[] expectedSql
133-
)
134-
{
135-
try
136-
{
137-
await baseTest(async);
138-
}
139-
catch (EqualException ex)
140-
{
141-
var commands = Fixture.TestSqlLoggerFactory.SqlStatements;
142-
var commandsStr = new StringBuilder();
143-
144-
foreach (var command in commands)
145-
{
146-
commandsStr.Append("\n>>>\n");
147-
commandsStr.Append(command);
148-
}
149-
150-
151-
if (expectedSql.Length == 0) throw new AggregateException(ex, new Exception(commandsStr.ToString()));
152-
var actual = Fixture.TestSqlLoggerFactory.SqlStatements;
153-
for (var i = 0; i < expectedSql.Length; i++)
154-
{
155-
Assert.Equal(expectedSql[i], actual[i]);
156-
}
157-
}
158-
catch (Exception ex)
159-
{
160-
var commands = Fixture.TestSqlLoggerFactory.SqlStatements;
161-
var commandsStr = new StringBuilder();
162-
163-
foreach (var command in commands)
164-
{
165-
commandsStr.Append("\n>>>\n");
166-
commandsStr.Append(command);
167-
}
168-
169-
170-
throw new AggregateException(new Exception($"Sql:{commandsStr}\n<<<\n"), ex);
171-
}
172-
}
173144
}
Lines changed: 9 additions & 138 deletions
Original file line numberDiff line numberDiff line change
@@ -1,185 +1,56 @@
1-
using System.Text;
21
using Microsoft.EntityFrameworkCore.BulkUpdates;
32
using Xunit;
43
using Xunit.Abstractions;
5-
using Xunit.Sdk;
64

75
namespace EfCore.Ydb.FunctionalTests.AllTests.BulkUpdates;
86

7+
// TODO: Refactor later
98
public class TPTFiltersInheritanceBulkUpdatesSqlServerTest(
109
TPTFiltersInheritanceBulkUpdatesYdbFixture fixture,
1110
ITestOutputHelper testOutputHelper
1211
) : TPTFiltersInheritanceBulkUpdatesTestBase<TPTFiltersInheritanceBulkUpdatesYdbFixture>(fixture, testOutputHelper)
1312
{
14-
public override Task Delete_where_keyless_entity_mapped_to_sql_query(bool async)
15-
=> TestIgnoringBase(
16-
base.Delete_where_keyless_entity_mapped_to_sql_query,
17-
async
18-
);
19-
20-
public override Task Delete_where_hierarchy(bool async)
21-
=> TestIgnoringBase(
22-
base.Delete_where_hierarchy,
23-
async
24-
);
25-
26-
public override Task Delete_where_hierarchy_subquery(bool async)
27-
=> TestIgnoringBase(
28-
base.Delete_where_hierarchy_subquery,
29-
async
30-
);
31-
32-
public override Task Delete_where_hierarchy_derived(bool async)
33-
=> TestIgnoringBase(
34-
base.Delete_where_hierarchy_derived,
35-
async
36-
);
37-
38-
public override Task Delete_GroupBy_Where_Select_First_3(bool async)
39-
=> TestIgnoringBase(
40-
base.Delete_GroupBy_Where_Select_First_3,
41-
async
42-
);
43-
44-
public override Task Update_base_and_derived_types(bool async)
45-
=> TestIgnoringBase(
46-
base.Update_base_and_derived_types,
47-
async
48-
);
49-
50-
public override Task Update_where_keyless_entity_mapped_to_sql_query(bool async)
51-
=> TestIgnoringBase(
52-
base.Update_where_keyless_entity_mapped_to_sql_query,
53-
async
54-
);
5513

5614
[ConditionalTheory(Skip = "https://github.com/ydb-platform/ydb/issues/15177")]
5715
[MemberData(nameof(IsAsyncData))]
5816
public override Task Delete_where_using_hierarchy(bool async)
59-
=> TestIgnoringBase(
60-
base.Delete_where_using_hierarchy,
61-
async
62-
);
17+
=> Task.CompletedTask;
6318

6419
[ConditionalTheory(Skip = "https://github.com/ydb-platform/ydb/issues/15177")]
6520
[MemberData(nameof(IsAsyncData))]
6621
public override Task Delete_where_using_hierarchy_derived(bool async)
67-
=> TestIgnoringBase(
68-
base.Delete_where_using_hierarchy_derived,
69-
async
70-
);
71-
72-
public override Task Delete_GroupBy_Where_Select_First(bool async)
73-
=> TestIgnoringBase(
74-
base.Delete_GroupBy_Where_Select_First,
75-
async
76-
);
77-
78-
public override Task Delete_GroupBy_Where_Select_First_2(bool async)
79-
=> TestIgnoringBase(
80-
base.Delete_GroupBy_Where_Select_First_2,
81-
async
82-
);
22+
=> Task.CompletedTask;
8323

8424
[ConditionalTheory(Skip = "need fix")]
8525
[MemberData(nameof(IsAsyncData))]
8626
public override Task Update_base_type(bool async)
87-
=> TestIgnoringBase(
88-
base.Update_base_type,
89-
async
90-
);
27+
=> Task.CompletedTask;
9128

9229
[ConditionalTheory(Skip = "need fix")]
9330
[MemberData(nameof(IsAsyncData))]
9431
public override Task Update_base_type_with_OfType(bool async)
95-
=> TestIgnoringBase(
96-
base.Update_base_type_with_OfType,
97-
async
98-
);
32+
=> Task.CompletedTask;
9933

100-
public override Task Update_where_hierarchy_subquery(bool async)
101-
=> TestIgnoringBase(
102-
base.Update_where_hierarchy_subquery,
103-
async
104-
);
105-
10634
[ConditionalTheory(Skip = "need fix")]
10735
[MemberData(nameof(IsAsyncData))]
10836
public override Task Update_base_property_on_derived_type(bool async)
109-
=> TestIgnoringBase(
110-
base.Update_base_property_on_derived_type,
111-
async
112-
);
37+
=> Task.CompletedTask;
11338

11439
[ConditionalTheory(Skip = "need fix")]
11540
[MemberData(nameof(IsAsyncData))]
11641
public override Task Update_derived_property_on_derived_type(bool async)
117-
=> TestIgnoringBase(
118-
base.Update_derived_property_on_derived_type,
119-
async
120-
);
42+
=> Task.CompletedTask;
12143

12244
[ConditionalTheory(Skip = "https://github.com/ydb-platform/ydb/issues/15177")]
12345
[MemberData(nameof(IsAsyncData))]
12446
public override Task Update_where_using_hierarchy(bool async)
125-
=> TestIgnoringBase(
126-
base.Update_where_using_hierarchy,
127-
async
128-
);
47+
=> Task.CompletedTask;
12948

13049
[ConditionalTheory(Skip = "https://github.com/ydb-platform/ydb/issues/15177")]
13150
[MemberData(nameof(IsAsyncData))]
13251
public override Task Update_where_using_hierarchy_derived(bool async)
133-
=> TestIgnoringBase(
134-
base.Update_where_using_hierarchy_derived,
135-
async
136-
);
52+
=> Task.CompletedTask;
13753

13854
protected override void ClearLog()
13955
=> Fixture.TestSqlLoggerFactory.Clear();
140-
141-
private async Task TestIgnoringBase(
142-
Func<bool, Task> baseTest,
143-
bool async,
144-
params string[] expectedSql
145-
)
146-
{
147-
try
148-
{
149-
await baseTest(async);
150-
}
151-
catch (EqualException ex)
152-
{
153-
var commands = Fixture.TestSqlLoggerFactory.SqlStatements;
154-
var commandsStr = new StringBuilder();
155-
156-
foreach (var command in commands)
157-
{
158-
commandsStr.Append("\n>>>\n");
159-
commandsStr.Append(command);
160-
}
161-
162-
163-
if (expectedSql.Length == 0) throw new AggregateException(ex, new Exception(commandsStr.ToString()));
164-
var actual = Fixture.TestSqlLoggerFactory.SqlStatements;
165-
for (var i = 0; i < expectedSql.Length; i++)
166-
{
167-
Assert.Equal(expectedSql[i], actual[i]);
168-
}
169-
}
170-
catch (Exception ex)
171-
{
172-
var commands = Fixture.TestSqlLoggerFactory.SqlStatements;
173-
var commandsStr = new StringBuilder();
174-
175-
foreach (var command in commands)
176-
{
177-
commandsStr.Append("\n>>>\n");
178-
commandsStr.Append(command);
179-
}
180-
181-
182-
throw new AggregateException(new Exception($"Sql:{commandsStr}\n<<<\n"), ex);
183-
}
184-
}
18556
}

0 commit comments

Comments
 (0)