using System.Threading.Tasks; using MediatR; using Microsoft.Extensions.DependencyInjection; using NUnit.Framework; using ReC.Application.Common.Procedures.DeleteProcedure; using ReC.Application.Common.Procedures.InsertProcedure; using ReC.Application.Common.Procedures.UpdateProcedure; using ReC.Application.EndpointAuth.Commands; using ReC.Tests.Application; namespace ReC.Tests.Application.EndpointAuth; [TestFixture] public class EndpointAuthProcedureTests : RecApplicationTestBase { private (ISender Sender, IServiceScope Scope) CreateScopedSender() { var scope = ServiceProvider.CreateScope(); var sender = scope.ServiceProvider.GetRequiredService(); return (sender, scope); } [Test] public async Task InsertEndpointAuthProcedure_runs_via_mediator() { var procedure = new InsertEndpointAuthProcedure { Active = true, Description = "auth", TypeId = 1, ApiKey = "key", ApiValue = "value" }; var objectProc = procedure.ToObjectProcedure("ReC.Tests"); var (sender, scope) = CreateScopedSender(); using var _ = scope; var result = await sender.Send(objectProc); Assert.That(result, Is.GreaterThan(0)); } [Test] public async Task UpdateEndpointAuthProcedure_runs_via_mediator() { var procedure = new UpdateEndpointAuthProcedure { Active = false, Description = "auth-update", TypeId = 2 }; var objectProc = procedure.ToObjectProcedure(15, "ReC.Tests"); var (sender, scope) = CreateScopedSender(); using var _ = scope; var result = await sender.Send(objectProc); Assert.That(result, Is.Not.EqualTo(default(int))); } [Test] public async Task DeleteEndpointAuthProcedure_runs_via_mediator() { var procedure = new DeleteEndpointAuthProcedure { Start = 3, End = 4, Force = false }; var objectProc = procedure.ToObjectProcedure(); var (sender, scope) = CreateScopedSender(); using var _ = scope; var result = await sender.Send(objectProc); Assert.That(result, Is.Not.EqualTo(default(int))); } }