test: TestBuilder für einfache DI-Konfiguration in xUnit-Tests hinzufügen

- `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.
This commit is contained in:
Developer 02 2024-08-27 14:41:39 +02:00
parent c362cb30e1
commit 41900e8e06
5 changed files with 132 additions and 132 deletions

View File

@ -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<IServiceProvider> _lazyProvider;
public IServiceProvider Provider => _lazyProvider.Value;
public TestBuilder()
{
Services.AddStaffDBRepositories();
Services.AddScoped<WebAppUserHelper>();
Services.AddDbContext<WebApiContext>(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<SubsidiaryController>();
_lazyProvider = new(Services.BuildServiceProvider);
}
public void ForceBuild() => _ = Provider;
}
}

View File

@ -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<SubsidiaryController>();
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<WindreamInputFolderController>();
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<WindreamSearchToDepartmentController>();
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<WindreamSearchItemToWindreamSearchToDepartmentController>();
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<WindreamSearchItemController>();
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<WindreamSearchController>();
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<WindreamIndexToWindreamSearchToDepartmentController>();
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<WindreamIndexController>();
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<WindreamColumnsToDepartmentController>();
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<WebAppToWebAppRoleController>();
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<WebAppToWebAppAdditionalRoleController>();
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<WebAppToDepartmentController>();
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<WebAppAdditionalRoleController>();
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<EmployeeToWebAppController>();
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<EmployeeToDepartmentController>();
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<EmployeeToAttributeController>();
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<EmployeeController>();
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<DocumentArtToDepartmentController>();
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<DepartmentToWebAppToEmployeeForWindreamController>();
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<WebAppRoleController>();
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<WebAppController>();
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<RangController>();
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<ProjectController>();
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<EmployeeStatusController>();
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<EmployeeAttributeController>();
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<DocumentArtController>();
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<DepartmentController>();
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<CostCentreController>();
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<EmployeeRepository>();
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<AdWebAppToWebAppRoleController>();
dynamic result = await controller.GetEntityAsync(entityId);
Assert.NotNull(result);
Assert.Equal(StatusCodes.Status200OK, result.Result.StatusCode);

View File

@ -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<WindreamInputFolderController>();
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<WindreamSearchToDepartmentController>();
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<WindreamSearchItemToWindreamSearchToDepartmentController>();
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<WindreamSearchItemController>();
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<WindreamSearchController>();
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<WindreamIndexToWindreamSearchToDepartmentController>();
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<WindreamIndexController>();
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<WindreamColumnsToDepartmentController>();
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<WebAppToWebAppRoleController>();
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<WebAppToWebAppAdditionalRoleController>();
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<WebAppToDepartmentController>();
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<WebAppAdditionalRoleController>();
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<EmployeeToWebAppController>();
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<EmployeeToDepartmentController>();
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<EmployeeToAttributeController>();
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<EmployeeController>();
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<EmployeeController>();
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<EmployeeController>();
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<DocumentArtToDepartmentController>();
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<DepartmentToWebAppToEmployeeForWindreamController>();
dynamic result = await controller.GetDepartmentToWebAppToEmployeeForWindreamListAsync(filter);
Assert.NotNull(result);
Assert.Equal(StatusCodes.Status200OK, result.StatusCode);

View File

@ -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<WebAppUserRepository>();
var res = await webAppUserRepository.TakeListAsync(2);
Assert.NotEmpty(res);
@ -51,34 +53,34 @@ namespace XUnitWebApi.SahredDAL
List<string> ExceptionList = new List<string>();
using WebApiContext ctx = new WebApiContext();
{
Assert.True(ctx.Database.CanConnect());
var typeList = TestHelper.GetAllRepositories(namespaceName);
WebApiContext ctx = Provider.GetRequiredService<WebApiContext>();
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))
{
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)
{
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);

View File

@ -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<WebAppEmployeeInfoRepository>();
WebAppEmployeeInfo webAppEmployeeInfo = await webAppEmployeeInfoRepository.GetByAsync(x => x.LoginName == userFromClient.LoginName);
Assert.NotNull(webAppEmployeeInfo);
WebAppUserHelper webAppUserHelper = new WebAppUserHelper();
WebAppUserHelper webAppUserHelper = Provider.GetRequiredService<WebAppUserHelper>();
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<JwtManager>();
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<LdapAuthenticationService>();
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<LdapAuthenticationService>();
var result = ldapAuthenticationService.CheckAndUpdateIdentityWithPassword(ldapUser);
Assert.True(result);
}