Skip to content

Commit 1cc2c9a

Browse files
authored
feat: Multi-Context Support for EFCore Adapter (#93)
1 parent 1d3229a commit 1cc2c9a

34 files changed

Lines changed: 5728 additions & 412 deletions

.github/workflows/build.yml

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -47,7 +47,7 @@ jobs:
4747
run: dotnet build -c Release --no-restore
4848

4949
- name: Test solution
50-
run: dotnet test -c Release --no-build --no-restore --verbosity normal --results-directory test-results --collect:"XPlat Code Coverage" `
50+
run: dotnet test -c Release --no-build --no-restore --verbosity normal --filter "Category!=Integration" --results-directory test-results --collect:"XPlat Code Coverage" `
5151
-- DataCollectionRunSettings.DataCollectors.DataCollector.Configuration.Format=json,cobertura,lcov,teamcity,opencover
5252

5353
- name: Upload coverage

.github/workflows/release.yml

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -47,7 +47,7 @@ jobs:
4747
run: dotnet build -c Release --no-restore
4848

4949
- name: Test solution
50-
run: dotnet test -c Release --no-build --no-restore --verbosity normal --results-directory test-results --collect:"XPlat Code Coverage" `
50+
run: dotnet test -c Release --no-build --no-restore --verbosity normal --filter "Category!=Integration" --results-directory test-results --collect:"XPlat Code Coverage" `
5151
-- DataCollectionRunSettings.DataCollectors.DataCollector.Configuration.Format=json,cobertura,lcov,teamcity,opencover
5252

5353
- name: Upload coverage

.gitignore

Lines changed: 1 addition & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -332,3 +332,4 @@ ASALocalRun/
332332
# MFractors (Xamarin productivity tool) working folder
333333
.mfractor/
334334
.vscode/
335+
nul
Lines changed: 72 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,72 @@
1+
<Project Sdk="Microsoft.NET.Sdk">
2+
3+
<PropertyGroup>
4+
<TargetFrameworks>net9.0;net8.0;net7.0;net6.0;net5.0;netcoreapp3.1;</TargetFrameworks>
5+
<IsPackable>false</IsPackable>
6+
<LangVersion>11</LangVersion>
7+
<TestTfmsInParallel>false</TestTfmsInParallel>
8+
<NoWarn>$(NoWarn);NU1701</NoWarn>
9+
</PropertyGroup>
10+
11+
<ItemGroup>
12+
<PackageReference Include="Casbin.NET" Version="2.19.1" />
13+
<PackageReference Include="Microsoft.NET.Test.Sdk" Version="17.7.1" />
14+
<PackageReference Include="xunit" Version="2.5.0" />
15+
<PackageReference Include="xunit.runner.visualstudio" Version="2.4.5">
16+
<PrivateAssets>all</PrivateAssets>
17+
<IncludeAssets>runtime; build; native; contentfiles; analyzers; buildtransitive</IncludeAssets>
18+
</PackageReference>
19+
</ItemGroup>
20+
21+
<ItemGroup Condition="'$(TargetFramework)' == 'net9.0'">
22+
<PackageReference Include="Npgsql.EntityFrameworkCore.PostgreSQL" Version="9.0.0" />
23+
</ItemGroup>
24+
25+
<ItemGroup Condition="'$(TargetFramework)' == 'net8.0'">
26+
<PackageReference Include="Npgsql.EntityFrameworkCore.PostgreSQL" Version="9.0.0" />
27+
</ItemGroup>
28+
29+
<ItemGroup Condition="'$(TargetFramework)' == 'net7.0'">
30+
<PackageReference Include="Npgsql.EntityFrameworkCore.PostgreSQL" Version="7.0.11" />
31+
</ItemGroup>
32+
33+
<ItemGroup Condition="'$(TargetFramework)' == 'net6.0'">
34+
<PackageReference Include="Npgsql.EntityFrameworkCore.PostgreSQL" Version="6.0.22" />
35+
</ItemGroup>
36+
37+
<ItemGroup Condition="'$(TargetFramework)' == 'net5.0'">
38+
<PackageReference Include="Npgsql.EntityFrameworkCore.PostgreSQL" Version="5.0.10" />
39+
</ItemGroup>
40+
41+
<ItemGroup Condition="'$(TargetFramework)' == 'netcoreapp3.1'">
42+
<PackageReference Include="Npgsql.EntityFrameworkCore.PostgreSQL" Version="3.1.18" />
43+
</ItemGroup>
44+
45+
<ItemGroup>
46+
<ProjectReference Include="..\Casbin.Persist.Adapter.EFCore\Casbin.Persist.Adapter.EFCore.csproj" />
47+
</ItemGroup>
48+
49+
<ItemGroup>
50+
<!-- Share fixtures and utilities from UnitTest project -->
51+
<Compile Include="..\Casbin.Persist.Adapter.EFCore.UnitTest\Fixtures\ModelProvideFixture.cs" Link="Fixtures\ModelProvideFixture.cs" />
52+
<Compile Include="..\Casbin.Persist.Adapter.EFCore.UnitTest\Fixtures\PolicyTypeContextProvider.cs" Link="Fixtures\PolicyTypeContextProvider.cs" />
53+
<Compile Include="..\Casbin.Persist.Adapter.EFCore.UnitTest\TestUtil.cs" Link="TestUtil.cs" />
54+
</ItemGroup>
55+
56+
<ItemGroup>
57+
<!-- Share example files from UnitTest project -->
58+
<None Include="..\Casbin.Persist.Adapter.EFCore.UnitTest\examples\rbac_model.conf" Link="examples\rbac_model.conf">
59+
<CopyToOutputDirectory>Always</CopyToOutputDirectory>
60+
</None>
61+
<None Include="..\Casbin.Persist.Adapter.EFCore.UnitTest\examples\rbac_policy.csv" Link="examples\rbac_policy.csv">
62+
<CopyToOutputDirectory>Always</CopyToOutputDirectory>
63+
</None>
64+
<None Update="examples\multi_context_model.conf">
65+
<CopyToOutputDirectory>Always</CopyToOutputDirectory>
66+
</None>
67+
<None Update="xunit.runner.json">
68+
<CopyToOutputDirectory>PreserveNewest</CopyToOutputDirectory>
69+
</None>
70+
</ItemGroup>
71+
72+
</Project>

0 commit comments

Comments
 (0)