Skip to content

Commit 7e693ac

Browse files
authored
Updated .net version to 10.0
1 parent 0763467 commit 7e693ac

27 files changed

Lines changed: 362 additions & 349 deletions

.circleci/config.yml

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -11,7 +11,7 @@ jobs:
1111
# See: https://circleci.com/docs/configuration-reference/#docker-machine-macos-windows-executor
1212
# Be sure to update the tag on this image to a more stable version, using latest can result in unstable builds.
1313
docker:
14-
- image: mcr.microsoft.com/dotnet/sdk:9.0
14+
- image: mcr.microsoft.com/dotnet/sdk:10.0
1515
# Add steps to the job
1616
# See: https://circleci.com/docs/configuration-reference/#steps
1717
steps:

.devcontainer/devcontainer.json

Lines changed: 4 additions & 4 deletions
Original file line numberDiff line numberDiff line change
@@ -1,11 +1,11 @@
11
{
22
"name": "C# (.NET)",
3-
"image": "mcr.microsoft.com/devcontainers/universal:2",
3+
"image": "mcr.microsoft.com/devcontainers/base:bookworm",
44
"features": {
55
"ghcr.io/devcontainers/features/dotnet:2": {
6-
"workloads": "aspire, wasm-tools"
6+
"workloads": "wasm-tools"
77
},
8-
"ghcr.io/dapr/cli/dapr-cli:0": {}
8+
"ghcr.io/devcontainers/features/docker-in-docker:2": {},
99
},
1010
"customizations": {
1111
"vscode": {
@@ -21,4 +21,4 @@
2121
}
2222
},
2323
"remoteUser": "root"
24-
}
24+
}

.github/dependabot.yml

Lines changed: 2 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -17,9 +17,9 @@ updates:
1717
openTelemetry:
1818
patterns:
1919
- "OpenTelemetry*"
20-
configuration:
20+
extensions:
2121
patterns:
22-
- "Microsoft.Extensions.Configuration*"
22+
- "Microsoft.Extensions*"
2323
- package-ecosystem: "github-actions"
2424
directory: "/"
2525
schedule:

Directory.Build.props

Lines changed: 9 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,9 @@
1+
<Project>
2+
<PropertyGroup>
3+
<TargetFramework>net10.0</TargetFramework>
4+
<ImplicitUsings>enable</ImplicitUsings>
5+
<Nullable>enable</Nullable>
6+
<GenerateEmbeddedFilesManifest>true</GenerateEmbeddedFilesManifest>
7+
<ManagePackageVersionsCentrally>true</ManagePackageVersionsCentrally>
8+
</PropertyGroup>
9+
</Project>

Directory.Packages.props

Lines changed: 56 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,56 @@
1+
<Project>
2+
<ItemGroup>
3+
<!-- EF Core -->
4+
<PackageVersion Include="Pomelo.EntityFrameworkCore.MySql" Version="9.0.0" />
5+
<PackageVersion Include="Microsoft.EntityFrameworkCore.Design" Version="9.0.0" />
6+
<PackageVersion Include="Microsoft.EntityFrameworkCore.Tools" Version="9.0.0" />
7+
<PackageVersion Include="Microsoft.EntityFrameworkCore.InMemory" Version="9.0.0" />
8+
9+
<!-- Extensions -->
10+
<PackageVersion Include="Microsoft.Extensions.Configuration" Version="10.0.0" />
11+
<PackageVersion Include="Microsoft.Extensions.DependencyInjection" Version="10.0.0" />
12+
<PackageVersion Include="Microsoft.Extensions.FileProviders.Embedded" Version="10.0.0" />
13+
<PackageVersion Include="Microsoft.Extensions.Http.Polly" Version="10.0.0" />
14+
<PackageVersion Include="Microsoft.Extensions.Http.Resilience" Version="10.0.0" />
15+
<PackageVersion Include="Microsoft.Extensions.Options.ConfigurationExtensions" Version="10.0.0" />
16+
<PackageVersion Include="Microsoft.Extensions.ServiceDiscovery" Version="10.0.0" />
17+
<PackageVersion Include="Microsoft.Extensions.Hosting" Version="10.0.0" />
18+
19+
<!-- OpenApi -->
20+
<PackageVersion Include="Microsoft.AspNetCore.OpenApi" Version="10.0.0" />
21+
<PackageVersion Include="Swashbuckle.AspNetCore" Version="10.0.0" />
22+
<PackageVersion Include="Microsoft.Extensions.ApiDescription.Server" Version="10.0.0" />
23+
24+
<!-- OpenTelemetry-->
25+
<PackageVersion Include="OpenTelemetry" Version="1.13.1" />
26+
<PackageVersion Include="OpenTelemetry.Extensions" Version="1.13.0-beta.1" />
27+
<PackageVersion Include="OpenTelemetry.Extensions.Hosting" Version="1.13.1" />
28+
<PackageVersion Include="OpenTelemetry.Exporter.OpenTelemetryProtocol" Version="1.13.1" />
29+
<PackageVersion Include="OpenTelemetry.Instrumentation.AspNetCore" Version="1.13.0" />
30+
<PackageVersion Include="OpenTelemetry.Instrumentation.Http" Version="1.13.0" />
31+
<PackageVersion Include="OpenTelemetry.Instrumentation.Runtime" Version="1.13.0" />
32+
<PackageVersion Include="OpenTelemetry.Instrumentation.EntityFrameworkCore" Version="1.13.0-beta.2" />
33+
<PackageVersion Include="OpenTelemetry.Exporter.Console" Version="1.14.0-rc.1" />
34+
35+
<!-- AWS -->
36+
<PackageVersion Include="AWSSDK.ConfigService" Version="4.0.4.3" />
37+
<PackageVersion Include="AWSSDK.Extensions.NETCore.Setup" Version="4.0.3.11" />
38+
<PackageVersion Include="AWSSDK.IdentityManagement" Version="4.0.6" />
39+
40+
<!-- Test -->
41+
<PackageVersion Include="Microsoft.NET.Test.Sdk" Version="17.13.0" />
42+
<PackageVersion Include="Moq" Version="4.20.72" />
43+
<PackageVersion Include="xunit" Version="2.9.3" />
44+
<PackageVersion Include="xunit.runner.visualstudio" Version="3.1.0" />
45+
<PackageVersion Include="coverlet.collector" Version="6.0.4" />
46+
47+
48+
<PackageVersion Include="Polly" Version="8.6.4" />
49+
<PackageVersion Include="Polly.Core" Version="8.6.4" />
50+
<PackageVersion Include="Serilog.AspNetCore" Version="9.0.0" />
51+
<PackageVersion Include="AutoMapper" Version="15.1.0" />
52+
<PackageVersion Include="FluentValidation" Version="12.1.0" />
53+
<PackageVersion Include="MediatR" Version="13.1.0" />
54+
<PackageVersion Include="System.Data.SqlClient" Version="4.9.0" />
55+
</ItemGroup>
56+
</Project>

global.json

Lines changed: 6 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,6 @@
1+
{
2+
"sdk": {
3+
"rollForward": "latestFeature",
4+
"version": "10.0.0"
5+
}
6+
}
Lines changed: 20 additions & 17 deletions
Original file line numberDiff line numberDiff line change
@@ -1,17 +1,20 @@
1-
namespace Example.Application.UnitTest;
2-
public class AutoMapperHelper
3-
{
4-
public static readonly IMapper mapper = GetMapper();
5-
6-
private static IMapper GetMapper()
7-
{
8-
var mappingConfig = new MapperConfiguration(mc =>
9-
{
10-
mc.AddProfile(new DomainToViewModelMappingProfile());
11-
mc.AddProfile(new ViewModelToDomainMappingProfile());
12-
mc.AddProfile(new ViewModelToCommandMappingProfile());
13-
});
14-
15-
return mappingConfig.CreateMapper();
16-
}
17-
}
1+
using Microsoft.Extensions.Logging.Abstractions;
2+
3+
namespace Example.Application.UnitTest;
4+
5+
public class AutoMapperHelper
6+
{
7+
public static readonly IMapper mapper = GetMapper();
8+
9+
private static IMapper GetMapper()
10+
{
11+
var mappingConfig = new MapperConfiguration(mc =>
12+
{
13+
mc.AddProfile(new DomainToViewModelMappingProfile());
14+
mc.AddProfile(new ViewModelToDomainMappingProfile());
15+
mc.AddProfile(new ViewModelToCommandMappingProfile());
16+
}, new NullLoggerFactory());
17+
18+
return mappingConfig.CreateMapper();
19+
}
20+
}

src/Example.Application.UnitTest/Dockerfile

Lines changed: 3 additions & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -1,5 +1,5 @@
11
#See https://aka.ms/containerfastmode to understand how Visual Studio uses this Dockerfile to build your images for faster debugging.
2-
ARG NET_IMAGE=9.0
2+
ARG NET_IMAGE=10.0
33
FROM mcr.microsoft.com/dotnet/runtime:${NET_IMAGE} AS base
44
WORKDIR /app
55

@@ -9,6 +9,8 @@ COPY ["src/Example.Application.UnitTest/Example.Application.UnitTest.csproj", "s
99
COPY ["src/Example.Application/Example.Application.csproj", "src/Example.Application/"]
1010
COPY ["src/Example.Domain/Example.Domain.csproj", "src/Example.Domain/"]
1111
COPY ["src/Example.Domain.Core/Example.Domain.Core.csproj", "src/Example.Domain.Core/"]
12+
COPY ["Directory.Build.props", "./"]
13+
COPY ["Directory.Packages.props", "./"]
1214
RUN dotnet restore "src/Example.Application.UnitTest/Example.Application.UnitTest.csproj"
1315
COPY . .
1416
WORKDIR "/src/src/Example.Application.UnitTest"

src/Example.Application.UnitTest/Example.Application.UnitTest.csproj

Lines changed: 5 additions & 12 deletions
Original file line numberDiff line numberDiff line change
@@ -1,27 +1,20 @@
11
<Project Sdk="Microsoft.NET.Sdk">
22

33
<PropertyGroup>
4-
<TargetFramework>net9.0</TargetFramework>
5-
<ImplicitUsings>enable</ImplicitUsings>
6-
<Nullable>enable</Nullable>
7-
84
<IsPackable>false</IsPackable>
9-
105
<DockerDefaultTargetOS>Linux</DockerDefaultTargetOS>
11-
126
<DockerfileContext>..\..</DockerfileContext>
137
</PropertyGroup>
148

159
<ItemGroup>
16-
<PackageReference Include="Microsoft.NET.Test.Sdk" Version="17.13.0" />
17-
<PackageReference Include="Microsoft.VisualStudio.Azure.Containers.Tools.Targets" Version="1.21.0" />
18-
<PackageReference Include="Moq" Version="4.20.72" />
19-
<PackageReference Include="xunit" Version="2.9.3" />
20-
<PackageReference Include="xunit.runner.visualstudio" Version="3.1.0">
10+
<PackageReference Include="Microsoft.NET.Test.Sdk" />
11+
<PackageReference Include="Moq" />
12+
<PackageReference Include="xunit" />
13+
<PackageReference Include="xunit.runner.visualstudio" >
2114
<IncludeAssets>runtime; build; native; contentfiles; analyzers; buildtransitive</IncludeAssets>
2215
<PrivateAssets>all</PrivateAssets>
2316
</PackageReference>
24-
<PackageReference Include="coverlet.collector" Version="6.0.4">
17+
<PackageReference Include="coverlet.collector" >
2518
<IncludeAssets>runtime; build; native; contentfiles; analyzers; buildtransitive</IncludeAssets>
2619
<PrivateAssets>all</PrivateAssets>
2720
</PackageReference>
Lines changed: 77 additions & 77 deletions
Original file line numberDiff line numberDiff line change
@@ -1,77 +1,77 @@
1-
namespace Example.Application.UnitTest;
2-
public class GetCustomerUnitTest
3-
{
4-
private static Customer customer = new Customer(Guid.NewGuid(), "thisisname", "q@c.com", DateTime.Now);
5-
6-
public GetCustomerUnitTest()
7-
{
8-
9-
}
10-
11-
[Fact]
12-
public async Task GetAllCustomerSuccessTest()
13-
{
14-
// Arrange
15-
var _mediatorHandler = new Mock<IMediatorHandler>();
16-
var _customerRepository = new Mock<ICustomerRepository>();
17-
var customers = new List<Customer> { customer }.AsQueryable();
18-
_customerRepository.Setup(p => p.GetAll()).ReturnsAsync(customers);
19-
20-
// Act
21-
ICustomerAppService service = new CustomerAppService(_customerRepository.Object, AutoMapperHelper.mapper, _mediatorHandler.Object);
22-
var users = await service.GetAll();
23-
24-
// Assert
25-
Assert.True(users != null);
26-
Assert.True(users.Count() == 1);
27-
}
28-
29-
[Fact]
30-
public async Task GetAllCustomerWithNodataSuccessTest()
31-
{
32-
// Arrange
33-
var _mediatorHandler = new Mock<IMediatorHandler>();
34-
var _customerRepository = new Mock<ICustomerRepository>();
35-
var customers = new List<Customer> { customer }.AsQueryable();
36-
37-
// Act
38-
ICustomerAppService service = new CustomerAppService(_customerRepository.Object, AutoMapperHelper.mapper, _mediatorHandler.Object);
39-
var users = await service.GetAll();
40-
41-
// Assert
42-
Assert.True(users != null);
43-
Assert.True(users.Count() == 0);
44-
}
45-
46-
[Fact]
47-
public async Task GetCustomerByidSuccessTest()
48-
{
49-
// Arrange
50-
var _mediatorHandler = new Mock<IMediatorHandler>();
51-
var _customerRepository = new Mock<ICustomerRepository>();
52-
_customerRepository.Setup(c => c.GetById(customer.Id)).ReturnsAsync(customer);
53-
54-
// Act
55-
ICustomerAppService service = new CustomerAppService(_customerRepository.Object, AutoMapperHelper.mapper, _mediatorHandler.Object);
56-
var users = await service.GetById(customer.Id);
57-
58-
// Assert
59-
Assert.Equal(users.Id, customer.Id);
60-
}
61-
62-
[Fact]
63-
public async Task GetCustomerByidWithNodataSuccessTest()
64-
{
65-
// Arrange
66-
var _mediatorHandler = new Mock<IMediatorHandler>();
67-
var _customerRepository = new Mock<ICustomerRepository>();
68-
_customerRepository.Setup(c => c.GetById(Guid.Empty));
69-
70-
// Act
71-
ICustomerAppService service = new CustomerAppService(_customerRepository.Object, AutoMapperHelper.mapper, _mediatorHandler.Object);
72-
var user = await service.GetById(customer.Id);
73-
74-
// Assert
75-
Assert.True(user == null);
76-
}
77-
}
1+
namespace Example.Application.UnitTest;
2+
public class GetCustomerUnitTest
3+
{
4+
private static Customer customer = new Customer(Guid.NewGuid(), "thisisname", "q@c.com", DateTime.Now);
5+
6+
public GetCustomerUnitTest()
7+
{
8+
9+
}
10+
11+
[Fact]
12+
public async Task GetAllCustomerSuccessTest()
13+
{
14+
// Arrange
15+
var _mediatorHandler = new Mock<IMediatorHandler>();
16+
var _customerRepository = new Mock<ICustomerRepository>();
17+
var customers = new List<Customer> { customer }.AsQueryable();
18+
_customerRepository.Setup(p => p.GetAll()).ReturnsAsync(customers);
19+
20+
// Act
21+
ICustomerAppService service = new CustomerAppService(_customerRepository.Object, AutoMapperHelper.mapper, _mediatorHandler.Object);
22+
var users = await service.GetAll();
23+
24+
// Assert
25+
Assert.True(users != null);
26+
Assert.True(users.Count() == 1);
27+
}
28+
29+
[Fact]
30+
public async Task GetAllCustomerWithNodataSuccessTest()
31+
{
32+
// Arrange
33+
var _mediatorHandler = new Mock<IMediatorHandler>();
34+
var _customerRepository = new Mock<ICustomerRepository>();
35+
var customers = new List<Customer> { customer }.AsQueryable();
36+
37+
// Act
38+
ICustomerAppService service = new CustomerAppService(_customerRepository.Object, AutoMapperHelper.mapper, _mediatorHandler.Object);
39+
var users = await service.GetAll();
40+
41+
// Assert
42+
Assert.True(users != null);
43+
Assert.True(users.Count() == 0);
44+
}
45+
46+
[Fact]
47+
public async Task GetCustomerByidSuccessTest()
48+
{
49+
// Arrange
50+
var _mediatorHandler = new Mock<IMediatorHandler>();
51+
var _customerRepository = new Mock<ICustomerRepository>();
52+
_customerRepository.Setup(c => c.GetById(customer.Id)).ReturnsAsync(customer);
53+
54+
// Act
55+
ICustomerAppService service = new CustomerAppService(_customerRepository.Object, AutoMapperHelper.mapper, _mediatorHandler.Object);
56+
var users = await service.GetById(customer.Id);
57+
58+
// Assert
59+
Assert.Equal(users.Id, customer.Id);
60+
}
61+
62+
[Fact]
63+
public async Task GetCustomerByidWithNodataSuccessTest()
64+
{
65+
// Arrange
66+
var _mediatorHandler = new Mock<IMediatorHandler>();
67+
var _customerRepository = new Mock<ICustomerRepository>();
68+
_customerRepository.Setup(c => c.GetById(Guid.Empty));
69+
70+
// Act
71+
ICustomerAppService service = new CustomerAppService(_customerRepository.Object, AutoMapperHelper.mapper, _mediatorHandler.Object);
72+
var user = await service.GetById(customer.Id);
73+
74+
// Assert
75+
Assert.True(user == null);
76+
}
77+
}

0 commit comments

Comments
 (0)