From 41900e8e068851879c2b41762f35aa182a918b5e Mon Sep 17 00:00:00 2001 From: Developer 02 Date: Tue, 27 Aug 2024 14:41:39 +0200 Subject: [PATCH] =?UTF-8?q?test:=20TestBuilder=20f=C3=BCr=20einfache=20DI-?= =?UTF-8?q?Konfiguration=20in=20xUnit-Tests=20hinzuf=C3=BCgen?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit - `TestBuilder`-Klasse erstellt, um die Einrichtung der Abhängigkeitsinjektion für Unit-Tests zu vereinfachen. - `TestBuilder` so konfiguriert, dass Dienstregistrierungen und Datenbankkontext enthalten sind. - `TestBuilder` in das Test-Framework integriert, um eine einfache Bereitstellung von Diensten und Controllern zu ermöglichen. --- XUnitDAL.Test/TestBuilder.cs | 39 ++++++++++ XUnitDAL.Test/Test_Controller_Entity.cs | 94 ++++++++--------------- XUnitDAL.Test/Test_Controller_Filter.cs | 64 ++++++--------- XUnitDAL.Test/_Shared/Shared_Test_DAL.cs | 50 ++++++------ XUnitDAL.Test/_Shared/Shared_Test_LDAP.cs | 17 ++-- 5 files changed, 132 insertions(+), 132 deletions(-) create mode 100644 XUnitDAL.Test/TestBuilder.cs diff --git a/XUnitDAL.Test/TestBuilder.cs b/XUnitDAL.Test/TestBuilder.cs new file mode 100644 index 0000000..5463fa3 --- /dev/null +++ b/XUnitDAL.Test/TestBuilder.cs @@ -0,0 +1,39 @@ +using DAL; +using Microsoft.EntityFrameworkCore; +using Microsoft.Extensions.DependencyInjection; +using StaffDBServer.Controllers; +using StaffDBServer.SharedControllers; + +namespace XUnitWebApi.Test +{ + public class TestBuilder + { + private readonly ServiceCollection _services = new(); + + public ServiceCollection Services => !_lazyProvider.IsValueCreated + ? _services + : throw new InvalidOperationException("Service provider has already been created."); + + private readonly Lazy _lazyProvider; + + public IServiceProvider Provider => _lazyProvider.Value; + + public TestBuilder() + { + Services.AddStaffDBRepositories(); + Services.AddScoped(); + Services.AddDbContext(options => + { + const int dbTimeoutInMin = 5; + options.UseSqlServer( + "Server=SDD-VMP04-SQL17\\DD_DEVELOP01;Database=DD_ECM;User Id=sa;Password=dd;Encrypt=false;TrustServerCertificate=True;", + opts => opts.CommandTimeout((int)TimeSpan.FromMinutes(dbTimeoutInMin).TotalSeconds)); + }); + Services.AddSingleton(); + + _lazyProvider = new(Services.BuildServiceProvider); + } + + public void ForceBuild() => _ = Provider; + } +} \ No newline at end of file diff --git a/XUnitDAL.Test/Test_Controller_Entity.cs b/XUnitDAL.Test/Test_Controller_Entity.cs index eb1b945..a157971 100644 --- a/XUnitDAL.Test/Test_Controller_Entity.cs +++ b/XUnitDAL.Test/Test_Controller_Entity.cs @@ -1,13 +1,14 @@ using DAL.Repositories; using Microsoft.AspNetCore.Http; -using NLog.Filters; +using Microsoft.Extensions.DependencyInjection; using StaffDBServer.Controllers; using Xunit; using XUnitWebApi.SharedConfig; +using XUnitWebApi.Test; namespace XUnitWebApi.Controller { - public class Test_Controller_Entity + public class Test_Controller_Entity : TestBuilder { //----Check_GetEntityController @@ -19,8 +20,7 @@ namespace XUnitWebApi.Controller try { int entityId = 1; - SubsidiaryRepository repository = new SubsidiaryRepository(); - SubsidiaryController controller = new SubsidiaryController(repository); + var controller = Provider.GetService(); dynamic result = await controller.GetEntityAsync(entityId); Assert.NotNull(result); Assert.Equal(StatusCodes.Status200OK, result.Result.StatusCode); @@ -43,8 +43,7 @@ namespace XUnitWebApi.Controller try { int entityId = 49; - WindreamInputFolderRepository repository = new WindreamInputFolderRepository(); - WindreamInputFolderController controller = new WindreamInputFolderController(repository); + var controller = Provider.GetService(); dynamic result = await controller.GetEntityAsync(entityId); Assert.NotNull(result); Assert.Equal(StatusCodes.Status200OK, result.Result.StatusCode); @@ -67,8 +66,7 @@ namespace XUnitWebApi.Controller try { int entityId = 1; - WindreamSearchToDepartmentRepository repository = new WindreamSearchToDepartmentRepository(); - WindreamSearchToDepartmentController controller = new WindreamSearchToDepartmentController(repository); + var controller = Provider.GetService(); dynamic result = await controller.GetEntityAsync(entityId); Assert.NotNull(result); Assert.Equal(StatusCodes.Status200OK, result.Result.StatusCode); @@ -91,8 +89,7 @@ namespace XUnitWebApi.Controller try { int entityId = 1; - WindreamSearchItemToWindreamSearchToDepartmentRepository repository = new WindreamSearchItemToWindreamSearchToDepartmentRepository(); - WindreamSearchItemToWindreamSearchToDepartmentController controller = new WindreamSearchItemToWindreamSearchToDepartmentController(repository); + var controller = Provider.GetService(); dynamic result = await controller.GetEntityAsync(entityId); Assert.NotNull(result); Assert.Equal(StatusCodes.Status200OK, result.Result.StatusCode); @@ -115,8 +112,7 @@ namespace XUnitWebApi.Controller try { int entityId = 1; - WindreamSearchItemRepository repository = new WindreamSearchItemRepository(); - WindreamSearchItemController controller = new WindreamSearchItemController(repository); + var controller = Provider.GetService(); dynamic result = await controller.GetEntityAsync(entityId); Assert.NotNull(result); Assert.Equal(StatusCodes.Status200OK, result.Result.StatusCode); @@ -139,8 +135,7 @@ namespace XUnitWebApi.Controller try { int entityId = 1; - WindreamSearchRepository repository = new WindreamSearchRepository(); - WindreamSearchController controller = new WindreamSearchController(repository); + var controller = Provider.GetService(); dynamic result = await controller.GetEntityAsync(entityId); Assert.NotNull(result); Assert.Equal(StatusCodes.Status200OK, result.Result.StatusCode); @@ -163,8 +158,7 @@ namespace XUnitWebApi.Controller try { int entityId = 1; - WindreamIndexToWindreamSearchToDepartmentRepository repository = new WindreamIndexToWindreamSearchToDepartmentRepository(); - WindreamIndexToWindreamSearchToDepartmentController controller = new WindreamIndexToWindreamSearchToDepartmentController(repository); + var controller = Provider.GetService(); dynamic result = await controller.GetEntityAsync(entityId); Assert.NotNull(result); Assert.Equal(StatusCodes.Status200OK, result.Result.StatusCode); @@ -187,8 +181,7 @@ namespace XUnitWebApi.Controller try { int entityId = 1; - WindreamIndexRepository repository = new WindreamIndexRepository(); - WindreamIndexController controller = new WindreamIndexController(repository); + var controller = Provider.GetService(); dynamic result = await controller.GetEntityAsync(entityId); Assert.NotNull(result); Assert.Equal(StatusCodes.Status200OK, result.Result.StatusCode); @@ -211,8 +204,7 @@ namespace XUnitWebApi.Controller try { int entityId = 1; - WindreamColumnsToDepartmentRepository repository = new WindreamColumnsToDepartmentRepository(); - WindreamColumnsToDepartmentController controller = new WindreamColumnsToDepartmentController(repository); + var controller = Provider.GetService(); dynamic result = await controller.GetEntityAsync(entityId); Assert.NotNull(result); Assert.Equal(StatusCodes.Status200OK, result.Result.StatusCode); @@ -235,8 +227,7 @@ namespace XUnitWebApi.Controller try { int entityId = 2; - WebAppToWebAppRoleRepository repository = new WebAppToWebAppRoleRepository(); - WebAppToWebAppRoleController controller = new WebAppToWebAppRoleController(repository); + var controller = Provider.GetService(); dynamic result = await controller.GetEntityAsync(entityId); Assert.NotNull(result); Assert.Equal(StatusCodes.Status200OK, result.Result.StatusCode); @@ -259,8 +250,7 @@ namespace XUnitWebApi.Controller try { int entityId = 70; - WebAppToWebAppAdditionalRoleRepository repository = new WebAppToWebAppAdditionalRoleRepository(); - WebAppToWebAppAdditionalRoleController controller = new WebAppToWebAppAdditionalRoleController(repository); + var controller = Provider.GetService(); dynamic result = await controller.GetEntityAsync(entityId); Assert.NotNull(result); Assert.Equal(StatusCodes.Status200OK, result.Result.StatusCode); @@ -283,8 +273,7 @@ namespace XUnitWebApi.Controller try { int entityId = 100; - WebAppToDepartmentRepository repository = new WebAppToDepartmentRepository(); - WebAppToDepartmentController controller = new WebAppToDepartmentController(repository); + var controller = Provider.GetService(); dynamic result = await controller.GetEntityAsync(entityId); Assert.NotNull(result); Assert.Equal(StatusCodes.Status200OK, result.Result.StatusCode); @@ -307,8 +296,7 @@ namespace XUnitWebApi.Controller try { int entityId = 1; - WebAppAdditionalRoleRepository repository = new WebAppAdditionalRoleRepository(); - WebAppAdditionalRoleController controller = new WebAppAdditionalRoleController(repository); + var controller = Provider.GetService(); dynamic result = await controller.GetEntityAsync(entityId); Assert.NotNull(result); Assert.Equal(StatusCodes.Status200OK, result.Result.StatusCode); @@ -331,8 +319,7 @@ namespace XUnitWebApi.Controller try { int entityId = 300; - EmployeeToWebAppRepository repository = new EmployeeToWebAppRepository(); - EmployeeToWebAppController controller = new EmployeeToWebAppController(repository); + var controller = Provider.GetService(); dynamic result = await controller.GetEntityAsync(entityId); Assert.NotNull(result); Assert.Equal(StatusCodes.Status200OK, result.Result.StatusCode); @@ -355,8 +342,7 @@ namespace XUnitWebApi.Controller try { int entityId = 1; - EmployeeToDepartmentRepository repository = new EmployeeToDepartmentRepository(); - EmployeeToDepartmentController controller = new EmployeeToDepartmentController(repository); + var controller = Provider.GetService(); dynamic result = await controller.GetEntityAsync(entityId); Assert.NotNull(result); Assert.Equal(StatusCodes.Status200OK, result.Result.StatusCode); @@ -379,8 +365,7 @@ namespace XUnitWebApi.Controller try { int entityId = 100; - EmployeeToAttributeRepository repository = new EmployeeToAttributeRepository(); - EmployeeToAttributeController controller = new EmployeeToAttributeController(repository); + var controller = Provider.GetService(); dynamic result = await controller.GetEntityAsync(entityId); Assert.NotNull(result); Assert.Equal(StatusCodes.Status200OK, result.Result.StatusCode); @@ -403,8 +388,7 @@ namespace XUnitWebApi.Controller try { int entityId = 1; - EmployeeRepository repository = new EmployeeRepository(); - EmployeeController controller = new EmployeeController(repository); + var controller = Provider.GetService(); dynamic result = await controller.GetEntityAsync(entityId); Assert.NotNull(result); Assert.Equal(StatusCodes.Status200OK, result.Result.StatusCode); @@ -427,8 +411,7 @@ namespace XUnitWebApi.Controller try { int entityId = 1; - DocumentArtToDepartmentRepository repository = new DocumentArtToDepartmentRepository(); - DocumentArtToDepartmentController controller = new DocumentArtToDepartmentController(repository); + var controller = Provider.GetService(); dynamic result = await controller.GetEntityAsync(entityId); Assert.NotNull(result); Assert.Equal(StatusCodes.Status200OK, result.Result.StatusCode); @@ -451,8 +434,7 @@ namespace XUnitWebApi.Controller try { int entityId = 1; - DepartmentToWebAppToEmployeeForWindreamRepository repository = new DepartmentToWebAppToEmployeeForWindreamRepository(); - DepartmentToWebAppToEmployeeForWindreamController controller = new DepartmentToWebAppToEmployeeForWindreamController(repository); + var controller = Provider.GetService(); dynamic result = await controller.GetEntityAsync(entityId); Assert.NotNull(result); Assert.Equal(StatusCodes.Status200OK, result.Result.StatusCode); @@ -475,8 +457,7 @@ namespace XUnitWebApi.Controller try { int entityId = 10; - WebAppRoleRepository repository = new WebAppRoleRepository(); - WebAppRoleController controller = new WebAppRoleController(repository); + var controller = Provider.GetService(); dynamic result = await controller.GetEntityAsync(entityId); Assert.NotNull(result); Assert.Equal(StatusCodes.Status200OK, result.Result.StatusCode); @@ -499,8 +480,7 @@ namespace XUnitWebApi.Controller try { int entityId = 1; - WebAppRepository repository = new WebAppRepository(); - WebAppController controller = new WebAppController(repository); + var controller = Provider.GetService(); dynamic result = await controller.GetEntityAsync(entityId); Assert.NotNull(result); Assert.Equal(StatusCodes.Status200OK, result.Result.StatusCode); @@ -523,8 +503,7 @@ namespace XUnitWebApi.Controller try { int entityId = 1; - RangRepository repository = new RangRepository(); - RangController controller = new RangController(repository); + var controller = Provider.GetService(); dynamic result = await controller.GetEntityAsync(entityId); Assert.NotNull(result); Assert.Equal(StatusCodes.Status200OK, result.Result.StatusCode); @@ -547,8 +526,7 @@ namespace XUnitWebApi.Controller try { int entityId = 1; - ProjectRepository repository = new ProjectRepository(); - ProjectController controller = new ProjectController(repository); + var controller = Provider.GetService(); dynamic result = await controller.GetEntityAsync(entityId); Assert.NotNull(result); Assert.Equal(StatusCodes.Status200OK, result.Result.StatusCode); @@ -571,8 +549,7 @@ namespace XUnitWebApi.Controller try { int entityId = 1; - EmployeeStatusRepository repository = new EmployeeStatusRepository(); - EmployeeStatusController controller = new EmployeeStatusController(repository); + var controller = Provider.GetService(); dynamic result = await controller.GetEntityAsync(entityId); Assert.NotNull(result); Assert.Equal(StatusCodes.Status200OK, result.Result.StatusCode); @@ -595,8 +572,7 @@ namespace XUnitWebApi.Controller try { int entityId = 1; - EmployeeAttributeRepository repository = new EmployeeAttributeRepository(); - EmployeeAttributeController controller = new EmployeeAttributeController(repository); + var controller = Provider.GetService(); dynamic result = await controller.GetEntityAsync(entityId); Assert.NotNull(result); Assert.Equal(StatusCodes.Status200OK, result.Result.StatusCode); @@ -619,8 +595,7 @@ namespace XUnitWebApi.Controller try { int entityId = 1; - DocumentArtRepository repository = new DocumentArtRepository(); - DocumentArtController controller = new DocumentArtController(repository); + var controller = Provider.GetService(); dynamic result = await controller.GetEntityAsync(entityId); Assert.NotNull(result); Assert.Equal(StatusCodes.Status200OK, result.Result.StatusCode); @@ -643,8 +618,7 @@ namespace XUnitWebApi.Controller try { int entityId = 1; - DepartmentRepository repository = new DepartmentRepository(); - DepartmentController controller = new DepartmentController(repository); + var controller = Provider.GetService(); dynamic result = await controller.GetEntityAsync(entityId); Assert.NotNull(result); Assert.Equal(StatusCodes.Status200OK, result.Result.StatusCode); @@ -667,8 +641,7 @@ namespace XUnitWebApi.Controller try { int entityId = 100; - CostCentreRepository repository = new CostCentreRepository(); - CostCentreController controller = new CostCentreController(repository); + var controller = Provider.GetService(); dynamic result = await controller.GetEntityAsync(entityId); Assert.NotNull(result); Assert.Equal(StatusCodes.Status200OK, result.Result.StatusCode); @@ -692,7 +665,7 @@ namespace XUnitWebApi.Controller try { int entityId = 272; - var repo = new EmployeeRepository(); + var repo = Provider.GetService(); var entity= await repo.GetByIdAsync(entityId); entity.PhoneNo = "1234"; await repo.SaveChangesAsync(); @@ -711,8 +684,7 @@ namespace XUnitWebApi.Controller try { int entityId = 1; - AdWebAppToWebAppRoleRepository repository = new AdWebAppToWebAppRoleRepository(); - AdWebAppToWebAppRoleController controller = new AdWebAppToWebAppRoleController(repository); + var controller = Provider.GetService(); dynamic result = await controller.GetEntityAsync(entityId); Assert.NotNull(result); Assert.Equal(StatusCodes.Status200OK, result.Result.StatusCode); diff --git a/XUnitDAL.Test/Test_Controller_Filter.cs b/XUnitDAL.Test/Test_Controller_Filter.cs index 2d2de34..96d0614 100644 --- a/XUnitDAL.Test/Test_Controller_Filter.cs +++ b/XUnitDAL.Test/Test_Controller_Filter.cs @@ -1,13 +1,15 @@ using DAL.Models.Filters; using DAL.Repositories; using Microsoft.AspNetCore.Http; +using Microsoft.Extensions.DependencyInjection; using StaffDBServer.Controllers; using Xunit; using XUnitWebApi.SharedConfig; +using XUnitWebApi.Test; namespace XUnitWebApi.Controller { - public class Test_Controller_Filter + public class Test_Controller_Filter : TestBuilder { //----Check_GetEntityFilteredListController @@ -20,8 +22,7 @@ namespace XUnitWebApi.Controller { WindreamInputFolderFilter filter = new WindreamInputFolderFilter(); filter.ClientId = 24110; - WindreamInputFolderRepository repository = new WindreamInputFolderRepository(); - WindreamInputFolderController controller = new WindreamInputFolderController(repository); + var controller = Provider.GetRequiredService(); dynamic result = await controller.GetWindreamInputFolderListAsync(filter); Assert.NotNull(result); Assert.Equal(StatusCodes.Status200OK, result.StatusCode); @@ -46,8 +47,7 @@ namespace XUnitWebApi.Controller { DepartmentFilter filter = new DepartmentFilter(); filter.DepartmentId = 16; - WindreamSearchToDepartmentRepository repository = new WindreamSearchToDepartmentRepository(); - WindreamSearchToDepartmentController controller = new WindreamSearchToDepartmentController(repository); + var controller = Provider.GetRequiredService(); dynamic result = await controller.GetWindreamSearchToDepartmentListAsync(filter); Assert.NotNull(result); Assert.Equal(StatusCodes.Status200OK, result.StatusCode); @@ -72,8 +72,7 @@ namespace XUnitWebApi.Controller { WindreamSearchToDepartmentFilter filter = new WindreamSearchToDepartmentFilter(); filter.DepartmentId = 16; - WindreamSearchItemToWindreamSearchToDepartmentRepository repository = new WindreamSearchItemToWindreamSearchToDepartmentRepository(); - WindreamSearchItemToWindreamSearchToDepartmentController controller = new WindreamSearchItemToWindreamSearchToDepartmentController(repository); + var controller = Provider.GetRequiredService(); dynamic result = await controller.GetWindreamSearchItemToWindreamSearchToDepartmentListAsync(filter); Assert.NotNull(result); Assert.Equal(StatusCodes.Status200OK, result.StatusCode); @@ -98,8 +97,7 @@ namespace XUnitWebApi.Controller { ClientIdFilter filter = new ClientIdFilter(); filter.ClientId = 24110; - WindreamSearchItemRepository repository = new WindreamSearchItemRepository(); - WindreamSearchItemController controller = new WindreamSearchItemController(repository); + var controller = Provider.GetRequiredService(); dynamic result = await controller.GetWindreamSearchItemListAsync(filter); Assert.NotNull(result); Assert.Equal(StatusCodes.Status200OK, result.StatusCode); @@ -124,8 +122,7 @@ namespace XUnitWebApi.Controller { ClientIdFilter filter = new ClientIdFilter(); filter.ClientId = 24110; - WindreamSearchRepository repository = new WindreamSearchRepository(); - WindreamSearchController controller = new WindreamSearchController(repository); + var controller = Provider.GetRequiredService(); dynamic result = await controller.GetWindreamSearchListAsync(filter); Assert.NotNull(result); Assert.Equal(StatusCodes.Status200OK, result.StatusCode); @@ -150,8 +147,7 @@ namespace XUnitWebApi.Controller { WindreamSearchToDepartmentFilter filter = new WindreamSearchToDepartmentFilter(); filter.DepartmentId = 16; - WindreamIndexToWindreamSearchToDepartmentRepository repository = new WindreamIndexToWindreamSearchToDepartmentRepository(); - WindreamIndexToWindreamSearchToDepartmentController controller = new WindreamIndexToWindreamSearchToDepartmentController(repository); + var controller = Provider.GetRequiredService(); dynamic result = await controller.GetWindreamIndexToWindreamSearchToDepartmentListAsync(filter); Assert.NotNull(result); Assert.Equal(StatusCodes.Status200OK, result.StatusCode); @@ -176,8 +172,7 @@ namespace XUnitWebApi.Controller { ClientIdFilter filter = new ClientIdFilter(); filter.ClientId = 24110; - WindreamIndexRepository repository = new WindreamIndexRepository(); - WindreamIndexController controller = new WindreamIndexController(repository); + var controller = Provider.GetRequiredService(); dynamic result = await controller.GetWindreamIndexListAsync(filter); Assert.NotNull(result); Assert.Equal(StatusCodes.Status200OK, result.StatusCode); @@ -202,8 +197,7 @@ namespace XUnitWebApi.Controller { DepartmentFilter filter = new DepartmentFilter(); filter.DepartmentId = 16; - WindreamColumnsToDepartmentRepository repository = new WindreamColumnsToDepartmentRepository(); - WindreamColumnsToDepartmentController controller = new WindreamColumnsToDepartmentController(repository); + var controller = Provider.GetRequiredService(); dynamic result = await controller.GetWindreamColumnsToDepartmentListAsync(filter); Assert.NotNull(result); Assert.Equal(StatusCodes.Status200OK, result.StatusCode); @@ -228,8 +222,7 @@ namespace XUnitWebApi.Controller { WebAppFilter filter = new WebAppFilter(); filter.WebAppId = 1; - WebAppToWebAppRoleRepository repository = new WebAppToWebAppRoleRepository(); - WebAppToWebAppRoleController controller = new WebAppToWebAppRoleController(repository); + var controller = Provider.GetRequiredService(); dynamic result = await controller.GetWebAppToWebAppRoleListAsync(filter); Assert.NotNull(result); Assert.Equal(StatusCodes.Status200OK, result.StatusCode); @@ -254,8 +247,7 @@ namespace XUnitWebApi.Controller { EmployeeToWebAppFilter filter = new EmployeeToWebAppFilter(); filter.EmployeeToWebAppId = 73; - WebAppToWebAppAdditionalRoleRepository repository = new WebAppToWebAppAdditionalRoleRepository(); - WebAppToWebAppAdditionalRoleController controller = new WebAppToWebAppAdditionalRoleController(repository); + var controller = Provider.GetRequiredService(); dynamic result = await controller.GetWebAppToWebAppAdditionalRoleListAsync(filter); Assert.NotNull(result); Assert.Equal(StatusCodes.Status200OK, result.StatusCode); @@ -280,8 +272,7 @@ namespace XUnitWebApi.Controller { EmployeeToWebAppFilter filter = new EmployeeToWebAppFilter(); filter.EmployeeToWebAppId = 39; - WebAppToDepartmentRepository repository = new WebAppToDepartmentRepository(); - WebAppToDepartmentController controller = new WebAppToDepartmentController(repository); + var controller = Provider.GetRequiredService(); dynamic result = await controller.GetWebAppToDepartmentListAsync(filter); Assert.NotNull(result); Assert.Equal(StatusCodes.Status200OK, result.StatusCode); @@ -306,8 +297,7 @@ namespace XUnitWebApi.Controller { WebAppFilter filter = new WebAppFilter(); filter.WebAppId = 3; - WebAppAdditionalRoleRepository repository = new WebAppAdditionalRoleRepository(); - WebAppAdditionalRoleController controller = new WebAppAdditionalRoleController(repository); + var controller = Provider.GetRequiredService(); dynamic result = await controller.GetWebAppAdditionalRoleListAsync(filter); Assert.NotNull(result); Assert.Equal(StatusCodes.Status200OK, result.StatusCode); @@ -332,8 +322,7 @@ namespace XUnitWebApi.Controller { EmployeeFilter filter = new EmployeeFilter(); filter.LoginName = "y.kochetenko"; - EmployeeToWebAppRepository repository = new EmployeeToWebAppRepository(); - EmployeeToWebAppController controller = new EmployeeToWebAppController(repository); + var controller = Provider.GetRequiredService(); dynamic result = await controller.GetEmployeeToWebAppListAsync(filter); Assert.NotNull(result); Assert.Equal(StatusCodes.Status200OK, result.StatusCode); @@ -358,8 +347,7 @@ namespace XUnitWebApi.Controller { EmployeeFilter filter = new EmployeeFilter(); filter.EmployeeId = 29; - EmployeeToDepartmentRepository repository = new EmployeeToDepartmentRepository(); - EmployeeToDepartmentController controller = new EmployeeToDepartmentController(repository); + var controller = Provider.GetRequiredService(); dynamic result = await controller.GetEmployeeToDepartmentListAsync(filter); Assert.NotNull(result); Assert.Equal(StatusCodes.Status200OK, result.StatusCode); @@ -384,8 +372,7 @@ namespace XUnitWebApi.Controller { EmployeeFilter filter = new EmployeeFilter(); filter.EmployeeId = 29; - EmployeeToAttributeRepository repository = new EmployeeToAttributeRepository(); - EmployeeToAttributeController controller = new EmployeeToAttributeController(repository); + var controller = Provider.GetRequiredService(); dynamic result = await controller.GetEmployeeToAttributeListAsync(filter); Assert.NotNull(result); Assert.Equal(StatusCodes.Status200OK, result.StatusCode); @@ -410,8 +397,7 @@ namespace XUnitWebApi.Controller { EmployeeFullFilter filter = new EmployeeFullFilter(); filter.ClientId = 24110; - EmployeeRepository repository = new EmployeeRepository(); - EmployeeController controller = new EmployeeController(repository); + var controller = Provider.GetRequiredService(); dynamic result = await controller.GetEmployeeListAsync(filter); Assert.NotNull(result); Assert.Equal(StatusCodes.Status200OK, result.StatusCode); @@ -436,8 +422,7 @@ namespace XUnitWebApi.Controller { EmployeeFullFilter filter = new EmployeeFullFilter(); filter.IsActive = false; - EmployeeRepository repository = new EmployeeRepository(); - EmployeeController controller = new EmployeeController(repository); + var controller = Provider.GetRequiredService(); dynamic result = await controller.GetEmployeeListAsync(filter); Assert.NotNull(result); Assert.Equal(StatusCodes.Status200OK, result.StatusCode); @@ -462,8 +447,7 @@ namespace XUnitWebApi.Controller { EmployeeFullFilter filter = new EmployeeFullFilter(); filter.Name = ""; - EmployeeRepository repository = new EmployeeRepository(); - EmployeeController controller = new EmployeeController(repository); + var controller = Provider.GetRequiredService(); dynamic result = await controller.GetEmployeeListAsync(filter); Assert.NotNull(result); Assert.Equal(StatusCodes.Status200OK, result.StatusCode); @@ -488,8 +472,7 @@ namespace XUnitWebApi.Controller { DepartmentFilter filter = new DepartmentFilter(); filter.DepartmentId = 16; - DocumentArtToDepartmentRepository repository = new DocumentArtToDepartmentRepository(); - DocumentArtToDepartmentController controller = new DocumentArtToDepartmentController(repository); + var controller = Provider.GetRequiredService(); dynamic result = await controller.GetDocumentArtToDepartmentListAsync(filter); Assert.NotNull(result); Assert.Equal(StatusCodes.Status200OK, result.StatusCode); @@ -514,8 +497,7 @@ namespace XUnitWebApi.Controller { EmployeeFilter filter = new EmployeeFilter(); filter.EmployeeId = 29; - DepartmentToWebAppToEmployeeForWindreamRepository repository = new DepartmentToWebAppToEmployeeForWindreamRepository(); - DepartmentToWebAppToEmployeeForWindreamController controller = new DepartmentToWebAppToEmployeeForWindreamController(repository); + var controller = Provider.GetRequiredService(); dynamic result = await controller.GetDepartmentToWebAppToEmployeeForWindreamListAsync(filter); Assert.NotNull(result); Assert.Equal(StatusCodes.Status200OK, result.StatusCode); diff --git a/XUnitDAL.Test/_Shared/Shared_Test_DAL.cs b/XUnitDAL.Test/_Shared/Shared_Test_DAL.cs index 97c5945..a873ff4 100644 --- a/XUnitDAL.Test/_Shared/Shared_Test_DAL.cs +++ b/XUnitDAL.Test/_Shared/Shared_Test_DAL.cs @@ -1,20 +1,22 @@ using DAL; using DAL._Shared.SharedRepositories; using HRD.WebApi; +using Microsoft.Extensions.DependencyInjection; using System.Reflection; using Xunit; using XUnitWebApi.SharedConfig; using XUnitWebApi.SharedUtils; +using XUnitWebApi.Test; namespace XUnitWebApi.SahredDAL { - public class Shared_Test_DAL + public class Shared_Test_DAL : TestBuilder { [Fact] public async System.Threading.Tasks.Task Check_Repository_XXXAsync() { Shared_Test_Config.Init_Webapi_Context(); - WebAppUserRepository webAppUserRepository = new WebAppUserRepository(); + WebAppUserRepository webAppUserRepository = Provider.GetRequiredService(); var res = await webAppUserRepository.TakeListAsync(2); Assert.NotEmpty(res); @@ -51,34 +53,34 @@ namespace XUnitWebApi.SahredDAL List ExceptionList = new List(); - using WebApiContext ctx = new WebApiContext(); - { - Assert.True(ctx.Database.CanConnect()); - var typeList = TestHelper.GetAllRepositories(namespaceName); + WebApiContext ctx = Provider.GetRequiredService(); + + Assert.True(ctx.Database.CanConnect()); + var typeList = TestHelper.GetAllRepositories(namespaceName); - foreach (var item in typeList) + foreach (var item in typeList) + { + try { - try - { - if (repositoryName == "" || item.Name.Contains(repositoryName)) - { - Type type = item as Type; - entityName = type.Name; - object instance = Activator.CreateInstance(type); - MethodInfo takeListMethod = type.GetMethod("TakeList"); - dynamic list = takeListMethod.Invoke(instance, new object[] { count, true }); - System.Diagnostics.Debug.WriteLine(entityName); - Assert.NotNull(list); - Assert.Equal(count, list.Count); - } - } - catch (Exception ex) + if (repositoryName == "" || item.Name.Contains(repositoryName)) { - Console.WriteLine(ex.Message); - ExceptionList.Add($"Entity: {entityName} " + ex.Message + " " + ex.InnerException); + Type type = item as Type; + entityName = type.Name; + object instance = Activator.CreateInstance(type); + MethodInfo takeListMethod = type.GetMethod("TakeList"); + dynamic list = takeListMethod.Invoke(instance, new object[] { count, true }); + System.Diagnostics.Debug.WriteLine(entityName); + Assert.NotNull(list); + Assert.Equal(count, list.Count); } } + catch (Exception ex) + { + Console.WriteLine(ex.Message); + ExceptionList.Add($"Entity: {entityName} " + ex.Message + " " + ex.InnerException); + } } + var errList = ""; foreach (var item in ExceptionList) errList += "\r\n -- " + item; if (ExceptionList.Count > 0) throw new Exception(errList); diff --git a/XUnitDAL.Test/_Shared/Shared_Test_LDAP.cs b/XUnitDAL.Test/_Shared/Shared_Test_LDAP.cs index 6493872..dd6d27b 100644 --- a/XUnitDAL.Test/_Shared/Shared_Test_LDAP.cs +++ b/XUnitDAL.Test/_Shared/Shared_Test_LDAP.cs @@ -2,13 +2,15 @@ using DAL._Shared.SharedRepositories; using HRD.LDAPService; using HRD.LDAPService.JWT; +using Microsoft.Extensions.DependencyInjection; using StaffDBServer.SharedControllers; using Xunit; using XUnitWebApi.SharedConfig; +using XUnitWebApi.Test; namespace XUnitWebApi.SharedLDAP { - public class Shared_Test_LDAP + public class Shared_Test_LDAP : TestBuilder { [Theory] [InlineData("user", "pwd")] @@ -26,15 +28,16 @@ namespace XUnitWebApi.SharedLDAP login); userFromClient.Password = passwort; - WebAppEmployeeInfoRepository webAppEmployeeInfoRepository = new WebAppEmployeeInfoRepository(); + WebAppEmployeeInfoRepository webAppEmployeeInfoRepository = Provider.GetRequiredService(); WebAppEmployeeInfo webAppEmployeeInfo = await webAppEmployeeInfoRepository.GetByAsync(x => x.LoginName == userFromClient.LoginName); Assert.NotNull(webAppEmployeeInfo); - WebAppUserHelper webAppUserHelper = new WebAppUserHelper(); + WebAppUserHelper webAppUserHelper = Provider.GetRequiredService(); LdapUser ldapUserFromClient = new LdapUser(userFromClient.LoginName, webAppEmployeeInfo.EmployeeId, userFromClient.Password, webAppEmployeeInfo.DepartmentId, webAppEmployeeInfo.ExtendedDepartmentIdList); Assert.NotNull(ldapUserFromClient); - bool ldapUserOk = JwtManager.GenerateLdapUserWithJwtToken(ldapUserFromClient); + var jwtManager = Provider.GetRequiredService(); + bool ldapUserOk = jwtManager.GenerateLdapUserWithJwtToken(ldapUserFromClient); Assert.True(ldapUserOk); WebAppUser newUser = await webAppUserHelper.CheckLoginWithNameAndPasswordAsync(userFromClient); @@ -55,7 +58,8 @@ namespace XUnitWebApi.SharedLDAP try { LdapUser ldapUser = new LdapUser(login, 0, passwort); - var result = LdapAuthenticationService.CheckAndUpdateIdentityWithPassword(ldapUser); + var ldapAuthenticationService = Provider.GetRequiredService(); + var result = ldapAuthenticationService.CheckAndUpdateIdentityWithPassword(ldapUser); Assert.True(result); } @@ -71,7 +75,8 @@ namespace XUnitWebApi.SharedLDAP { try { - var result = LdapAuthenticationService.CheckAndUpdateIdentityWithPassword(ldapUser); + var ldapAuthenticationService = Provider.GetRequiredService(); + var result = ldapAuthenticationService.CheckAndUpdateIdentityWithPassword(ldapUser); Assert.True(result); }