Skip to content

Commit

Permalink
Query: Update tests in QueryFilters to avoid infinite recursion
Browse files Browse the repository at this point in the history
Resolves #11879
  • Loading branch information
smitpatel committed May 17, 2018
1 parent d4e2631 commit 2266c43
Show file tree
Hide file tree
Showing 4 changed files with 14 additions and 35 deletions.
Original file line number Diff line number Diff line change
Expand Up @@ -91,7 +91,7 @@ private static void IncorrectFilter(EntityTypeBuilder<ParameterFilter> builder,
private static void SetDependentFilter(ModelBuilder modelBuilder, DbContext context)
{
modelBuilder.Entity<DependentSetFilter>()
.HasQueryFilter(p => context.Set<PrincipalSetFilter>().Any(b => b.Id == p.PrincipalSetFilterId));
.HasQueryFilter(p => context.Set<MultiContextFilter>().Any(b => b.BossId == p.PrincipalSetFilterId));
}

#region EntityTypeConfigs
Expand Down
Original file line number Diff line number Diff line change
Expand Up @@ -2,7 +2,6 @@
// Licensed under the Apache License, Version 2.0. See License.txt in the project root for license information.

using Microsoft.EntityFrameworkCore.TestUtilities;
using Xunit;
using Xunit.Abstractions;

namespace Microsoft.EntityFrameworkCore.Query
Expand All @@ -16,18 +15,6 @@ public QueryFilterFuncletizationInMemoryTest(
{
}

[Fact(Skip = "#11879")]
public override void Using_DbSet_in_filter_works()
{
base.Using_DbSet_in_filter_works();
}

[Fact(Skip = "#11879")]
public override void Using_Context_set_method_in_filter_works()
{
base.Using_Context_set_method_in_filter_works();
}

public class QueryFilterFuncletizationInMemoryFixture : QueryFilterFuncletizationFixtureBase
{
protected override ITestStoreFactory TestStoreFactory => InMemoryTestStoreFactory.Instance;
Expand Down
Original file line number Diff line number Diff line change
Expand Up @@ -344,32 +344,37 @@ FROM [ExtensionContextFilter] AS [e]
WHERE [e].[IsEnabled] = @__ef_filter__Enabled_0");
}

[Fact(Skip = "#11879")]
public override void Using_DbSet_in_filter_works()
{
base.Using_DbSet_in_filter_works();

AssertSql(
@"SELECT [p].[Id]
@"@__ef_filter__Property_0='False'
SELECT [p].[Id]
FROM [PrincipalSetFilter] AS [p]
WHERE EXISTS (
SELECT 1
FROM [Dependents] AS [d]
WHERE [d].[PrincipalSetFilterId] = [p].[Id])");
FROM [Dependents] AS [p0]
WHERE EXISTS (
SELECT 1
FROM [MultiContextFilter] AS [e]
WHERE (([e].[IsEnabled] = @__ef_filter__Property_0) AND ([e].[BossId] = 1)) AND ([e].[BossId] = [p0].[PrincipalSetFilterId])) AND ([p0].[PrincipalSetFilterId] = [p].[Id]))");
}

[Fact(Skip = "#11879")]
public override void Using_Context_set_method_in_filter_works()
{
base.Using_Context_set_method_in_filter_works();

AssertSql(
@"SELECT [p].[Id], [p].[PrincipalSetFilterId]
@"@__ef_filter__Property_0='False'
SELECT [p].[Id], [p].[PrincipalSetFilterId]
FROM [Dependents] AS [p]
WHERE EXISTS (
SELECT 1
FROM [PrincipalSetFilter] AS [b]
WHERE [b].[Id] = [p].[PrincipalSetFilterId])");
FROM [MultiContextFilter] AS [e]
WHERE (([e].[IsEnabled] = @__ef_filter__Property_0) AND ([e].[BossId] = 1)) AND ([e].[BossId] = [p].[PrincipalSetFilterId]))");
}

public override void Static_member_from_dbContext_is_inlined()
Expand Down
Original file line number Diff line number Diff line change
Expand Up @@ -2,7 +2,6 @@
// Licensed under the Apache License, Version 2.0. See License.txt in the project root for license information.

using Microsoft.EntityFrameworkCore.TestUtilities;
using Xunit;
using Xunit.Abstractions;

namespace Microsoft.EntityFrameworkCore.Query
Expand All @@ -18,18 +17,6 @@ public QueryFilterFuncletizationSqliteTest(
//Fixture.TestSqlLoggerFactory.SetTestOutputHelper(testOutputHelper);
}

[Fact(Skip = "#11879")]
public override void Using_DbSet_in_filter_works()
{
base.Using_DbSet_in_filter_works();
}

[Fact(Skip = "#11879")]
public override void Using_Context_set_method_in_filter_works()
{
base.Using_Context_set_method_in_filter_works();
}

private void AssertSql(params string[] expected)
=> Fixture.TestSqlLoggerFactory.AssertBaseline(expected);

Expand Down

0 comments on commit 2266c43

Please sign in to comment.