Skip to content

Commit 59f8604

Browse files
Added additional netcoreapp3.1 target framework for testing
1 parent 9831466 commit 59f8604

File tree

8 files changed

+71
-29
lines changed

8 files changed

+71
-29
lines changed

test/DotNetToolkit.Repository.Test/App.config

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -12,7 +12,7 @@
1212
<loggingProvider type="DotNetToolkit.Repository.Configuration.Logging.ConsoleLoggerProvider, DotNetToolkit.Repository">
1313
<param name="minLogLevel" value="Debug" />
1414
</loggingProvider>
15-
<cachingProvider type="DotNetToolkit.Repository.Caching.InMemory.InMemoryCacheProvider, DotNetToolkit.Repository.Caching.InMemory">
15+
<cachingProvider type="DotNetToolkit.Repository.Test.Data.TestCacheProvider, DotNetToolkit.Repository.Test">
1616
<expiry value="00:00:30" />
1717
</cachingProvider>
1818
<interceptors>
Lines changed: 14 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,14 @@
1+
namespace DotNetToolkit.Repository.Test.Data
2+
{
3+
using Configuration.Caching;
4+
using System;
5+
6+
public class TestCacheProvider : ICacheProvider
7+
{
8+
public ICacheKeyTransformer KeyTransformer { get; set; }
9+
10+
public TimeSpan? Expiry { get; set; }
11+
12+
public ICache Cache { get; set; }
13+
}
14+
}

test/DotNetToolkit.Repository.Test/Data/TestConfigurationHelper.cs

Lines changed: 3 additions & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -1,4 +1,5 @@
1-
namespace DotNetToolkit.Repository.Integration.Test.Data
1+
#if NETSTANDARD2_0
2+
namespace DotNetToolkit.Repository.Test.Data
23
{
34
using Microsoft.Extensions.Configuration;
45
using System;
@@ -14,3 +15,4 @@ public static IConfigurationRoot GetConfiguration(string fileName = "appsettings
1415
}
1516
}
1617
}
18+
#endif

test/DotNetToolkit.Repository.Test/DotNetToolkit.Repository.Test.csproj

Lines changed: 22 additions & 10 deletions
Original file line numberDiff line numberDiff line change
@@ -3,7 +3,7 @@
33
<Import Project="..\..\build\common.props" />
44

55
<PropertyGroup>
6-
<TargetFramework>net461</TargetFramework>
6+
<TargetFrameworks>net461;netcoreapp3.1</TargetFrameworks>
77

88
<IsPackable>false</IsPackable>
99
</PropertyGroup>
@@ -15,24 +15,36 @@
1515
<PropertyGroup Condition="'$(Configuration)|$(Platform)'=='Debug|AnyCPU'">
1616
<NoWarn>1701;1702;1705;1591</NoWarn>
1717
</PropertyGroup>
18-
18+
19+
<PropertyGroup Condition="'$(TargetFramework)' == 'netcoreapp3.1'">
20+
<DefineConstants>NETCORE;NETSTANDARD;NETSTANDARD2_0</DefineConstants>
21+
</PropertyGroup>
22+
23+
<PropertyGroup Condition="'$(TargetFramework)' == 'net461'">
24+
<DefineConstants>NETFULL</DefineConstants>
25+
</PropertyGroup>
26+
1927
<ItemGroup>
20-
<PackageReference Include="Microsoft.Extensions.Configuration.Json" Version="3.1.2" />
2128
<PackageReference Include="Microsoft.NET.Test.Sdk" Version="16.5.0" />
2229
<PackageReference Include="xunit" Version="2.4.1" />
2330
<PackageReference Include="xunit.runner.visualstudio" Version="2.4.1" />
2431
<DotNetCliToolReference Include="dotnet-xunit" Version="2.3.1" />
2532
</ItemGroup>
2633

27-
<ItemGroup>
28-
<ProjectReference Include="..\..\src\DotNetToolkit.Repository.Caching.InMemory\DotNetToolkit.Repository.Caching.InMemory.csproj" />
29-
<ProjectReference Include="..\..\src\DotNetToolkit.Repository.InMemory\DotNetToolkit.Repository.InMemory.csproj" />
30-
<ProjectReference Include="..\..\src\DotNetToolkit.Repository\DotNetToolkit.Repository.csproj" />
34+
<ItemGroup Condition="'$(TargetFramework)' == 'net461'">
35+
<Reference Include="System.Configuration" />
36+
<Reference Include="System.ComponentModel.DataAnnotations" />
37+
</ItemGroup>
38+
39+
<ItemGroup Condition="'$(TargetFramework)' == 'netcoreapp3.1'">
40+
<PackageReference Include="Microsoft.Extensions.Configuration.Json" Version="3.1.2" />
41+
<PackageReference Include="System.Configuration.ConfigurationManager" Version="4.7.0" />
42+
<PackageReference Include="System.ComponentModel.Annotations" Version="4.7.0" />
3143
</ItemGroup>
3244

3345
<ItemGroup>
34-
<Reference Include="System.Configuration" />
35-
<Reference Include="System.ComponentModel.DataAnnotations" />
46+
<ProjectReference Include="..\..\src\DotNetToolkit.Repository.InMemory\DotNetToolkit.Repository.InMemory.csproj" />
47+
<ProjectReference Include="..\..\src\DotNetToolkit.Repository\DotNetToolkit.Repository.csproj" />
3648
</ItemGroup>
3749

3850
<ItemGroup>
@@ -50,4 +62,4 @@
5062
</None>
5163
</ItemGroup>
5264

53-
</Project>
65+
</Project>

test/DotNetToolkit.Repository.Test/Tests/OptionsBuilderTests.cs

Lines changed: 15 additions & 14 deletions
Original file line numberDiff line numberDiff line change
@@ -1,6 +1,5 @@
11
namespace DotNetToolkit.Repository.Test
22
{
3-
using Caching.InMemory;
43
using Configuration.Logging;
54
using Configuration.Options;
65
using Data;
@@ -119,15 +118,16 @@ public void ConfigureCachingProvider()
119118

120119
Assert.False(optionsBuilder.IsConfigured);
121120

122-
optionsBuilder.UseCachingProvider(new InMemoryCacheProvider());
121+
optionsBuilder.UseCachingProvider(new TestCacheProvider());
123122

124123
Assert.True(optionsBuilder.IsConfigured);
125124

126125
Assert.NotNull(optionsBuilder.Options.CachingProvider);
127126
}
128127

128+
#if NETFULL
129129
[Fact]
130-
public void ConfigureFromAppConfig()
130+
public void ConfigureFromXml()
131131
{
132132
var optionsBuilder = new RepositoryOptionsBuilder();
133133

@@ -141,7 +141,7 @@ public void ConfigureFromAppConfig()
141141
}
142142

143143
[Fact]
144-
public void ConfigureFromRepositoryConfig()
144+
public void ConfigureFromFile()
145145
{
146146
var optionsBuilder = new RepositoryOptionsBuilder();
147147

@@ -153,10 +153,9 @@ public void ConfigureFromRepositoryConfig()
153153

154154
TestConfiguration(optionsBuilder);
155155
}
156-
157-
#if NETSTANDARD
156+
#else
158157
[Fact]
159-
public void ConfigureFromAppSetting()
158+
public void ConfigureFromJson()
160159
{
161160
var optionsBuilder = new RepositoryOptionsBuilder();
162161

@@ -167,10 +166,10 @@ public void ConfigureFromAppSetting()
167166
Assert.True(optionsBuilder.IsConfigured);
168167

169168
TestConfiguration(optionsBuilder);
170-
}
169+
}
171170
#endif
172171

173-
172+
#if NETFULL
174173
[Fact]
175174
public void ThrowsIfConfigureFromRepositoryConfigNotFound()
176175
{
@@ -181,17 +180,19 @@ public void ThrowsIfConfigureFromRepositoryConfigNotFound()
181180
Assert.Equal("The file is not found.", ex.Message);
182181
Assert.Equal("random.config", ex.FileName);
183182
}
183+
#endif
184184

185185
[Fact]
186186
public void ThrowsIfConfigurationSectionNotFound()
187187
{
188-
var ex = Assert.Throws<InvalidOperationException>(
188+
Exception ex;
189+
#if NETFULL
190+
ex = Assert.Throws<InvalidOperationException>(
189191
() => new RepositoryOptionsBuilder()
190192
.UseConfiguration("empty_repository.config"));
191193

192194
Assert.Equal("Unable to find a 'repository' configuration section. For more information on DotNetToolkit.Repository configuration, visit the https://github.com/johelvisguzman/DotNetToolkit.Repository/wiki/Config-File-Setup.", ex.Message);
193-
194-
#if NETSTANDARD
195+
#else
195196
ex = Assert.Throws<InvalidOperationException>(
196197
() => new RepositoryOptionsBuilder()
197198
.UseConfiguration(TestConfigurationHelper.GetConfiguration("empty_repository.json")));
@@ -215,7 +216,7 @@ private static void TestConfiguration(RepositoryOptionsBuilder optionsBuilder)
215216

216217
// logging provider
217218
Assert.NotNull(optionsBuilder.Options.LoggerProvider);
218-
219+
219220
// caching provider
220221
Assert.NotNull(optionsBuilder.Options.CachingProvider);
221222
Assert.Equal(optionsBuilder.Options.CachingProvider.Expiry, TimeSpan.FromSeconds(30));
@@ -230,4 +231,4 @@ private static void TestConfiguration(RepositoryOptionsBuilder optionsBuilder)
230231
Assert.True(interceptor.P2);
231232
}
232233
}
233-
}
234+
}

test/DotNetToolkit.Repository.Test/Tests/QueryOptionsTests.cs

Lines changed: 14 additions & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -33,14 +33,27 @@ public void Page()
3333
Assert.Equal(pageIndex, ((IQueryOptions<Customer>)options).PageIndex);
3434
Assert.Equal(pageSize, ((IQueryOptions<Customer>)options).PageSize);
3535

36-
var ex = Assert.Throws<ArgumentOutOfRangeException>(() => options.Page(0, 1));
36+
Exception ex;
37+
38+
#if NETFULL
39+
ex = Assert.Throws<ArgumentOutOfRangeException>(() => options.Page(0, 1));
3740
Assert.Equal("Cannot be lower than 1.\r\nParameter name: pageIndex", ex.Message);
3841

3942
ex = Assert.Throws<ArgumentOutOfRangeException>(() => options.Page(1, 0));
4043
Assert.Equal("Cannot be lower than zero.\r\nParameter name: pageSize", ex.Message);
4144

4245
ex = Assert.Throws<ArgumentOutOfRangeException>(() => options.Page(0));
4346
Assert.Equal("Cannot be lower than 1.\r\nParameter name: pageIndex", ex.Message);
47+
#else
48+
ex = Assert.Throws<ArgumentOutOfRangeException>(() => options.Page(0, 1));
49+
Assert.Equal("Cannot be lower than 1. (Parameter 'pageIndex')", ex.Message);
50+
51+
ex = Assert.Throws<ArgumentOutOfRangeException>(() => options.Page(1, 0));
52+
Assert.Equal("Cannot be lower than zero. (Parameter 'pageSize')", ex.Message);
53+
54+
ex = Assert.Throws<ArgumentOutOfRangeException>(() => options.Page(0));
55+
Assert.Equal("Cannot be lower than 1. (Parameter 'pageIndex')", ex.Message);
56+
#endif
4457

4558
options = new QueryOptions<Customer>().Page(pageIndex);
4659

test/DotNetToolkit.Repository.Test/appsettings.json

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -14,7 +14,7 @@
1414
}
1515
},
1616
"cachingProvider": {
17-
"type": "DotNetToolkit.Repository.Caching.InMemory.InMemoryCacheProvider, DotNetToolkit.Repository.Caching.InMemory",
17+
"type": "DotNetToolkit.Repository.Test.Data.TestCacheProvider, DotNetToolkit.Repository.Test",
1818
"parameters": {
1919
"expiry": "00:00:30"
2020
}

test/DotNetToolkit.Repository.Test/repository.config

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -12,7 +12,7 @@
1212
<loggingProvider type="DotNetToolkit.Repository.Configuration.Logging.ConsoleLoggerProvider, DotNetToolkit.Repository">
1313
<param name="minLogLevel" value="Debug" />
1414
</loggingProvider>
15-
<cachingProvider type="DotNetToolkit.Repository.Caching.InMemory.InMemoryCacheProvider, DotNetToolkit.Repository.Caching.InMemory">
15+
<cachingProvider type="DotNetToolkit.Repository.Test.Data.TestCacheProvider, DotNetToolkit.Repository.Test">
1616
<expiry value="00:00:30" />
1717
</cachingProvider>
1818
<interceptors>

0 commit comments

Comments
 (0)