Skip to content

Commit db05675

Browse files
authored
Update some tests (#213)
1 parent c963aa4 commit db05675

File tree

4 files changed

+43
-16
lines changed

4 files changed

+43
-16
lines changed

test/EFCore.Jet.FunctionalTests/GreenTests/ace_2010_odbc_x86.txt

Lines changed: 2 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -10158,6 +10158,8 @@ EntityFrameworkCore.Jet.FunctionalTests.Query.NorthwindKeylessEntitiesQueryJetTe
1015810158
EntityFrameworkCore.Jet.FunctionalTests.Query.NorthwindKeylessEntitiesQueryJetTest.KeylessEntity_with_included_navs_multi_level(async: True)
1015910159
EntityFrameworkCore.Jet.FunctionalTests.Query.NorthwindKeylessEntitiesQueryJetTest.KeylessEntity_with_mixed_tracking(isAsync: False)
1016010160
EntityFrameworkCore.Jet.FunctionalTests.Query.NorthwindKeylessEntitiesQueryJetTest.KeylessEntity_with_mixed_tracking(isAsync: True)
10161+
EntityFrameworkCore.Jet.FunctionalTests.Query.NorthwindKeylessEntitiesQueryJetTest.KeylessEntity_with_nav_defining_query(isAsync: False)
10162+
EntityFrameworkCore.Jet.FunctionalTests.Query.NorthwindKeylessEntitiesQueryJetTest.KeylessEntity_with_nav_defining_query(isAsync: True)
1016110163
EntityFrameworkCore.Jet.FunctionalTests.Query.NorthwindKeylessEntitiesQueryJetTest.Projecting_collection_correlated_with_keyless_entity_throws(async: False)
1016210164
EntityFrameworkCore.Jet.FunctionalTests.Query.NorthwindKeylessEntitiesQueryJetTest.Projecting_collection_correlated_with_keyless_entity_throws(async: True)
1016310165
EntityFrameworkCore.Jet.FunctionalTests.Query.NorthwindMiscellaneousQueryJetTest.Add_minutes_on_constant_value(async: False)

test/EFCore.Jet.FunctionalTests/GreenTests/ace_2010_oledb_x86.txt

Lines changed: 3 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -1315,6 +1315,7 @@ EntityFrameworkCore.Jet.FunctionalTests.EverythingIsStringsJetTest.Can_read_back
13151315
EntityFrameworkCore.Jet.FunctionalTests.EverythingIsStringsJetTest.Columns_have_expected_data_types
13161316
EntityFrameworkCore.Jet.FunctionalTests.EverythingIsStringsJetTest.Object_to_string_conversion
13171317
EntityFrameworkCore.Jet.FunctionalTests.EverythingIsStringsJetTest.Optional_datetime_reading_null_from_database
1318+
EntityFrameworkCore.Jet.FunctionalTests.ExecutionStrategyTest.Handles_commit_failure_async(realFailure: False)
13181319
EntityFrameworkCore.Jet.FunctionalTests.ExecutionStrategyTest.Handles_commit_failure_multiple_SaveChanges(realFailure: False)
13191320
EntityFrameworkCore.Jet.FunctionalTests.ExecutionStrategyTest.Handles_commit_failure_multiple_SaveChanges(realFailure: True)
13201321
EntityFrameworkCore.Jet.FunctionalTests.ExecutionStrategyTest.Handles_commit_failure(realFailure: False)
@@ -13387,6 +13388,8 @@ EntityFrameworkCore.Jet.FunctionalTests.Query.NorthwindKeylessEntitiesQueryJetTe
1338713388
EntityFrameworkCore.Jet.FunctionalTests.Query.NorthwindKeylessEntitiesQueryJetTest.KeylessEntity_with_included_navs_multi_level(async: True)
1338813389
EntityFrameworkCore.Jet.FunctionalTests.Query.NorthwindKeylessEntitiesQueryJetTest.KeylessEntity_with_mixed_tracking(isAsync: False)
1338913390
EntityFrameworkCore.Jet.FunctionalTests.Query.NorthwindKeylessEntitiesQueryJetTest.KeylessEntity_with_mixed_tracking(isAsync: True)
13391+
EntityFrameworkCore.Jet.FunctionalTests.Query.NorthwindKeylessEntitiesQueryJetTest.KeylessEntity_with_nav_defining_query(isAsync: False)
13392+
EntityFrameworkCore.Jet.FunctionalTests.Query.NorthwindKeylessEntitiesQueryJetTest.KeylessEntity_with_nav_defining_query(isAsync: True)
1339013393
EntityFrameworkCore.Jet.FunctionalTests.Query.NorthwindKeylessEntitiesQueryJetTest.Projecting_collection_correlated_with_keyless_entity_throws(async: False)
1339113394
EntityFrameworkCore.Jet.FunctionalTests.Query.NorthwindKeylessEntitiesQueryJetTest.Projecting_collection_correlated_with_keyless_entity_throws(async: True)
1339213395
EntityFrameworkCore.Jet.FunctionalTests.Query.NorthwindMiscellaneousQueryJetTest.Add_minutes_on_constant_value(async: False)

test/EFCore.Jet.FunctionalTests/Query/NorthwindKeylessEntitiesQueryJetTest.cs

Lines changed: 12 additions & 16 deletions
Original file line numberDiff line numberDiff line change
@@ -1,5 +1,7 @@
11
// Licensed under the Apache License, Version 2.0. See License.txt in the project root for license information.
22

3+
using System.Data.Odbc;
4+
using System.Data.OleDb;
35
using System.Threading.Tasks;
46
using EntityFrameworkCore.Jet.FunctionalTests.TestUtilities;
57
using Microsoft.EntityFrameworkCore.Query;
@@ -67,22 +69,16 @@ public override async Task KeylessEntity_by_database_view(bool isAsync)
6769

6870
public override async Task KeylessEntity_with_nav_defining_query(bool isAsync)
6971
{
70-
await base.KeylessEntity_with_nav_defining_query(isAsync);
71-
72-
AssertSql(
73-
$@"{AssertSqlHelper.Declaration("@__ef_filter___searchTerm_0='A' (Size = 4000)")}
74-
75-
{AssertSqlHelper.Declaration("@__ef_filter___searchTerm_1='A' (Size = 4000)")}
76-
77-
SELECT `c`.`CompanyName`, (
78-
SELECT COUNT(*)
79-
FROM `Orders` AS `o`
80-
WHERE `c`.`CustomerID` = `o`.`CustomerID`) AS `OrderCount`, {AssertSqlHelper.Parameter("@__ef_filter___searchTerm_0")} AS `SearchTerm`
81-
FROM `Customers` AS `c`
82-
WHERE (({AssertSqlHelper.Parameter("@__ef_filter___searchTerm_1")} = '') OR (`c`.`CompanyName` IS NOT NULL AND (LEFT(`c`.`CompanyName`, LEN({AssertSqlHelper.Parameter("@__ef_filter___searchTerm_1")})) = {AssertSqlHelper.Parameter("@__ef_filter___searchTerm_1")}))) AND ((
83-
SELECT COUNT(*)
84-
FROM `Orders` AS `o`
85-
WHERE `c`.`CustomerID` = `o`.`CustomerID`) > 0)");
72+
// FromSql mapping. Issue #21627.
73+
var testStore = (JetTestStore)Fixture.TestStore;
74+
if (testStore.IsOleDb())
75+
{
76+
await Assert.ThrowsAsync<OleDbException>(() => base.KeylessEntity_with_nav_defining_query(isAsync));
77+
}
78+
else
79+
{
80+
await Assert.ThrowsAsync<OdbcException>(() => base.KeylessEntity_with_nav_defining_query(isAsync));
81+
}
8682
}
8783

8884
public override async Task KeylessEntity_with_mixed_tracking(bool isAsync)

test/EFCore.Jet.FunctionalTests/TestUtilities/TestRelationalTransaction.cs

Lines changed: 26 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -2,6 +2,8 @@
22

33
using System;
44
using System.Data.Common;
5+
using System.Threading.Tasks;
6+
using System.Threading;
57
using EntityFrameworkCore.Jet.Data;
68
using Microsoft.EntityFrameworkCore;
79
using Microsoft.EntityFrameworkCore.Diagnostics;
@@ -70,5 +72,29 @@ public override void Commit()
7072

7173
base.Commit();
7274
}
75+
76+
public override async Task CommitAsync(CancellationToken cancellationToken = default)
77+
{
78+
if (_testConnection.CommitFailures.Count > 0)
79+
{
80+
var fail = _testConnection.CommitFailures.Dequeue();
81+
if (fail.HasValue)
82+
{
83+
if (fail.Value)
84+
{
85+
await this.GetDbTransaction().RollbackAsync(cancellationToken);
86+
}
87+
else
88+
{
89+
await this.GetDbTransaction().CommitAsync(cancellationToken);
90+
}
91+
92+
await _testConnection.DbConnection.CloseAsync();
93+
throw _createExceptionFunc(_testConnection.ErrorNumber, _testConnection.ConnectionId);
94+
}
95+
}
96+
97+
await base.CommitAsync(cancellationToken);
98+
}
7399
}
74100
}

0 commit comments

Comments
 (0)