generator-codedesignplus 0.3.2-alpha.1 → 0.4.0-beta.2

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
Files changed (42) hide show
  1. package/generators/microservice/templates/microservice/CodeDesignPlus.Net.Microservice.sln +10 -0
  2. package/generators/microservice/templates/microservice/LICENSE.md +1 -1
  3. package/generators/microservice/templates/microservice/charts/ms-archetype-grpc/.helmignore +23 -0
  4. package/generators/microservice/templates/microservice/charts/ms-archetype-grpc/Chart.yaml +10 -0
  5. package/generators/microservice/templates/microservice/charts/ms-archetype-grpc/values.yaml +94 -0
  6. package/generators/microservice/templates/microservice/charts/ms-archetype-rest/.helmignore +23 -0
  7. package/generators/microservice/templates/microservice/charts/ms-archetype-rest/Chart.yaml +10 -0
  8. package/generators/microservice/templates/microservice/charts/ms-archetype-rest/values.yaml +110 -0
  9. package/generators/microservice/templates/microservice/charts/ms-archetype-worker/.helmignore +23 -0
  10. package/generators/microservice/templates/microservice/charts/ms-archetype-worker/Chart.yaml +10 -0
  11. package/generators/microservice/templates/microservice/charts/ms-archetype-worker/values.yaml +94 -0
  12. package/generators/microservice/templates/microservice/src/domain/CodeDesignPlus.Net.Microservice.Application/CodeDesignPlus.Net.Microservice.Application.csproj +4 -4
  13. package/generators/microservice/templates/microservice/src/domain/CodeDesignPlus.Net.Microservice.Application/Order/Queries/GetAllOrders/GetAllOrdersQuery.cs +4 -2
  14. package/generators/microservice/templates/microservice/src/domain/CodeDesignPlus.Net.Microservice.Application/Order/Queries/GetAllOrders/GetAllOrdersQueryHandler.cs +6 -4
  15. package/generators/microservice/templates/microservice/src/domain/CodeDesignPlus.Net.Microservice.Domain/CodeDesignPlus.Net.Microservice.Domain.csproj +2 -2
  16. package/generators/microservice/templates/microservice/src/entrypoints/CodeDesignPlus.Net.Microservice.AsyncWorker/CodeDesignPlus.Net.Microservice.AsyncWorker.csproj +8 -8
  17. package/generators/microservice/templates/microservice/src/entrypoints/CodeDesignPlus.Net.Microservice.AsyncWorker/appsettings.qa.json +16 -0
  18. package/generators/microservice/templates/microservice/src/entrypoints/CodeDesignPlus.Net.Microservice.Rest/CodeDesignPlus.Net.Microservice.Rest.csproj +15 -11
  19. package/generators/microservice/templates/microservice/src/entrypoints/CodeDesignPlus.Net.Microservice.Rest/Program.cs +16 -8
  20. package/generators/microservice/templates/microservice/src/entrypoints/CodeDesignPlus.Net.Microservice.Rest/appsettings.json +12 -3
  21. package/generators/microservice/templates/microservice/src/entrypoints/CodeDesignPlus.Net.Microservice.Rest/appsettings.qa.json +16 -0
  22. package/generators/microservice/templates/microservice/src/entrypoints/CodeDesignPlus.Net.Microservice.gRpc/CodeDesignPlus.Net.Microservice.gRpc.csproj +12 -12
  23. package/generators/microservice/templates/microservice/src/entrypoints/CodeDesignPlus.Net.Microservice.gRpc/appsettings.qa.json +16 -0
  24. package/generators/microservice/templates/microservice/tests/integration/CodeDesignPlus.Net.Microservice.AsyncWorker.Test/CodeDesignPlus.Net.Microservice.AsyncWorker.Test.csproj +5 -4
  25. package/generators/microservice/templates/microservice/tests/integration/CodeDesignPlus.Net.Microservice.AsyncWorker.Test/Helpers/ServerCollectionDefinition.cs +10 -0
  26. package/generators/microservice/templates/microservice/tests/integration/CodeDesignPlus.Net.Microservice.Rest.Test/CodeDesignPlus.Net.Microservice.Rest.Test.csproj +4 -4
  27. package/generators/microservice/templates/microservice/tests/integration/CodeDesignPlus.Net.Microservice.Rest.Test/Controllers/OrderControllerTest.cs +14 -8
  28. package/generators/microservice/templates/microservice/tests/integration/CodeDesignPlus.Net.Microservice.Rest.Test/Helpers/ServerCollectionDefinition.cs +10 -0
  29. package/generators/microservice/templates/microservice/tests/integration/CodeDesignPlus.Net.Microservice.gRpc.Test/CodeDesignPlus.Net.Microservice.gRpc.Test.csproj +11 -8
  30. package/generators/microservice/templates/microservice/tests/integration/CodeDesignPlus.Net.Microservice.gRpc.Test/Helpers/ServerCollectionDefinition.cs +10 -0
  31. package/generators/microservice/templates/microservice/tests/integration/CodeDesignPlus.Net.Microservice.gRpc.Test/Services/OrderServiceTest.cs +6 -3
  32. package/generators/microservice/templates/microservice/tests/unit/CodeDesignPlus.Net.Microservice.Application.Test/CodeDesignPlus.Net.Microservice.Application.Test.csproj +2 -2
  33. package/generators/microservice/templates/microservice/tests/unit/CodeDesignPlus.Net.Microservice.Application.Test/Order/Queries/GetAllOrders/GetAllOrdersQueryHandlerTest.cs +6 -5
  34. package/generators/microservice/templates/microservice/tests/unit/CodeDesignPlus.Net.Microservice.AsyncWorker.Test/CodeDesignPlus.Net.Microservice.AsyncWorker.Test.csproj +3 -3
  35. package/generators/microservice/templates/microservice/tests/unit/CodeDesignPlus.Net.Microservice.Default.Test/CodeDesignPlus.Net.Microservice.Default.Test.csproj +4 -4
  36. package/generators/microservice/templates/microservice/tests/unit/CodeDesignPlus.Net.Microservice.Domain.Test/CodeDesignPlus.Net.Microservice.Domain.Test.csproj +2 -2
  37. package/generators/microservice/templates/microservice/tests/unit/CodeDesignPlus.Net.Microservice.Infrastructure.Test/CodeDesignPlus.Net.Microservice.Infrastructure.Test.csproj +2 -2
  38. package/generators/microservice/templates/microservice/tests/unit/CodeDesignPlus.Net.Microservice.Rest.Test/CodeDesignPlus.Net.Microservice.Rest.Test.csproj +3 -3
  39. package/generators/microservice/templates/microservice/tests/unit/CodeDesignPlus.Net.Microservice.Rest.Test/Controllers/OrderControllerTest.cs +2 -1
  40. package/generators/microservice/templates/microservice/tests/unit/CodeDesignPlus.Net.Microservice.gRpc.Test/CodeDesignPlus.Net.Microservice.gRpc.Test.csproj +3 -3
  41. package/generators/microservice/templates/microservice/tools/sonarqube/sonar.ps1 +1 -1
  42. package/package.json +1 -1
@@ -52,6 +52,15 @@ Project("{9A19103F-16F7-4668-BE54-9A1E7A4F7556}") = "CodeDesignPlus.Net.Microser
52
52
  EndProject
53
53
  Project("{9A19103F-16F7-4668-BE54-9A1E7A4F7556}") = "CodeDesignPlus.Net.Microservice.Rest.Test", "tests\unit\CodeDesignPlus.Net.Microservice.Rest.Test\CodeDesignPlus.Net.Microservice.Rest.Test.csproj", "{86BB4D11-6C2F-44CA-B7DF-527FDFE79959}"
54
54
  EndProject
55
+ Project("{2150E333-8FDC-42A3-9474-1A3956D46DE8}") = ".github", ".github", "{9C6578E7-E4FE-79BB-1635-F363CC1E80DD}"
56
+ EndProject
57
+ Project("{2150E333-8FDC-42A3-9474-1A3956D46DE8}") = "workflows", "workflows", "{E7A3C856-6834-D657-F2F0-05592DF2DDE9}"
58
+ ProjectSection(SolutionItems) = preProject
59
+ .github\workflows\ci.yml = .github\workflows\ci.yml
60
+ .github\workflows\chart.yaml = .github\workflows\chart.yaml
61
+ .github\workflows\build.yml = .github\workflows\build.yml
62
+ EndProjectSection
63
+ EndProject
55
64
  Global
56
65
  GlobalSection(SolutionConfigurationPlatforms) = preSolution
57
66
  Debug|Any CPU = Debug|Any CPU
@@ -148,6 +157,7 @@ Global
148
157
  {223DF4AA-8E95-4624-B439-EA232409E903} = {5769C6DB-68E8-4A8C-B43A-243401CDB4A2}
149
158
  {B190F800-89F0-43CD-B9BD-3EDD0C2E4B37} = {5769C6DB-68E8-4A8C-B43A-243401CDB4A2}
150
159
  {86BB4D11-6C2F-44CA-B7DF-527FDFE79959} = {5769C6DB-68E8-4A8C-B43A-243401CDB4A2}
160
+ {E7A3C856-6834-D657-F2F0-05592DF2DDE9} = {9C6578E7-E4FE-79BB-1635-F363CC1E80DD}
151
161
  EndGlobalSection
152
162
  GlobalSection(ExtensibilityGlobals) = postSolution
153
163
  SolutionGuid = {91BAB16E-7151-425E-919F-2725C0813642}
@@ -18,4 +18,4 @@ along with this program. If not, see <https://www.gnu.org/licenses/>.
18
18
 
19
19
  As an additional permission under GNU LGPL version 3 section 7, you may distribute
20
20
  non-source (e.g., minimized or compacted) forms of that code without the copy of the GNU LGPL,
21
- but you must make the corresponding source code available under the GNU LGPL as provided above.
21
+ but you must make the corresponding source code available under the GNU LGPL as provided above.
@@ -0,0 +1,23 @@
1
+ # Patterns to ignore when building packages.
2
+ # This supports shell glob matching, relative path matching, and
3
+ # negation (prefixed with !). Only one pattern per line.
4
+ .DS_Store
5
+ # Common VCS dirs
6
+ .git/
7
+ .gitignore
8
+ .bzr/
9
+ .bzrignore
10
+ .hg/
11
+ .hgignore
12
+ .svn/
13
+ # Common backup files
14
+ *.swp
15
+ *.bak
16
+ *.tmp
17
+ *.orig
18
+ *~
19
+ # Various IDEs
20
+ .project
21
+ .idea/
22
+ *.tmproj
23
+ .vscode/
@@ -0,0 +1,10 @@
1
+ apiVersion: v2
2
+ name: ms-archetype-grpc
3
+ description: This is a Helm chart for the ms-archetype-gRPC service
4
+ type: application
5
+ version: 0.0.1
6
+ appVersion: "0.0.1"
7
+ dependencies:
8
+ - name: ms-base
9
+ version: 0.0.1
10
+ repository: "https://www.codedesignplus.com/helm-charts/"
@@ -0,0 +1,94 @@
1
+ ms-base:
2
+ replicaCount: 1
3
+
4
+ image:
5
+ repository: codedesignplus/ms-archetype-grpc
6
+ pullPolicy: IfNotPresent
7
+ tag: "v0.1.0-alpha.100"
8
+
9
+ imagePullSecrets: []
10
+ fullnameOverride: "ms-archetype-grpc"
11
+ nameOverride: "ms-archetype-grpc"
12
+
13
+ serviceAccount:
14
+ create: true
15
+ automount: true
16
+ annotations: {}
17
+ name: ""
18
+
19
+ podAnnotations: {}
20
+ podLabels: {}
21
+ podSecurityContext: {}
22
+ # fsGroup: 2000
23
+
24
+ securityContext: {}
25
+ # capabilities:
26
+ # drop:
27
+ # - ALL
28
+ # readOnlyRootFilesystem: true
29
+ # runAsNonRoot: true
30
+ # runAsUser: 1000
31
+
32
+ service:
33
+ type: ClusterIP
34
+ port: 5000
35
+
36
+ ingress:
37
+ enabled: false
38
+ className: ""
39
+ annotations: {}
40
+ # kubernetes.io/ingress.class: nginx
41
+ # kubernetes.io/tls-acme: "true"
42
+ hosts:
43
+ - host: services.codedesignplus.com
44
+ paths:
45
+ - path: /
46
+ pathType: ImplementationSpecific
47
+ tls: []
48
+ # - secretName: chart-example-tls
49
+ # hosts:
50
+ # - services.codedesignplus.com
51
+
52
+ resources: {}
53
+ # limits:
54
+ # cpu: 100m
55
+ # memory: 128Mi
56
+ # requests:
57
+ # cpu: 100m
58
+ # memory: 128Mi
59
+
60
+ livenessProbe:
61
+ httpGet:
62
+ path: /health/live
63
+ port: http
64
+ readinessProbe:
65
+ httpGet:
66
+ path: /health/ready
67
+ port: http
68
+
69
+ autoscaling:
70
+ enabled: false
71
+ minReplicas: 1
72
+ maxReplicas: 100
73
+ targetCPUUtilizationPercentage: 80
74
+ # targetMemoryUtilizationPercentage: 80
75
+
76
+ volumes: []
77
+ # - name: foo
78
+ # secret:
79
+ # secretName: mysecret
80
+ # optional: false
81
+
82
+ volumeMounts: []
83
+ # - name: foo
84
+ # mountPath: "/etc/foo"
85
+ # readOnly: true
86
+
87
+ nodeSelector: {}
88
+
89
+ tolerations: []
90
+
91
+ affinity: {}
92
+
93
+ virtualService:
94
+ create: false
@@ -0,0 +1,23 @@
1
+ # Patterns to ignore when building packages.
2
+ # This supports shell glob matching, relative path matching, and
3
+ # negation (prefixed with !). Only one pattern per line.
4
+ .DS_Store
5
+ # Common VCS dirs
6
+ .git/
7
+ .gitignore
8
+ .bzr/
9
+ .bzrignore
10
+ .hg/
11
+ .hgignore
12
+ .svn/
13
+ # Common backup files
14
+ *.swp
15
+ *.bak
16
+ *.tmp
17
+ *.orig
18
+ *~
19
+ # Various IDEs
20
+ .project
21
+ .idea/
22
+ *.tmproj
23
+ .vscode/
@@ -0,0 +1,10 @@
1
+ apiVersion: v2
2
+ name: ms-tenants-rest
3
+ description: This is a Helm chart for the ms-tenants REST service
4
+ type: application
5
+ version: 0.0.1
6
+ appVersion: "0.0.1"
7
+ dependencies:
8
+ - name: ms-base
9
+ version: 0.0.1
10
+ repository: "https://www.codedesignplus.com/helm-charts/"
@@ -0,0 +1,110 @@
1
+ ms-base:
2
+ replicaCount: 1
3
+
4
+ image:
5
+ repository: codedesignplus/ms-archetype-rest
6
+ pullPolicy: IfNotPresent
7
+ tag: "v0.1.0-alpha.100"
8
+
9
+ imagePullSecrets: []
10
+ fullnameOverride: "ms-archetype-rest"
11
+ nameOverride: "ms-archetype-rest"
12
+
13
+ serviceAccount:
14
+ create: true
15
+ automount: true
16
+ annotations: {}
17
+ name: ""
18
+
19
+ podAnnotations: {}
20
+ podLabels: {}
21
+ podSecurityContext: {}
22
+ # fsGroup: 2000
23
+
24
+ securityContext: {}
25
+ # capabilities:
26
+ # drop:
27
+ # - ALL
28
+ # readOnlyRootFilesystem: true
29
+ # runAsNonRoot: true
30
+ # runAsUser: 1000
31
+
32
+ service:
33
+ type: ClusterIP
34
+ port: 5000
35
+
36
+ ingress:
37
+ enabled: false
38
+ className: ""
39
+ annotations: {}
40
+ # kubernetes.io/ingress.class: nginx
41
+ # kubernetes.io/tls-acme: "true"
42
+ hosts:
43
+ - host: services.codedesignplus.com
44
+ paths:
45
+ - path: /
46
+ pathType: ImplementationSpecific
47
+ tls: []
48
+ # - secretName: chart-example-tls
49
+ # hosts:
50
+ # - services.codedesignplus.com
51
+
52
+ resources: {}
53
+ # limits:
54
+ # cpu: 100m
55
+ # memory: 128Mi
56
+ # requests:
57
+ # cpu: 100m
58
+ # memory: 128Mi
59
+
60
+ livenessProbe:
61
+ httpGet:
62
+ path: /health/live
63
+ port: http
64
+ readinessProbe:
65
+ httpGet:
66
+ path: /health/ready
67
+ port: http
68
+
69
+ autoscaling:
70
+ enabled: false
71
+ minReplicas: 1
72
+ maxReplicas: 100
73
+ targetCPUUtilizationPercentage: 80
74
+ # targetMemoryUtilizationPercentage: 80
75
+
76
+ volumes: []
77
+ # - name: foo
78
+ # secret:
79
+ # secretName: mysecret
80
+ # optional: false
81
+
82
+ volumeMounts: []
83
+ # - name: foo
84
+ # mountPath: "/etc/foo"
85
+ # readOnly: true
86
+
87
+ nodeSelector: {}
88
+
89
+ tolerations: []
90
+
91
+ affinity: {}
92
+
93
+ virtualService:
94
+ create: true
95
+ hosts:
96
+ - services.codedesignplus.com
97
+ gateways:
98
+ - services-gateway
99
+ http:
100
+ - name: ms-archetype
101
+ match:
102
+ - uri:
103
+ prefix: /ms-archetype/
104
+ rewrite:
105
+ uri: /
106
+ route:
107
+ - destination:
108
+ host: ms-archetype-rest.default.svc.cluster.local
109
+ port:
110
+ number: 5000
@@ -0,0 +1,23 @@
1
+ # Patterns to ignore when building packages.
2
+ # This supports shell glob matching, relative path matching, and
3
+ # negation (prefixed with !). Only one pattern per line.
4
+ .DS_Store
5
+ # Common VCS dirs
6
+ .git/
7
+ .gitignore
8
+ .bzr/
9
+ .bzrignore
10
+ .hg/
11
+ .hgignore
12
+ .svn/
13
+ # Common backup files
14
+ *.swp
15
+ *.bak
16
+ *.tmp
17
+ *.orig
18
+ *~
19
+ # Various IDEs
20
+ .project
21
+ .idea/
22
+ *.tmproj
23
+ .vscode/
@@ -0,0 +1,10 @@
1
+ apiVersion: v2
2
+ name: ms-archetype-worker
3
+ description: This is a Helm chart for the ms-archetype Worker service
4
+ type: application
5
+ version: 0.0.1
6
+ appVersion: "0.0.1"
7
+ dependencies:
8
+ - name: ms-base
9
+ version: 0.0.1
10
+ repository: "https://www.codedesignplus.com/helm-charts/"
@@ -0,0 +1,94 @@
1
+ ms-base:
2
+ replicaCount: 1
3
+
4
+ image:
5
+ repository: codedesignplus/ms-archetype-worker
6
+ pullPolicy: IfNotPresent
7
+ tag: "v0.1.0-alpha.100"
8
+
9
+ imagePullSecrets: []
10
+ fullnameOverride: "ms-archetype-worker"
11
+ nameOverride: "ms-archetype-worker"
12
+
13
+ serviceAccount:
14
+ create: true
15
+ automount: true
16
+ annotations: {}
17
+ name: ""
18
+
19
+ podAnnotations: {}
20
+ podLabels: {}
21
+ podSecurityContext: {}
22
+ # fsGroup: 2000
23
+
24
+ securityContext: {}
25
+ # capabilities:
26
+ # drop:
27
+ # - ALL
28
+ # readOnlyRootFilesystem: true
29
+ # runAsNonRoot: true
30
+ # runAsUser: 1000
31
+
32
+ service:
33
+ type: ClusterIP
34
+ port: 5000
35
+
36
+ ingress:
37
+ enabled: false
38
+ className: ""
39
+ annotations: {}
40
+ # kubernetes.io/ingress.class: nginx
41
+ # kubernetes.io/tls-acme: "true"
42
+ hosts:
43
+ - host: services.codedesignplus.com
44
+ paths:
45
+ - path: /
46
+ pathType: ImplementationSpecific
47
+ tls: []
48
+ # - secretName: chart-example-tls
49
+ # hosts:
50
+ # - services.codedesignplus.com
51
+
52
+ resources: {}
53
+ # limits:
54
+ # cpu: 100m
55
+ # memory: 128Mi
56
+ # requests:
57
+ # cpu: 100m
58
+ # memory: 128Mi
59
+
60
+ livenessProbe:
61
+ httpGet:
62
+ path: /health/live
63
+ port: http
64
+ readinessProbe:
65
+ httpGet:
66
+ path: /health/ready
67
+ port: http
68
+
69
+ autoscaling:
70
+ enabled: false
71
+ minReplicas: 1
72
+ maxReplicas: 100
73
+ targetCPUUtilizationPercentage: 80
74
+ # targetMemoryUtilizationPercentage: 80
75
+
76
+ volumes: []
77
+ # - name: foo
78
+ # secret:
79
+ # secretName: mysecret
80
+ # optional: false
81
+
82
+ volumeMounts: []
83
+ # - name: foo
84
+ # mountPath: "/etc/foo"
85
+ # readOnly: true
86
+
87
+ nodeSelector: {}
88
+
89
+ tolerations: []
90
+
91
+ affinity: {}
92
+
93
+ virtualService:
94
+ create: false
@@ -5,10 +5,10 @@
5
5
  <Nullable>enable</Nullable>
6
6
  </PropertyGroup>
7
7
  <ItemGroup>
8
- <PackageReference Include="CodeDesignPlus.Net.Generator" Version="0.6.0-beta.10" OutputItemType="Analyzer" ReferenceOutputAssembly="false" />
9
- <PackageReference Include="CodeDesignPlus.Net.Redis.Abstractions" Version="0.6.0-beta.10" />
10
- <PackageReference Include="CodeDesignPlus.Net.PubSub.Abstractions" Version="0.6.0-beta.10" />
11
- <PackageReference Include="CodeDesignPlus.Net.Cache.Abstractions" Version="0.6.0-beta.10" />
8
+ <PackageReference Include="CodeDesignPlus.Net.Generator" Version="0.6.0-beta.28" OutputItemType="Analyzer" ReferenceOutputAssembly="false" />
9
+ <PackageReference Include="CodeDesignPlus.Net.Redis.Abstractions" Version="0.6.0-beta.28" />
10
+ <PackageReference Include="CodeDesignPlus.Net.PubSub.Abstractions" Version="0.6.0-beta.28" />
11
+ <PackageReference Include="CodeDesignPlus.Net.Cache.Abstractions" Version="0.6.0-beta.28" />
12
12
  <PackageReference Include="Mapster" Version="7.4.0" />
13
13
  <PackageReference Include="Mapster.DependencyInjection" Version="1.0.1" />
14
14
  <PackageReference Include="MediatR" Version="12.4.1" />
@@ -1,3 +1,5 @@
1
- namespace CodeDesignPlus.Net.Microservice.Application.Order.Queries.GetAllOrders;
1
+ using CodeDesignPlus.Net.Core.Abstractions.Models.Pager;
2
2
 
3
- public record GetAllOrdersQuery(C.Criteria Criteria) : IRequest<List<OrderDto>>;
3
+ namespace CodeDesignPlus.Net.Microservice.Application.Order.Queries.GetAllOrders;
4
+
5
+ public record GetAllOrdersQuery(C.Criteria Criteria) : IRequest<Pagination<OrderDto>>;
@@ -1,14 +1,16 @@
1
- namespace CodeDesignPlus.Net.Microservice.Application.Order.Queries.GetAllOrders;
1
+ using CodeDesignPlus.Net.Core.Abstractions.Models.Pager;
2
+
3
+ namespace CodeDesignPlus.Net.Microservice.Application.Order.Queries.GetAllOrders;
2
4
 
3
5
  public class GetAllOrdersQueryHandler(IOrderRepository orderRepository, IMapper mapper, IUserContext user)
4
- : IRequestHandler<GetAllOrdersQuery, List<OrderDto>>
6
+ : IRequestHandler<GetAllOrdersQuery, Pagination<OrderDto>>
5
7
  {
6
8
 
7
- public async Task<List<OrderDto>> Handle(GetAllOrdersQuery request, CancellationToken cancellationToken)
9
+ public async Task<Pagination<OrderDto>> Handle(GetAllOrdersQuery request, CancellationToken cancellationToken)
8
10
  {
9
11
  var result = await orderRepository.MatchingAsync<OrderAggregate>(request.Criteria, user.Tenant, cancellationToken);
10
12
 
11
- var data = mapper.Map<List<OrderDto>>(result);
13
+ var data = mapper.Map<Pagination<OrderDto>>(result);
12
14
 
13
15
  return data;
14
16
  }
@@ -5,7 +5,7 @@
5
5
  <Nullable>enable</Nullable>
6
6
  </PropertyGroup>
7
7
  <ItemGroup>
8
- <PackageReference Include="CodeDesignPlus.Net.Exceptions" Version="0.6.0-beta.10" />
9
- <PackageReference Include="CodeDesignPlus.Net.Mongo" Version="0.6.0-beta.10" />
8
+ <PackageReference Include="CodeDesignPlus.Net.Exceptions" Version="0.6.0-beta.28" />
9
+ <PackageReference Include="CodeDesignPlus.Net.Mongo" Version="0.6.0-beta.28" />
10
10
  </ItemGroup>
11
11
  </Project>
@@ -7,14 +7,14 @@
7
7
  <PublishAot>false</PublishAot>
8
8
  </PropertyGroup>
9
9
  <ItemGroup>
10
- <PackageReference Include="CodeDesignPlus.Net.Microservice.Commons" Version="0.6.0-beta.10" />
11
- <PackageReference Include="CodeDesignPlus.Net.Vault" Version="0.6.0-beta.10" />
12
- <PackageReference Include="CodeDesignPlus.Net.Redis" Version="0.6.0-beta.10" />
13
- <PackageReference Include="CodeDesignPlus.Net.RabbitMQ" Version="0.6.0-beta.10" />
14
- <PackageReference Include="CodeDesignPlus.Net.Logger" Version="0.6.0-beta.10" />
15
- <PackageReference Include="CodeDesignPlus.Net.Observability" Version="0.6.0-beta.10" />
16
- <PackageReference Include="CodeDesignPlus.Net.Security" Version="0.6.0-beta.10" />
17
- <PackageReference Include="CodeDesignPlus.Net.Redis.Cache" Version="0.6.0-beta.10" />
10
+ <PackageReference Include="CodeDesignPlus.Net.Microservice.Commons" Version="0.6.0-beta.28" />
11
+ <PackageReference Include="CodeDesignPlus.Net.Vault" Version="0.6.0-beta.28" />
12
+ <PackageReference Include="CodeDesignPlus.Net.Redis" Version="0.6.0-beta.28" />
13
+ <PackageReference Include="CodeDesignPlus.Net.RabbitMQ" Version="0.6.0-beta.28" />
14
+ <PackageReference Include="CodeDesignPlus.Net.Logger" Version="0.6.0-beta.28" />
15
+ <PackageReference Include="CodeDesignPlus.Net.Observability" Version="0.6.0-beta.28" />
16
+ <PackageReference Include="CodeDesignPlus.Net.Security" Version="0.6.0-beta.28" />
17
+ <PackageReference Include="CodeDesignPlus.Net.Redis.Cache" Version="0.6.0-beta.28" />
18
18
  </ItemGroup>
19
19
  <ItemGroup>
20
20
  <SonarQubeSetting Include="sonar.coverage.exclusions">
@@ -0,0 +1,16 @@
1
+ {
2
+ "Vault": {
3
+ "Enable": true,
4
+ "Address": "http://vault-internal.vault-operator.svc.cluster.local:8200",
5
+ "AppName": "ms-archetype",
6
+ "Solution": "vault",
7
+ "Token": "root",
8
+ "Mongo": {
9
+ "Enable": false,
10
+ "TemplateConnectionString": "mongodb://{0}:{1}@localhost:27017"
11
+ },
12
+ "RabbitMQ": {
13
+ "Enable": false
14
+ }
15
+ }
16
+ }
@@ -11,17 +11,21 @@
11
11
  </PropertyGroup>
12
12
  <ItemGroup>
13
13
  <PackageReference Include="NodaTime.Serialization.SystemTextJson" Version="1.3.0" />
14
- <PackageReference Include="CodeDesignPlus.Net.Microservice.Commons" Version="0.6.0-beta.10" />
15
- <PackageReference Include="CodeDesignPlus.Net.Vault" Version="0.6.0-beta.10" />
16
- <PackageReference Include="Swashbuckle.AspNetCore.Swagger" Version="7.2.0" />
17
- <PackageReference Include="Swashbuckle.AspNetCore.SwaggerGen" Version="7.2.0" />
18
- <PackageReference Include="Swashbuckle.AspNetCore.SwaggerUI" Version="7.2.0" />
19
- <PackageReference Include="CodeDesignPlus.Net.Logger" Version="0.6.0-beta.10" />
20
- <PackageReference Include="CodeDesignPlus.Net.Redis" Version="0.6.0-beta.10" />
21
- <PackageReference Include="CodeDesignPlus.Net.Security" Version="0.6.0-beta.10" />
22
- <PackageReference Include="CodeDesignPlus.Net.Observability" Version="0.6.0-beta.10" />
23
- <PackageReference Include="CodeDesignPlus.Net.RabbitMQ" Version="0.6.0-beta.10" />
24
- <PackageReference Include="CodeDesignPlus.Net.Redis.Cache" Version="0.6.0-beta.10" />
14
+ <PackageReference Include="CodeDesignPlus.Net.Microservice.Commons" Version="0.6.0-beta.28" />
15
+ <PackageReference Include="CodeDesignPlus.Net.Vault" Version="0.6.0-beta.28" />
16
+ <PackageReference Include="Swashbuckle.AspNetCore.Swagger" Version="8.1.1" />
17
+ <PackageReference Include="Swashbuckle.AspNetCore.SwaggerGen" Version="8.1.1" />
18
+ <PackageReference Include="Swashbuckle.AspNetCore.SwaggerUI" Version="8.1.1" />
19
+ <PackageReference Include="CodeDesignPlus.Net.Logger" Version="0.6.0-beta.28" />
20
+ <PackageReference Include="CodeDesignPlus.Net.Redis" Version="0.6.0-beta.28" />
21
+ <PackageReference Include="CodeDesignPlus.Net.Security" Version="0.6.0-beta.28" />
22
+ <PackageReference Include="CodeDesignPlus.Net.Observability" Version="0.6.0-beta.28" />
23
+ <PackageReference Include="CodeDesignPlus.Net.RabbitMQ" Version="0.6.0-beta.28" />
24
+ <PackageReference Include="CodeDesignPlus.Net.Redis.Cache" Version="0.6.0-beta.28" />
25
+
26
+ <PackageReference Include="AspNetCore.HealthChecks.MongoDb" Version="9.0.0" />
27
+ <PackageReference Include="AspNetCore.HealthChecks.Rabbitmq" Version="9.0.0" />
28
+ <PackageReference Include="AspNetCore.HealthChecks.Redis" Version="9.0.0" />
25
29
  </ItemGroup>
26
30
  <ItemGroup>
27
31
  <InternalsVisibleTo Include="CodeDesignPlus.Net.Microservice.Rest.Test" />
@@ -1,13 +1,15 @@
1
1
  using CodeDesignPlus.Net.Microservice.Commons.EntryPoints.Rest.Middlewares;
2
+ using CodeDesignPlus.Net.Microservice.Commons.EntryPoints.Rest.Resources;
2
3
  using CodeDesignPlus.Net.Microservice.Commons.EntryPoints.Rest.Swagger;
3
4
  using CodeDesignPlus.Net.Microservice.Commons.FluentValidation;
5
+ using CodeDesignPlus.Net.Microservice.Commons.HealthChecks;
4
6
  using CodeDesignPlus.Net.Microservice.Commons.MediatR;
5
7
  using CodeDesignPlus.Net.Redis.Cache.Extensions;
6
8
  using CodeDesignPlus.Net.Vault.Extensions;
7
- using NodaTime;
8
9
  using NodaTime.Serialization.SystemTextJson;
9
10
 
10
- var builder = WebApplication.CreateSlimBuilder(args);
11
+
12
+ var builder = WebApplication.CreateSlimBuilder(args);
11
13
 
12
14
  Serilog.Debugging.SelfLog.Enable(Console.Error);
13
15
 
@@ -19,9 +21,8 @@ builder.Services
19
21
  .AddControllers()
20
22
  .AddJsonOptions(opt => opt.JsonSerializerOptions.ConfigureForNodaTime(DateTimeZoneProviders.Tzdb));
21
23
 
22
-
23
24
  builder.Services.AddEndpointsApiExplorer();
24
-
25
+ builder.Services.AddCors();
25
26
  builder.Services.AddVault(builder.Configuration);
26
27
  builder.Services.AddRedis(builder.Configuration);
27
28
  builder.Services.AddMongo<CodeDesignPlus.Net.Microservice.Infrastructure.Startup>(builder.Configuration);
@@ -34,14 +35,21 @@ builder.Services.AddMediatR<CodeDesignPlus.Net.Microservice.Application.Startup>
34
35
  builder.Services.AddSecurity(builder.Configuration);
35
36
  builder.Services.AddCoreSwagger<Program>(builder.Configuration);
36
37
  builder.Services.AddCache(builder.Configuration);
37
-
38
+ builder.Services.AddResources<Program>(builder.Configuration);
39
+ builder.Services.AddHealthChecksServices();
38
40
 
39
41
  var app = builder.Build();
40
42
 
41
- // Configure the HTTP request pipeline.
42
- app.UseCoreSwagger();
43
+ app.UseCors(builder => builder
44
+ .AllowAnyOrigin()
45
+ .AllowAnyMethod()
46
+ .AllowAnyHeader()
47
+ );
48
+ app.UseExceptionMiddleware();
49
+ app.UseHealthChecks();
50
+ app.UseCodeErrors();
43
51
 
44
- app.UseMiddleware<ExceptionMiddleware>();
52
+ app.UseCoreSwagger();
45
53
 
46
54
  app.UseHttpsRedirection();
47
55
 
@@ -9,6 +9,7 @@
9
9
  }
10
10
  },
11
11
  "Core": {
12
+ "Id": "797742f0-2999-4dac-a0d2-6e8ecdff0fda",
12
13
  "AppName": "ms-archetype",
13
14
  "Version": "v1",
14
15
  "Description": "Microservice Archetype Template",
@@ -18,6 +19,10 @@
18
19
  "Email": "codedesignplus@outlook.com"
19
20
  }
20
21
  },
22
+ "Resources": {
23
+ "Enable": false,
24
+ "Server": "http://localhost:5001"
25
+ },
21
26
  "Security": {
22
27
  "Authority": "https://codedesignplus.b2clogin.com/codedesignplus.onmicrosoft.com/B2C_1_CodeDeseignPlus/oauth2/v2.0/",
23
28
  "IncludeErrorDetails": true,
@@ -27,7 +32,11 @@
27
32
  "RequireHttpsMetadata": true,
28
33
  "ValidIssuer": "https://codedesignplus.b2clogin.com/3461e311-a66e-46ab-afdf-2bbfb72a5cb0/v2.0/",
29
34
  "ValidAudiences": [],
30
- "Applications": []
35
+ "Applications": [],
36
+ "ValidateLicense": false,
37
+ "ValidateRbac": false,
38
+ "ServerRbac": "http://localhost:5001",
39
+ "RefreshRbacInterval": 10
31
40
  },
32
41
  "Redis": {
33
42
  "Instances": {
@@ -55,7 +64,7 @@
55
64
  "Enable": true,
56
65
  "EnableCommandText": true
57
66
  }
58
- },
67
+ },
59
68
  "Logger": {
60
69
  "Enable": true,
61
70
  "OTelEndpoint": "http://localhost:4317"
@@ -91,4 +100,4 @@
91
100
  "Enable": true
92
101
  }
93
102
  }
94
- }
103
+ }
@@ -0,0 +1,16 @@
1
+ {
2
+ "Vault": {
3
+ "Enable": true,
4
+ "Address": "http://vault-internal.vault-operator.svc.cluster.local:8200",
5
+ "AppName": "ms-archetype",
6
+ "Solution": "vault",
7
+ "Token": "root",
8
+ "Mongo": {
9
+ "Enable": false,
10
+ "TemplateConnectionString": "mongodb://{0}:{1}@localhost:27017"
11
+ },
12
+ "RabbitMQ": {
13
+ "Enable": false
14
+ }
15
+ }
16
+ }
@@ -9,11 +9,11 @@
9
9
  <Protobuf Include="Protos\orders.proto" GrpcServices="Server" />
10
10
  </ItemGroup>
11
11
  <ItemGroup>
12
- <PackageReference Include="CodeDesignPlus.Net.Microservice.Commons" Version="0.6.0-beta.10" />
13
- <PackageReference Include="CodeDesignPlus.Net.Vault" Version="0.6.0-beta.10" />
14
- <PackageReference Include="Grpc.AspNetCore" Version="2.67.0" />
15
- <PackageReference Include="Grpc.AspNetCore.Server.Reflection" Version="2.67.0" />
16
- <PackageReference Include="Grpc.Tools" Version="2.69.0">
12
+ <PackageReference Include="CodeDesignPlus.Net.Microservice.Commons" Version="0.6.0-beta.28" />
13
+ <PackageReference Include="CodeDesignPlus.Net.Vault" Version="0.6.0-beta.28" />
14
+ <PackageReference Include="Grpc.AspNetCore" Version="2.70.0" />
15
+ <PackageReference Include="Grpc.AspNetCore.Server.Reflection" Version="2.70.0" />
16
+ <PackageReference Include="Grpc.Tools" Version="2.71.0">
17
17
  <IncludeAssets>runtime; build; native; contentfiles; analyzers; buildtransitive</IncludeAssets>
18
18
  <PrivateAssets>all</PrivateAssets>
19
19
  </PackageReference>
@@ -26,12 +26,12 @@
26
26
  <ItemGroup>
27
27
  <ProjectReference Include="..\..\domain\CodeDesignPlus.Net.Microservice.Infrastructure\CodeDesignPlus.Net.Microservice.Infrastructure.csproj" />
28
28
  <PackageReference Include="NodaTime.Serialization.Protobuf" Version="2.0.2" />
29
- <PackageReference Include="CodeDesignPlus.Net.Redis" Version="0.6.0-beta.10" />
30
- <PackageReference Include="CodeDesignPlus.Net.RabbitMQ" Version="0.6.0-beta.10" />
31
- <PackageReference Include="CodeDesignPlus.Net.Logger" Version="0.6.0-beta.10" />
32
- <PackageReference Include="CodeDesignPlus.Net.Observability" Version="0.6.0-beta.10" />
33
- <PackageReference Include="CodeDesignPlus.Net.Security" Version="0.6.0-beta.10" />
34
- <PackageReference Include="CodeDesignPlus.Net.Exceptions" Version="0.6.0-beta.10" />
35
- <PackageReference Include="CodeDesignPlus.Net.Redis.Cache" Version="0.6.0-beta.10" />
29
+ <PackageReference Include="CodeDesignPlus.Net.Redis" Version="0.6.0-beta.28" />
30
+ <PackageReference Include="CodeDesignPlus.Net.RabbitMQ" Version="0.6.0-beta.28" />
31
+ <PackageReference Include="CodeDesignPlus.Net.Logger" Version="0.6.0-beta.28" />
32
+ <PackageReference Include="CodeDesignPlus.Net.Observability" Version="0.6.0-beta.28" />
33
+ <PackageReference Include="CodeDesignPlus.Net.Security" Version="0.6.0-beta.28" />
34
+ <PackageReference Include="CodeDesignPlus.Net.Exceptions" Version="0.6.0-beta.28" />
35
+ <PackageReference Include="CodeDesignPlus.Net.Redis.Cache" Version="0.6.0-beta.28" />
36
36
  </ItemGroup>
37
37
  </Project>
@@ -0,0 +1,16 @@
1
+ {
2
+ "Vault": {
3
+ "Enable": true,
4
+ "Address": "http://vault-internal.vault-operator.svc.cluster.local:8200",
5
+ "AppName": "ms-archetype",
6
+ "Solution": "vault",
7
+ "Token": "root",
8
+ "Mongo": {
9
+ "Enable": false,
10
+ "TemplateConnectionString": "mongodb://{0}:{1}@localhost:27017"
11
+ },
12
+ "RabbitMQ": {
13
+ "Enable": false
14
+ }
15
+ }
16
+ }
@@ -11,12 +11,12 @@
11
11
  <IncludeAssets>runtime; build; native; contentfiles; analyzers; buildtransitive</IncludeAssets>
12
12
  <PrivateAssets>all</PrivateAssets>
13
13
  </PackageReference>
14
- <PackageReference Include="CodeDesignPlus.Net.xUnit.Microservice" Version="0.6.0-beta.10" />
14
+ <PackageReference Include="CodeDesignPlus.Net.xUnit.Microservice" Version="0.6.0-beta.28" />
15
15
  <PackageReference Include="Ductus.FluentDocker.XUnit" Version="2.10.59" />
16
- <PackageReference Include="Microsoft.AspNetCore.Mvc.Testing" Version="9.0.1" />
17
- <PackageReference Include="Microsoft.NET.Test.Sdk" Version="17.12.0" />
16
+ <PackageReference Include="Microsoft.AspNetCore.Mvc.Testing" Version="9.0.4" />
17
+ <PackageReference Include="Microsoft.NET.Test.Sdk" Version="17.13.0" />
18
18
  <PackageReference Include="xunit" Version="2.9.3" />
19
- <PackageReference Include="xunit.runner.visualstudio" Version="3.0.1">
19
+ <PackageReference Include="xunit.runner.visualstudio" Version="3.0.2">
20
20
  <IncludeAssets>runtime; build; native; contentfiles; analyzers; buildtransitive</IncludeAssets>
21
21
  <PrivateAssets>all</PrivateAssets>
22
22
  </PackageReference>
@@ -31,5 +31,6 @@
31
31
  </ItemGroup>
32
32
  <ItemGroup>
33
33
  <Folder Include="Consumers\" />
34
+ <Folder Include="Helpers\" />
34
35
  </ItemGroup>
35
36
  </Project>
@@ -0,0 +1,10 @@
1
+ namespace CodeDesignPlus.Net.Microservice.AsyncWorker.Test.Helpers;
2
+
3
+ /// <summary>
4
+ /// Define the collection of the server.
5
+ /// </summary>
6
+ [CollectionDefinition(ServerCollectionFixture<Program>.Collection)]
7
+ public class ServerCollectionDefinition: ICollectionFixture<ServerCollectionFixture<Program>>
8
+ {
9
+
10
+ }
@@ -12,12 +12,12 @@
12
12
  <PrivateAssets>all</PrivateAssets>
13
13
  </PackageReference>
14
14
  <PackageReference Include="Microsoft.AspNetCore.Authentication" Version="2.3.0" />
15
- <PackageReference Include="CodeDesignPlus.Net.xUnit.Microservice" Version="0.6.0-beta.10" />
16
- <PackageReference Include="Microsoft.AspNetCore.Mvc.Testing" Version="9.0.1" />
15
+ <PackageReference Include="CodeDesignPlus.Net.xUnit.Microservice" Version="0.6.0-beta.28" />
16
+ <PackageReference Include="Microsoft.AspNetCore.Mvc.Testing" Version="9.0.4" />
17
17
  <PackageReference Include="Ductus.FluentDocker.XUnit" Version="2.10.59" />
18
- <PackageReference Include="Microsoft.NET.Test.Sdk" Version="17.12.0" />
18
+ <PackageReference Include="Microsoft.NET.Test.Sdk" Version="17.13.0" />
19
19
  <PackageReference Include="xunit" Version="2.9.3" />
20
- <PackageReference Include="xunit.runner.visualstudio" Version="3.0.1">
20
+ <PackageReference Include="xunit.runner.visualstudio" Version="3.0.2">
21
21
  <IncludeAssets>runtime; build; native; contentfiles; analyzers; buildtransitive</IncludeAssets>
22
22
  <PrivateAssets>all</PrivateAssets>
23
23
  </PackageReference>
@@ -1,10 +1,15 @@
1
- namespace CodeDesignPlus.Net.Microservice.Rest.Test.Controllers;
1
+ using CodeDesignPlus.Net.Core.Abstractions.Models.Pager;
2
+ using CodeDesignPlus.Net.Microservice.Rest.Test.Helpers;
3
+ using Xunit.Abstractions;
2
4
 
3
- public class OrderControllerTest : ServerBase<Program>, IClassFixture<Server<Program>>
5
+ namespace CodeDesignPlus.Net.Microservice.Rest.Test.Controllers;
6
+
7
+ [Collection(ServerCollectionFixture<Program> .Collection)]
8
+ public class OrderControllerTest : ServerBase<Program>
4
9
  {
5
- public OrderControllerTest(Server<Program> server) : base(server)
10
+ public OrderControllerTest(ServerCollectionFixture<Program> fixture, ITestOutputHelper output) : base(fixture.Container)
6
11
  {
7
- server.InMemoryCollection = (x) =>
12
+ fixture.Container.InMemoryCollection = (x) =>
8
13
  {
9
14
  x.Add("Vault:Enable", "false");
10
15
  x.Add("Vault:Address", "http://localhost:8200");
@@ -30,11 +35,12 @@ public class OrderControllerTest : ServerBase<Program>, IClassFixture<Server<Pro
30
35
 
31
36
  var json = await response.Content.ReadAsStringAsync();
32
37
 
33
- var orders = JsonSerializer.Deserialize<IEnumerable<OrderDto>>(json);
38
+ var orders = JsonSerializer.Deserialize<Pagination<OrderDto>>(json);
34
39
 
40
+ Assert.NotNull(json);
35
41
  Assert.NotNull(orders);
36
- Assert.NotEmpty(orders);
37
- Assert.Contains(orders, x => x.Id == order.Id);
42
+ Assert.NotEmpty(orders.Data);
43
+ Assert.Contains(orders.Data, x => x.Id == order.Id);
38
44
  }
39
45
 
40
46
  [Fact]
@@ -92,7 +98,7 @@ public class OrderControllerTest : ServerBase<Program>, IClassFixture<Server<Pro
92
98
 
93
99
  Assert.NotNull(response);
94
100
  Assert.Equal(HttpStatusCode.NoContent, response.StatusCode);
95
-
101
+
96
102
  Assert.Equal(data.Id, order.Id);
97
103
  Assert.Equal(data.Client.Name, order.Client.Name);
98
104
  Assert.Equal(data.Client.Id, order.Client.Id);
@@ -0,0 +1,10 @@
1
+ namespace CodeDesignPlus.Net.Microservice.Rest.Test.Helpers;
2
+
3
+ /// <summary>
4
+ /// Define the collection of the server.
5
+ /// </summary>
6
+ [CollectionDefinition(ServerCollectionFixture<Program>.Collection)]
7
+ public class ServerCollectionDefinition: ICollectionFixture<ServerCollectionFixture<Program>>
8
+ {
9
+
10
+ }
@@ -12,20 +12,20 @@
12
12
  <IncludeAssets>runtime; build; native; contentfiles; analyzers; buildtransitive</IncludeAssets>
13
13
  <PrivateAssets>all</PrivateAssets>
14
14
  </PackageReference>
15
- <PackageReference Include="Google.Protobuf" Version="3.29.3" />
16
- <PackageReference Include="Grpc.Net.Client" Version="2.67.0" />
17
- <PackageReference Include="Grpc.Tools" Version="2.69.0">
15
+ <PackageReference Include="Google.Protobuf" Version="3.30.2" />
16
+ <PackageReference Include="Grpc.Net.Client" Version="2.70.0" />
17
+ <PackageReference Include="Grpc.Tools" Version="2.71.0">
18
18
  <IncludeAssets>runtime; build; native; contentfiles; analyzers; buildtransitive</IncludeAssets>
19
19
  <PrivateAssets>all</PrivateAssets>
20
20
  </PackageReference>
21
21
  <PackageReference Include="NodaTime.Serialization.Protobuf" Version="2.0.2" />
22
- <PackageReference Include="CodeDesignPlus.Net.xUnit.Microservice" Version="0.6.0-beta.10" />
23
- <PackageReference Include="Microsoft.AspNetCore.Mvc.Testing" Version="9.0.1" />
22
+ <PackageReference Include="CodeDesignPlus.Net.xUnit.Microservice" Version="0.6.0-beta.28" />
23
+ <PackageReference Include="Microsoft.AspNetCore.Mvc.Testing" Version="9.0.4" />
24
24
  <PackageReference Include="Microsoft.AspNetCore.Authentication" Version="2.3.0" />
25
- <PackageReference Include="Microsoft.AspNetCore.TestHost" Version="9.0.1" />
26
- <PackageReference Include="Microsoft.NET.Test.Sdk" Version="17.12.0" />
25
+ <PackageReference Include="Microsoft.AspNetCore.TestHost" Version="9.0.4" />
26
+ <PackageReference Include="Microsoft.NET.Test.Sdk" Version="17.13.0" />
27
27
  <PackageReference Include="xunit" Version="2.9.3" />
28
- <PackageReference Include="xunit.runner.visualstudio" Version="3.0.1">
28
+ <PackageReference Include="xunit.runner.visualstudio" Version="3.0.2">
29
29
  <IncludeAssets>runtime; build; native; contentfiles; analyzers; buildtransitive</IncludeAssets>
30
30
  <PrivateAssets>all</PrivateAssets>
31
31
  </PackageReference>
@@ -45,4 +45,7 @@
45
45
  <ItemGroup>
46
46
  <Using Include="Xunit" />
47
47
  </ItemGroup>
48
+ <ItemGroup>
49
+ <Folder Include="Helpers\" />
50
+ </ItemGroup>
48
51
  </Project>
@@ -0,0 +1,10 @@
1
+ namespace CodeDesignPlus.Net.Microservice.gRpc.Test.Helpers;
2
+
3
+ /// <summary>
4
+ /// Define the collection of the server.
5
+ /// </summary>
6
+ [CollectionDefinition(ServerCollectionFixture<Program>.Collection)]
7
+ public class ServerCollectionDefinition: ICollectionFixture<ServerCollectionFixture<Program>>
8
+ {
9
+
10
+ }
@@ -1,14 +1,16 @@
1
1
  using CodeDesignPlus.Net.Microservice.Domain.ValueObjects;
2
+ using CodeDesignPlus.Net.Microservice.gRpc.Test.Helpers;
2
3
  using NodaTime;
3
4
  using NodaTime.Serialization.Protobuf;
4
5
 
5
6
  namespace CodeDesignPlus.Net.Microservice.gRpc.Test.Services;
6
7
 
7
- public class OrderServiceTest : ServerBase<Program>, IClassFixture<Server<Program>>
8
+ [Collection(ServerCollectionFixture<Program> .Collection)]
9
+ public class OrderServiceTest : ServerBase<Program>
8
10
  {
9
- public OrderServiceTest(Server<Program> server) : base(server)
11
+ public OrderServiceTest(ServerCollectionFixture<Program> fixture) : base(fixture.Container)
10
12
  {
11
- server.InMemoryCollection = (x) =>
13
+ fixture.Container.InMemoryCollection = (x) =>
12
14
  {
13
15
  x.Add("Vault:Enable", "false");
14
16
  x.Add("Vault:Address", "http://localhost:8200");
@@ -17,6 +19,7 @@ public class OrderServiceTest : ServerBase<Program>, IClassFixture<Server<Progra
17
19
  x.Add("AppName", "my-test");
18
20
  x.Add("RabbitMQ:UserName", "guest");
19
21
  x.Add("RabbitMQ:Password", "guest");
22
+ x.Add("Security:ValidAudiences:0", Guid.NewGuid().ToString());
20
23
  };
21
24
  }
22
25
 
@@ -17,10 +17,10 @@
17
17
  <IncludeAssets>runtime; build; native; contentfiles; analyzers; buildtransitive</IncludeAssets>
18
18
  <PrivateAssets>all</PrivateAssets>
19
19
  </PackageReference>
20
- <PackageReference Include="Microsoft.NET.Test.Sdk" Version="17.12.0" />
20
+ <PackageReference Include="Microsoft.NET.Test.Sdk" Version="17.13.0" />
21
21
  <PackageReference Include="Moq" Version="4.20.72" />
22
22
  <PackageReference Include="xunit" Version="2.9.3" />
23
- <PackageReference Include="xunit.runner.visualstudio" Version="3.0.1">
23
+ <PackageReference Include="xunit.runner.visualstudio" Version="3.0.2">
24
24
  <IncludeAssets>runtime; build; native; contentfiles; analyzers; buildtransitive</IncludeAssets>
25
25
  <PrivateAssets>all</PrivateAssets>
26
26
  </PackageReference>
@@ -1,3 +1,4 @@
1
+ using CodeDesignPlus.Net.Core.Abstractions.Models.Pager;
1
2
  using CodeDesignPlus.Net.Microservice.Application.Order.Queries.GetAllOrders;
2
3
 
3
4
  namespace CodeDesignPlus.Net.Microservice.Application.Test.Order.Queries.GetAllOrders;
@@ -67,18 +68,18 @@ public class GetAllOrdersQueryHandlerTest
67
68
 
68
69
  var queryHandler = new GetAllOrdersQueryHandler(orderRepositoryMock.Object, mapperMock.Object, userContextMock.Object);
69
70
 
70
- mapperMock.Setup(x => x.Map<List<OrderDto>>(It.IsAny<List<OrderAggregate>>())).Returns(orders);
71
+ mapperMock.Setup(x => x.Map<Pagination<OrderDto>>(It.IsAny<List<OrderAggregate>>())).Returns(Pagination<OrderDto>.Create(orders, 0, 0, 0));
71
72
 
72
73
  // Act
73
74
  var result = await queryHandler.Handle(query, CancellationToken.None);
74
75
 
75
76
  // Assert
76
- Assert.NotNull(result);
77
- Assert.NotEmpty(result);
78
- Assert.Equal(orders.Count, result.Count);
77
+ Assert.NotNull(result.Data);
78
+ Assert.NotEmpty(result.Data);
79
+ Assert.Equal(orders.Count, result.Data.Count());
79
80
 
80
81
  orderRepositoryMock.Verify(x => x.MatchingAsync<OrderAggregate>(criteria, tenant, It.IsAny<CancellationToken>()), Times.Once);
81
- mapperMock.Verify(x => x.Map<List<OrderDto>>(It.IsAny<List<OrderAggregate>>()), Times.Once);
82
+ mapperMock.Verify(x => x.Map<Pagination<OrderDto>>(It.IsAny<List<OrderAggregate>>()), Times.Once);
82
83
  }
83
84
 
84
85
  }
@@ -17,11 +17,11 @@
17
17
  <IncludeAssets>runtime; build; native; contentfiles; analyzers; buildtransitive</IncludeAssets>
18
18
  <PrivateAssets>all</PrivateAssets>
19
19
  </PackageReference>
20
- <PackageReference Include="CodeDesignPlus.Net.xUnit.Microservice" Version="0.6.0-beta.10" />
21
- <PackageReference Include="Microsoft.NET.Test.Sdk" Version="17.12.0" />
20
+ <PackageReference Include="CodeDesignPlus.Net.xUnit.Microservice" Version="0.6.0-beta.28" />
21
+ <PackageReference Include="Microsoft.NET.Test.Sdk" Version="17.13.0" />
22
22
  <PackageReference Include="Moq" Version="4.20.72" />
23
23
  <PackageReference Include="xunit" Version="2.9.3" />
24
- <PackageReference Include="xunit.runner.visualstudio" Version="3.0.1">
24
+ <PackageReference Include="xunit.runner.visualstudio" Version="3.0.2">
25
25
  <IncludeAssets>runtime; build; native; contentfiles; analyzers; buildtransitive</IncludeAssets>
26
26
  <PrivateAssets>all</PrivateAssets>
27
27
  </PackageReference>
@@ -6,15 +6,15 @@
6
6
  <IsPackable>false</IsPackable>
7
7
  </PropertyGroup>
8
8
  <ItemGroup>
9
- <PackageReference Include="CodeDesignPlus.Net.Serializers" Version="0.6.0-beta.10" />
9
+ <PackageReference Include="CodeDesignPlus.Net.Serializers" Version="0.6.0-beta.28" />
10
10
  <PackageReference Include="coverlet.msbuild" Version="6.0.4">
11
11
  <IncludeAssets>runtime; build; native; contentfiles; analyzers; buildtransitive</IncludeAssets>
12
12
  <PrivateAssets>all</PrivateAssets>
13
13
  </PackageReference>
14
- <PackageReference Include="Microsoft.NET.Test.Sdk" Version="17.12.0" />
14
+ <PackageReference Include="Microsoft.NET.Test.Sdk" Version="17.13.0" />
15
15
  <PackageReference Include="Moq" Version="4.20.72" />
16
16
  <PackageReference Include="xunit" Version="2.9.3" />
17
- <PackageReference Include="xunit.runner.visualstudio" Version="3.0.1">
17
+ <PackageReference Include="xunit.runner.visualstudio" Version="3.0.2">
18
18
  <IncludeAssets>runtime; build; native; contentfiles; analyzers; buildtransitive</IncludeAssets>
19
19
  <PrivateAssets>all</PrivateAssets>
20
20
  </PackageReference>
@@ -24,7 +24,7 @@
24
24
  </PackageReference>
25
25
  </ItemGroup>
26
26
  <ItemGroup>
27
- <PackageReference Include="CodeDesignPlus.Net.xUnit.Microservice" Version="0.6.0-beta.10" />
27
+ <PackageReference Include="CodeDesignPlus.Net.xUnit.Microservice" Version="0.6.0-beta.28" />
28
28
  </ItemGroup>
29
29
  <ItemGroup>
30
30
  <ProjectReference Include="..\..\..\src\domain\CodeDesignPlus.Net.Microservice.Infrastructure\CodeDesignPlus.Net.Microservice.Infrastructure.csproj" />
@@ -17,9 +17,9 @@
17
17
  <IncludeAssets>runtime; build; native; contentfiles; analyzers; buildtransitive</IncludeAssets>
18
18
  <PrivateAssets>all</PrivateAssets>
19
19
  </PackageReference>
20
- <PackageReference Include="Microsoft.NET.Test.Sdk" Version="17.12.0" />
20
+ <PackageReference Include="Microsoft.NET.Test.Sdk" Version="17.13.0" />
21
21
  <PackageReference Include="xunit" Version="2.9.3" />
22
- <PackageReference Include="xunit.runner.visualstudio" Version="3.0.1">
22
+ <PackageReference Include="xunit.runner.visualstudio" Version="3.0.2">
23
23
  <IncludeAssets>runtime; build; native; contentfiles; analyzers; buildtransitive</IncludeAssets>
24
24
  <PrivateAssets>all</PrivateAssets>
25
25
  </PackageReference>
@@ -17,10 +17,10 @@
17
17
  <IncludeAssets>runtime; build; native; contentfiles; analyzers; buildtransitive</IncludeAssets>
18
18
  <PrivateAssets>all</PrivateAssets>
19
19
  </PackageReference>
20
- <PackageReference Include="Microsoft.NET.Test.Sdk" Version="17.12.0" />
20
+ <PackageReference Include="Microsoft.NET.Test.Sdk" Version="17.13.0" />
21
21
  <PackageReference Include="Moq" Version="4.20.72" />
22
22
  <PackageReference Include="xunit" Version="2.9.3" />
23
- <PackageReference Include="xunit.runner.visualstudio" Version="3.0.1">
23
+ <PackageReference Include="xunit.runner.visualstudio" Version="3.0.2">
24
24
  <IncludeAssets>runtime; build; native; contentfiles; analyzers; buildtransitive</IncludeAssets>
25
25
  <PrivateAssets>all</PrivateAssets>
26
26
  </PackageReference>
@@ -22,11 +22,11 @@
22
22
  <IncludeAssets>runtime; build; native; contentfiles; analyzers; buildtransitive</IncludeAssets>
23
23
  <PrivateAssets>all</PrivateAssets>
24
24
  </PackageReference>
25
- <PackageReference Include="CodeDesignPlus.Net.xUnit.Microservice" Version="0.6.0-beta.10" />
26
- <PackageReference Include="Microsoft.NET.Test.Sdk" Version="17.12.0" />
25
+ <PackageReference Include="CodeDesignPlus.Net.xUnit.Microservice" Version="0.6.0-beta.28" />
26
+ <PackageReference Include="Microsoft.NET.Test.Sdk" Version="17.13.0" />
27
27
  <PackageReference Include="Moq" Version="4.20.72" />
28
28
  <PackageReference Include="xunit" Version="2.9.3" />
29
- <PackageReference Include="xunit.runner.visualstudio" Version="3.0.1">
29
+ <PackageReference Include="xunit.runner.visualstudio" Version="3.0.2">
30
30
  <IncludeAssets>runtime; build; native; contentfiles; analyzers; buildtransitive</IncludeAssets>
31
31
  <PrivateAssets>all</PrivateAssets>
32
32
  </PackageReference>
@@ -1,3 +1,4 @@
1
+ using CodeDesignPlus.Net.Core.Abstractions.Models.Pager;
1
2
  using CodeDesignPlus.Net.Microservice.Application.Order.Commands.AddProductToOrder;
2
3
  using CodeDesignPlus.Net.Microservice.Application.Order.Commands.CancelOrder;
3
4
  using CodeDesignPlus.Net.Microservice.Application.Order.Commands.CompleteOrder;
@@ -31,7 +32,7 @@ public class OrderControllerTest
31
32
 
32
33
  this.mediator
33
34
  .Setup(x => x.Send(It.IsAny<GetAllOrdersQuery>(), cancellationToken))
34
- .ReturnsAsync([]);
35
+ .ReturnsAsync(Pagination<OrderDto>.Create([], 0, 0, 0));
35
36
 
36
37
  // Act
37
38
  var result = await controller.GetOrders(criteria, cancellationToken);
@@ -17,12 +17,12 @@
17
17
  <IncludeAssets>runtime; build; native; contentfiles; analyzers; buildtransitive</IncludeAssets>
18
18
  <PrivateAssets>all</PrivateAssets>
19
19
  </PackageReference>
20
- <PackageReference Include="CodeDesignPlus.Net.xUnit.Microservice" Version="0.6.0-beta.10" />
20
+ <PackageReference Include="CodeDesignPlus.Net.xUnit.Microservice" Version="0.6.0-beta.28" />
21
21
  <PackageReference Include="Grpc.Core.Testing" Version="2.46.6" />
22
- <PackageReference Include="Microsoft.NET.Test.Sdk" Version="17.12.0" />
22
+ <PackageReference Include="Microsoft.NET.Test.Sdk" Version="17.13.0" />
23
23
  <PackageReference Include="Moq" Version="4.20.72" />
24
24
  <PackageReference Include="xunit" Version="2.9.3" />
25
- <PackageReference Include="xunit.runner.visualstudio" Version="3.0.1">
25
+ <PackageReference Include="xunit.runner.visualstudio" Version="3.0.2">
26
26
  <IncludeAssets>runtime; build; native; contentfiles; analyzers; buildtransitive</IncludeAssets>
27
27
  <PrivateAssets>all</PrivateAssets>
28
28
  </PackageReference>
@@ -11,7 +11,7 @@ $report = "tests/**/coverage.opencover.xml"
11
11
  $server = "http://localhost:9000"
12
12
  $token = "sqa_12f3d20d51de2b4c9639db0035d1c68dc4f2fff1"
13
13
 
14
- cd ..
14
+ cd ../..
15
15
  dotnet test $csproj /p:CollectCoverage=true /p:CoverletOutputFormat=opencover
16
16
  dotnet sonarscanner begin /o:$org /k:$key /d:sonar.host.url=$server /d:sonar.coverage.exclusions="**Tests*.cs,**/tests/load/*.js" /d:sonar.cs.opencover.reportsPaths=$report /d:sonar.login=$token
17
17
  dotnet build
package/package.json CHANGED
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "name": "generator-codedesignplus",
3
- "version": "0.3.2-alpha.1",
3
+ "version": "0.4.0-beta.2",
4
4
  "description": "Yeoman generator for creating microservices based on the CodeDesignPlus.Net.Microservice archetype.",
5
5
  "private": false,
6
6
  "main": "generators/index.mjs",