diff --git a/ASC.Tests.sln b/ASC.Tests.sln index 9cad40e0ec..5d894fad14 100644 --- a/ASC.Tests.sln +++ b/ASC.Tests.sln @@ -67,10 +67,12 @@ Project("{9A19103F-16F7-4668-BE54-9A1E7A4F7556}") = "ASC.Core.Common.Tests", "co EndProject Project("{9A19103F-16F7-4668-BE54-9A1E7A4F7556}") = "ASC.Notify.Textile.Tests", "common\Tests\ASC.Notify.Textile.Tests\ASC.Notify.Textile.Tests.csproj", "{8FAD3D1B-3ADC-470C-9933-CAE1B95A8599}" EndProject -Project("{9A19103F-16F7-4668-BE54-9A1E7A4F7556}") = "ASC.Webhooks", "common\ASC.Webhooks\ASC.Webhooks.csproj", "{A0475D4F-29B7-490C-85C2-8AFD60118B35}" +Project("{9A19103F-16F7-4668-BE54-9A1E7A4F7556}") = "ASC.Webhooks.Core", "common\ASC.Webhooks.Core\ASC.Webhooks.Core.csproj", "{A0475D4F-29B7-490C-85C2-8AFD60118B35}" EndProject Project("{9A19103F-16F7-4668-BE54-9A1E7A4F7556}") = "ASC.Webhooks.Tests", "common\Tests\ASC.Webhooks.Tests\ASC.Webhooks.Tests.csproj", "{B48C0E24-EBEB-4AF9-891B-D28BB4A9461E}" EndProject +Project("{9A19103F-16F7-4668-BE54-9A1E7A4F7556}") = "ASC.Webhooks.Service", "common\services\ASC.Webhooks.Service\ASC.Webhooks.Service.csproj", "{23310CB9-1A14-4ED5-BF81-8BD38277FEFE}" +EndProject Global GlobalSection(SolutionConfigurationPlatforms) = preSolution Debug|Any CPU = Debug|Any CPU @@ -213,6 +215,10 @@ Global {B48C0E24-EBEB-4AF9-891B-D28BB4A9461E}.Debug|Any CPU.Build.0 = Debug|Any CPU {B48C0E24-EBEB-4AF9-891B-D28BB4A9461E}.Release|Any CPU.ActiveCfg = Release|Any CPU {B48C0E24-EBEB-4AF9-891B-D28BB4A9461E}.Release|Any CPU.Build.0 = Release|Any CPU + {23310CB9-1A14-4ED5-BF81-8BD38277FEFE}.Debug|Any CPU.ActiveCfg = Debug|Any CPU + {23310CB9-1A14-4ED5-BF81-8BD38277FEFE}.Debug|Any CPU.Build.0 = Debug|Any CPU + {23310CB9-1A14-4ED5-BF81-8BD38277FEFE}.Release|Any CPU.ActiveCfg = Release|Any CPU + {23310CB9-1A14-4ED5-BF81-8BD38277FEFE}.Release|Any CPU.Build.0 = Release|Any CPU EndGlobalSection GlobalSection(SolutionProperties) = preSolution HideSolutionNode = FALSE diff --git a/common/Tests/ASC.Webhooks.Tests/BaseSetUp.cs b/common/Tests/ASC.Webhooks.Tests/BaseSetUp.cs index e3aaad1559..a6b0d7c449 100644 --- a/common/Tests/ASC.Webhooks.Tests/BaseSetUp.cs +++ b/common/Tests/ASC.Webhooks.Tests/BaseSetUp.cs @@ -5,9 +5,11 @@ using System.Reflection; using System.Threading.Tasks; using ASC.Common; +using ASC.Common.Caching; using ASC.Common.Utils; using ASC.Core.Common.EF; -using ASC.Webhooks.Dao; +using ASC.Webhooks.Core; +using ASC.Webhooks.Core.Dao; using Microsoft.AspNetCore.Builder; using Microsoft.AspNetCore.Hosting; @@ -25,6 +27,7 @@ namespace ASC.Webhooks.Tests protected IHost host; protected WebhookSender webhookSender; protected RequestHistory requestHistory; + protected Settings settings; protected string TestConnection = "Server=localhost;Database=onlyoffice_test;User ID=dev;Password=dev;Pooling=true;Character Set=utf8;AutoEnlist=false;SSL Mode=none;AllowPublicKeyRetrieval=True"; protected static int port = 8867; @@ -64,12 +67,14 @@ namespace ASC.Webhooks.Tests .ConfigureServices(services => { services.AddControllers(); + services.AddMemoryCache(); var dIHelper = new DIHelper(); dIHelper.Configure(services); dIHelper.TryAdd(); dIHelper.TryAdd(); dIHelper.TryAdd(); + dIHelper.TryAdd(typeof(ICacheNotify<>), typeof(KafkaCache<>)); }) .Configure(app => { @@ -99,6 +104,7 @@ namespace ASC.Webhooks.Tests serviceProvider = host.Services; webhookSender = serviceProvider.GetService(); requestHistory = serviceProvider.GetService(); + settings = serviceProvider.GetService(); } private void Migrate(IServiceProvider serviceProvider, string testAssembly = null) diff --git a/common/Tests/ASC.Webhooks.Tests/CommonWebhooksTests.cs b/common/Tests/ASC.Webhooks.Tests/CommonWebhooksTests.cs index cd959345d4..f4d77b2202 100644 --- a/common/Tests/ASC.Webhooks.Tests/CommonWebhooksTests.cs +++ b/common/Tests/ASC.Webhooks.Tests/CommonWebhooksTests.cs @@ -12,7 +12,8 @@ using ASC.Common.Logging; using ASC.Core; using ASC.Core.Tenants; using ASC.Web.Webhooks; -using ASC.Webhooks.Dao.Models; +using ASC.Webhooks.Core; +using ASC.Webhooks.Core.Dao.Models; using Microsoft.AspNetCore.Builder; using Microsoft.AspNetCore.Hosting; @@ -43,6 +44,7 @@ namespace ASC.Webhooks.Tests { var scope = host.Services.CreateScope(); var dbWorker = scope.ServiceProvider.GetService(); + var tenantManager = scope.ServiceProvider.GetService(); var id = 1; var testWebhookRequest = new WebhookRequest { Id = id }; @@ -63,11 +65,10 @@ namespace ASC.Webhooks.Tests try { - dbWorker.AddWebhookConfig(testWebhookConfig); - - var tenantManager = new TenantManager(); tenantManager.SetCurrentTenant(testTenant); + dbWorker.AddWebhookConfig(testWebhookConfig); + var mockedLog = new Mock>(); mockedLog.Setup(a => a.Get("ASC.Webhooks")).Verifiable(); @@ -83,7 +84,6 @@ namespace ASC.Webhooks.Tests { Assert.Fail(ex.ToString()); } - var dadad = dbWorker.ReadFromJournal(id); Assert.AreEqual(dbWorker.ReadFromJournal(id), testWebhooksEntry); } @@ -94,13 +94,16 @@ namespace ASC.Webhooks.Tests var scope = host.Services.CreateScope(); var serviceProvider = scope.ServiceProvider; var dbWorker = serviceProvider.GetService(); + var tenantManager = serviceProvider.GetService(); var successedId = dbWorker.ConfigsNumber() + 1; var failedId = successedId + 1; var testTenant = new Tenant(2, "testWebhooksSender"); - var successWebhookConfig = new WebhooksConfig { ConfigId = successedId, SecretKey = secretKey, TenantId = testTenant.TenantId, Uri = $"{URI}SuccessRequest/" }; - var failedWebhookConfig = new WebhooksConfig { ConfigId = failedId, SecretKey = secretKey, TenantId = testTenant.TenantId, Uri = $"{URI}FailedRequest/" }; + tenantManager.SetCurrentTenant(testTenant); + + var successWebhookConfig = new WebhooksConfig { ConfigId = successedId, SecretKey = secretKey, Uri = $"{URI}SuccessRequest/" }; + var failedWebhookConfig = new WebhooksConfig { ConfigId = failedId, SecretKey = secretKey, Uri = $"{URI}FailedRequest/" }; dbWorker.AddWebhookConfig(successWebhookConfig); dbWorker.AddWebhookConfig(failedWebhookConfig); @@ -113,7 +116,7 @@ namespace ASC.Webhooks.Tests mockedLog.Setup(a => a.Error(It.IsAny())).Verifiable(); var mockedLogOptions = new Mock>(); - mockedLogOptions.Setup(a => a.Get("ASC.Webhooks")).Returns(mockedLog.Object).Verifiable(); + mockedLogOptions.Setup(a => a.Get("ASC.Webhooks.Core")).Returns(mockedLog.Object).Verifiable(); var source = new CancellationTokenSource(); var token = source.Token; @@ -121,8 +124,6 @@ namespace ASC.Webhooks.Tests var SuccessedWebhookRequest = new WebhookRequest { Id = successWebhookPayloadId }; var FailedWebhookRequest = new WebhookRequest { Id = failedWebhookPayloadId }; - var settings = new Settings(); - var sender = new WebhookSender(mockedLogOptions.Object, serviceProvider, settings); await sender.Send(SuccessedWebhookRequest, token); await sender.Send(FailedWebhookRequest, token);