From 3b9d2ed4acfdbd92092190cc700dea8067e153bc Mon Sep 17 00:00:00 2001 From: Sebastian Stehle Date: Sun, 2 Sep 2018 15:21:16 +0200 Subject: [PATCH] Moved to final location. --- Squidex.sln | 30 +++---- .../Actions/Algolia/AlgoliaAction.cs | 2 +- .../Actions/Algolia/AlgoliaActionHandler.cs | 2 +- .../Actions/AzureQueue/AzureQueueAction.cs | 2 +- .../AzureQueue/AzureQueueActionHandler.cs | 2 +- .../Squidex.Extensions}/Actions/ClientPool.cs | 2 +- .../Actions/Discourse/DiscourseAction.cs | 2 +- .../Discourse/DiscourseActionHandler.cs | 2 +- .../ElasticSearch/ElasticSearchAction.cs | 2 +- .../ElasticSearchActionHandler.cs | 2 +- .../Actions/Fastly/FastlyAction.cs | 2 +- .../Actions/Fastly/FastlyActionHandler.cs | 2 +- .../Squidex.Extensions}/Actions/HttpHelper.cs | 0 .../Actions/Medium/MediumAction.cs | 2 +- .../Actions/Medium/MediumActionHandler.cs | 2 +- .../Actions/RuleActionAttribute.cs | 2 +- .../Actions/RuleActionHandlerAttribute.cs | 3 +- .../Actions/RuleElement.cs | 2 +- .../Actions/RuleElementRegistry.cs | 2 +- .../Actions/Slack/SlackAction.cs | 2 +- .../Actions/Slack/SlackActionHandler.cs | 2 +- .../Actions/Twitter/TweetAction.cs | 2 +- .../Actions/Twitter/TweetActionHandler.cs | 2 +- .../Actions/Twitter/TwitterOptions.cs | 2 +- .../Actions/WebhookAction/WebhookAction.cs | 2 +- .../WebhookAction/WebhookActionHandler.cs | 2 +- .../Squidex.Extensions.csproj | 4 +- src/Squidex/AppServices.cs | 2 +- .../Rules/Models/RuleActionProcessor.cs | 2 +- .../Rules/Models/RuleActionSerializer.cs | 2 +- .../Api/Controllers/Rules/RulesController.cs | 2 +- .../Controllers/Rules/TwitterController.cs | 2 +- .../Areas/Api/Controllers/UI/UIController.cs | 2 +- src/Squidex/Config/Domain/RuleServices.cs | 2 +- .../Config/Domain/SerializationServices.cs | 2 +- src/Squidex/Squidex.csproj | 2 +- .../Guards/Actions/AlgoliaActionTests.cs | 70 --------------- .../Guards/Actions/AzureQueueActionTests.cs | 70 --------------- .../Actions/ElasticSearchActionTests.cs | 85 ------------------- .../Rules/Guards/Actions/FastlyActionTests.cs | 56 ------------ .../Rules/Guards/Actions/MediumActionTests.cs | 70 --------------- .../Rules/Guards/Actions/SlackActionTests.cs | 71 ---------------- .../Rules/Guards/Actions/TweetActionTests.cs | 70 --------------- .../Guards/Actions/WebhookActionTests.cs | 57 ------------- .../Squidex.Domain.Apps.Entities.Tests.csproj | 1 - 45 files changed, 50 insertions(+), 601 deletions(-) rename {src/Squidex.Domain.Apps.Rules => extensions/Squidex.Extensions}/Actions/Algolia/AlgoliaAction.cs (96%) rename {src/Squidex.Domain.Apps.Rules => extensions/Squidex.Extensions}/Actions/Algolia/AlgoliaActionHandler.cs (98%) rename {src/Squidex.Domain.Apps.Rules => extensions/Squidex.Extensions}/Actions/AzureQueue/AzureQueueAction.cs (96%) rename {src/Squidex.Domain.Apps.Rules => extensions/Squidex.Extensions}/Actions/AzureQueue/AzureQueueActionHandler.cs (97%) rename {src/Squidex.Domain.Apps.Rules => extensions/Squidex.Extensions}/Actions/ClientPool.cs (97%) rename {src/Squidex.Domain.Apps.Rules => extensions/Squidex.Extensions}/Actions/Discourse/DiscourseAction.cs (96%) rename {src/Squidex.Domain.Apps.Rules => extensions/Squidex.Extensions}/Actions/Discourse/DiscourseActionHandler.cs (96%) rename {src/Squidex.Domain.Apps.Rules => extensions/Squidex.Extensions}/Actions/ElasticSearch/ElasticSearchAction.cs (96%) rename {src/Squidex.Domain.Apps.Rules => extensions/Squidex.Extensions}/Actions/ElasticSearch/ElasticSearchActionHandler.cs (98%) rename {src/Squidex.Domain.Apps.Rules => extensions/Squidex.Extensions}/Actions/Fastly/FastlyAction.cs (95%) rename {src/Squidex.Domain.Apps.Rules => extensions/Squidex.Extensions}/Actions/Fastly/FastlyActionHandler.cs (97%) rename {src/Squidex.Domain.Apps.Rules => extensions/Squidex.Extensions}/Actions/HttpHelper.cs (100%) rename {src/Squidex.Domain.Apps.Rules => extensions/Squidex.Extensions}/Actions/Medium/MediumAction.cs (97%) rename {src/Squidex.Domain.Apps.Rules => extensions/Squidex.Extensions}/Actions/Medium/MediumActionHandler.cs (98%) rename {src/Squidex.Domain.Apps.Rules => extensions/Squidex.Extensions}/Actions/RuleActionAttribute.cs (93%) rename {src/Squidex.Domain.Apps.Rules => extensions/Squidex.Extensions}/Actions/RuleActionHandlerAttribute.cs (92%) rename {src/Squidex.Domain.Apps.Rules => extensions/Squidex.Extensions}/Actions/RuleElement.cs (95%) rename {src/Squidex.Domain.Apps.Rules => extensions/Squidex.Extensions}/Actions/RuleElementRegistry.cs (98%) rename {src/Squidex.Domain.Apps.Rules => extensions/Squidex.Extensions}/Actions/Slack/SlackAction.cs (95%) rename {src/Squidex.Domain.Apps.Rules => extensions/Squidex.Extensions}/Actions/Slack/SlackActionHandler.cs (98%) rename {src/Squidex.Domain.Apps.Rules => extensions/Squidex.Extensions}/Actions/Twitter/TweetAction.cs (96%) rename {src/Squidex.Domain.Apps.Rules => extensions/Squidex.Extensions}/Actions/Twitter/TweetActionHandler.cs (97%) rename {src/Squidex.Domain.Apps.Rules => extensions/Squidex.Extensions}/Actions/Twitter/TwitterOptions.cs (93%) rename {src/Squidex.Domain.Apps.Rules => extensions/Squidex.Extensions}/Actions/WebhookAction/WebhookAction.cs (95%) rename {src/Squidex.Domain.Apps.Rules => extensions/Squidex.Extensions}/Actions/WebhookAction/WebhookActionHandler.cs (98%) rename src/Squidex.Domain.Apps.Rules/Squidex.Domain.Apps.Rules.csproj => extensions/Squidex.Extensions/Squidex.Extensions.csproj (82%) delete mode 100644 tests/Squidex.Domain.Apps.Entities.Tests/Rules/Guards/Actions/AlgoliaActionTests.cs delete mode 100644 tests/Squidex.Domain.Apps.Entities.Tests/Rules/Guards/Actions/AzureQueueActionTests.cs delete mode 100644 tests/Squidex.Domain.Apps.Entities.Tests/Rules/Guards/Actions/ElasticSearchActionTests.cs delete mode 100644 tests/Squidex.Domain.Apps.Entities.Tests/Rules/Guards/Actions/FastlyActionTests.cs delete mode 100644 tests/Squidex.Domain.Apps.Entities.Tests/Rules/Guards/Actions/MediumActionTests.cs delete mode 100644 tests/Squidex.Domain.Apps.Entities.Tests/Rules/Guards/Actions/SlackActionTests.cs delete mode 100644 tests/Squidex.Domain.Apps.Entities.Tests/Rules/Guards/Actions/TweetActionTests.cs delete mode 100644 tests/Squidex.Domain.Apps.Entities.Tests/Rules/Guards/Actions/WebhookActionTests.cs diff --git a/Squidex.sln b/Squidex.sln index 4f2aa9f61..6d8cfb71d 100644 --- a/Squidex.sln +++ b/Squidex.sln @@ -63,10 +63,10 @@ Project("{9A19103F-16F7-4668-BE54-9A1E7A4F7556}") = "Migrate_01", "tools\Migrate EndProject Project("{9A19103F-16F7-4668-BE54-9A1E7A4F7556}") = "Squidex.Tests", "tests\Squidex.Tests\Squidex.Tests.csproj", "{7E8CC864-4C6E-496F-A672-9F9AD8874835}" EndProject -Project("{9A19103F-16F7-4668-BE54-9A1E7A4F7556}") = "Squidex.Domain.Apps.Rules", "src\Squidex.Domain.Apps.Rules\Squidex.Domain.Apps.Rules.csproj", "{99B4B165-9146-4406-87AA-A6CD722E33D6}" -EndProject Project("{2150E333-8FDC-42A3-9474-1A3956D46DE8}") = "extensions", "extensions", "{FB8BC3A2-2010-4C3C-A87D-D4A98C05EE52}" EndProject +Project("{9A19103F-16F7-4668-BE54-9A1E7A4F7556}") = "Squidex.Extensions", "extensions\Squidex.Extensions\Squidex.Extensions.csproj", "{F3C41B82-6A67-409A-B7FE-54543EE4F38B}" +EndProject Global GlobalSection(SolutionConfigurationPlatforms) = preSolution Debug|Any CPU = Debug|Any CPU @@ -325,18 +325,18 @@ Global {7E8CC864-4C6E-496F-A672-9F9AD8874835}.Release|x64.Build.0 = Release|Any CPU {7E8CC864-4C6E-496F-A672-9F9AD8874835}.Release|x86.ActiveCfg = Release|Any CPU {7E8CC864-4C6E-496F-A672-9F9AD8874835}.Release|x86.Build.0 = Release|Any CPU - {99B4B165-9146-4406-87AA-A6CD722E33D6}.Debug|Any CPU.ActiveCfg = Debug|Any CPU - {99B4B165-9146-4406-87AA-A6CD722E33D6}.Debug|Any CPU.Build.0 = Debug|Any CPU - {99B4B165-9146-4406-87AA-A6CD722E33D6}.Debug|x64.ActiveCfg = Debug|Any CPU - {99B4B165-9146-4406-87AA-A6CD722E33D6}.Debug|x64.Build.0 = Debug|Any CPU - {99B4B165-9146-4406-87AA-A6CD722E33D6}.Debug|x86.ActiveCfg = Debug|Any CPU - {99B4B165-9146-4406-87AA-A6CD722E33D6}.Debug|x86.Build.0 = Debug|Any CPU - {99B4B165-9146-4406-87AA-A6CD722E33D6}.Release|Any CPU.ActiveCfg = Release|Any CPU - {99B4B165-9146-4406-87AA-A6CD722E33D6}.Release|Any CPU.Build.0 = Release|Any CPU - {99B4B165-9146-4406-87AA-A6CD722E33D6}.Release|x64.ActiveCfg = Release|Any CPU - {99B4B165-9146-4406-87AA-A6CD722E33D6}.Release|x64.Build.0 = Release|Any CPU - {99B4B165-9146-4406-87AA-A6CD722E33D6}.Release|x86.ActiveCfg = Release|Any CPU - {99B4B165-9146-4406-87AA-A6CD722E33D6}.Release|x86.Build.0 = Release|Any CPU + {F3C41B82-6A67-409A-B7FE-54543EE4F38B}.Debug|Any CPU.ActiveCfg = Debug|Any CPU + {F3C41B82-6A67-409A-B7FE-54543EE4F38B}.Debug|Any CPU.Build.0 = Debug|Any CPU + {F3C41B82-6A67-409A-B7FE-54543EE4F38B}.Debug|x64.ActiveCfg = Debug|Any CPU + {F3C41B82-6A67-409A-B7FE-54543EE4F38B}.Debug|x64.Build.0 = Debug|Any CPU + {F3C41B82-6A67-409A-B7FE-54543EE4F38B}.Debug|x86.ActiveCfg = Debug|Any CPU + {F3C41B82-6A67-409A-B7FE-54543EE4F38B}.Debug|x86.Build.0 = Debug|Any CPU + {F3C41B82-6A67-409A-B7FE-54543EE4F38B}.Release|Any CPU.ActiveCfg = Release|Any CPU + {F3C41B82-6A67-409A-B7FE-54543EE4F38B}.Release|Any CPU.Build.0 = Release|Any CPU + {F3C41B82-6A67-409A-B7FE-54543EE4F38B}.Release|x64.ActiveCfg = Release|Any CPU + {F3C41B82-6A67-409A-B7FE-54543EE4F38B}.Release|x64.Build.0 = Release|Any CPU + {F3C41B82-6A67-409A-B7FE-54543EE4F38B}.Release|x86.ActiveCfg = Release|Any CPU + {F3C41B82-6A67-409A-B7FE-54543EE4F38B}.Release|x86.Build.0 = Release|Any CPU EndGlobalSection GlobalSection(SolutionProperties) = preSolution HideSolutionNode = FALSE @@ -365,7 +365,7 @@ Global {AA003372-CD8D-4DBC-962C-F61E0C93CF05} = {C9809D59-6665-471E-AD87-5AC624C65892} {7DA5B308-D950-4496-93D5-21D6C4D91644} = {C9809D59-6665-471E-AD87-5AC624C65892} {A4823E14-C0E5-4A4D-B28F-27424C25C3C7} = {94207AA6-4923-4183-A558-E0F8196B8CA3} - {99B4B165-9146-4406-87AA-A6CD722E33D6} = {FB8BC3A2-2010-4C3C-A87D-D4A98C05EE52} + {F3C41B82-6A67-409A-B7FE-54543EE4F38B} = {FB8BC3A2-2010-4C3C-A87D-D4A98C05EE52} EndGlobalSection GlobalSection(ExtensibilityGlobals) = postSolution SolutionGuid = {02F2E872-3141-44F5-BD6A-33CD84E9FE08} diff --git a/src/Squidex.Domain.Apps.Rules/Actions/Algolia/AlgoliaAction.cs b/extensions/Squidex.Extensions/Actions/Algolia/AlgoliaAction.cs similarity index 96% rename from src/Squidex.Domain.Apps.Rules/Actions/Algolia/AlgoliaAction.cs rename to extensions/Squidex.Extensions/Actions/Algolia/AlgoliaAction.cs index 391894708..a0fdf20e8 100644 --- a/src/Squidex.Domain.Apps.Rules/Actions/Algolia/AlgoliaAction.cs +++ b/extensions/Squidex.Extensions/Actions/Algolia/AlgoliaAction.cs @@ -9,7 +9,7 @@ using System.ComponentModel.DataAnnotations; using Squidex.Domain.Apps.Core.HandleRules; using Squidex.Domain.Apps.Core.Rules; -namespace Squidex.Domain.Apps.Rules.Action.Algolia +namespace Squidex.Extensions.Actions.Algolia { [RuleActionHandler(typeof(AlgoliaActionHandler))] [RuleAction(Link = "https://www.algolia.com/", diff --git a/src/Squidex.Domain.Apps.Rules/Actions/Algolia/AlgoliaActionHandler.cs b/extensions/Squidex.Extensions/Actions/Algolia/AlgoliaActionHandler.cs similarity index 98% rename from src/Squidex.Domain.Apps.Rules/Actions/Algolia/AlgoliaActionHandler.cs rename to extensions/Squidex.Extensions/Actions/Algolia/AlgoliaActionHandler.cs index d15d307dc..1ef71fe9a 100644 --- a/src/Squidex.Domain.Apps.Rules/Actions/Algolia/AlgoliaActionHandler.cs +++ b/extensions/Squidex.Extensions/Actions/Algolia/AlgoliaActionHandler.cs @@ -13,7 +13,7 @@ using Newtonsoft.Json.Linq; using Squidex.Domain.Apps.Core.HandleRules; using Squidex.Domain.Apps.Core.HandleRules.EnrichedEvents; -namespace Squidex.Domain.Apps.Rules.Action.Algolia +namespace Squidex.Extensions.Actions.Algolia { public sealed class AlgoliaActionHandler : RuleActionHandler { diff --git a/src/Squidex.Domain.Apps.Rules/Actions/AzureQueue/AzureQueueAction.cs b/extensions/Squidex.Extensions/Actions/AzureQueue/AzureQueueAction.cs similarity index 96% rename from src/Squidex.Domain.Apps.Rules/Actions/AzureQueue/AzureQueueAction.cs rename to extensions/Squidex.Extensions/Actions/AzureQueue/AzureQueueAction.cs index b5d09255c..9c96cc463 100644 --- a/src/Squidex.Domain.Apps.Rules/Actions/AzureQueue/AzureQueueAction.cs +++ b/extensions/Squidex.Extensions/Actions/AzureQueue/AzureQueueAction.cs @@ -12,7 +12,7 @@ using Squidex.Domain.Apps.Core.HandleRules; using Squidex.Domain.Apps.Core.Rules; using Squidex.Infrastructure; -namespace Squidex.Domain.Apps.Rules.Action.AzureQueue +namespace Squidex.Extensions.Actions.AzureQueue { [RuleActionHandler(typeof(AzureQueueActionHandler))] [RuleAction(Link = "https://azure.microsoft.com/en-us/services/storage/queues/", diff --git a/src/Squidex.Domain.Apps.Rules/Actions/AzureQueue/AzureQueueActionHandler.cs b/extensions/Squidex.Extensions/Actions/AzureQueue/AzureQueueActionHandler.cs similarity index 97% rename from src/Squidex.Domain.Apps.Rules/Actions/AzureQueue/AzureQueueActionHandler.cs rename to extensions/Squidex.Extensions/Actions/AzureQueue/AzureQueueActionHandler.cs index dca1aa230..ed0c9d8c9 100644 --- a/src/Squidex.Domain.Apps.Rules/Actions/AzureQueue/AzureQueueActionHandler.cs +++ b/extensions/Squidex.Extensions/Actions/AzureQueue/AzureQueueActionHandler.cs @@ -12,7 +12,7 @@ using Microsoft.WindowsAzure.Storage.Queue; using Squidex.Domain.Apps.Core.HandleRules; using Squidex.Domain.Apps.Core.HandleRules.EnrichedEvents; -namespace Squidex.Domain.Apps.Rules.Action.AzureQueue +namespace Squidex.Extensions.Actions.AzureQueue { public sealed class AzureQueueActionHandler : RuleActionHandler { diff --git a/src/Squidex.Domain.Apps.Rules/Actions/ClientPool.cs b/extensions/Squidex.Extensions/Actions/ClientPool.cs similarity index 97% rename from src/Squidex.Domain.Apps.Rules/Actions/ClientPool.cs rename to extensions/Squidex.Extensions/Actions/ClientPool.cs index ffa253ef4..74208afd3 100644 --- a/src/Squidex.Domain.Apps.Rules/Actions/ClientPool.cs +++ b/extensions/Squidex.Extensions/Actions/ClientPool.cs @@ -12,7 +12,7 @@ using Microsoft.Extensions.Options; #pragma warning disable RECS0108 // Warns about static fields in generic types -namespace Squidex.Domain.Apps.Rules.Action +namespace Squidex.Extensions.Actions { internal sealed class ClientPool { diff --git a/src/Squidex.Domain.Apps.Rules/Actions/Discourse/DiscourseAction.cs b/extensions/Squidex.Extensions/Actions/Discourse/DiscourseAction.cs similarity index 96% rename from src/Squidex.Domain.Apps.Rules/Actions/Discourse/DiscourseAction.cs rename to extensions/Squidex.Extensions/Actions/Discourse/DiscourseAction.cs index b49d11455..5fae2dd0d 100644 --- a/src/Squidex.Domain.Apps.Rules/Actions/Discourse/DiscourseAction.cs +++ b/extensions/Squidex.Extensions/Actions/Discourse/DiscourseAction.cs @@ -11,7 +11,7 @@ using Squidex.Domain.Apps.Core.HandleRules; using Squidex.Domain.Apps.Core.Rules; using Squidex.Infrastructure; -namespace Squidex.Domain.Apps.Rules.Actions.Discourse +namespace Squidex.Extensions.Actions.Discourse { [RuleActionHandler(typeof(DiscourseActionHandler))] [RuleAction(Description = "")] diff --git a/src/Squidex.Domain.Apps.Rules/Actions/Discourse/DiscourseActionHandler.cs b/extensions/Squidex.Extensions/Actions/Discourse/DiscourseActionHandler.cs similarity index 96% rename from src/Squidex.Domain.Apps.Rules/Actions/Discourse/DiscourseActionHandler.cs rename to extensions/Squidex.Extensions/Actions/Discourse/DiscourseActionHandler.cs index 799d4315e..efd2e6c57 100644 --- a/src/Squidex.Domain.Apps.Rules/Actions/Discourse/DiscourseActionHandler.cs +++ b/extensions/Squidex.Extensions/Actions/Discourse/DiscourseActionHandler.cs @@ -11,7 +11,7 @@ using System.Threading.Tasks; using Squidex.Domain.Apps.Core.HandleRules; using Squidex.Domain.Apps.Core.HandleRules.EnrichedEvents; -namespace Squidex.Domain.Apps.Rules.Actions.Discourse +namespace Squidex.Extensions.Actions.Discourse { public sealed class DiscourseActionHandler : RuleActionHandler { diff --git a/src/Squidex.Domain.Apps.Rules/Actions/ElasticSearch/ElasticSearchAction.cs b/extensions/Squidex.Extensions/Actions/ElasticSearch/ElasticSearchAction.cs similarity index 96% rename from src/Squidex.Domain.Apps.Rules/Actions/ElasticSearch/ElasticSearchAction.cs rename to extensions/Squidex.Extensions/Actions/ElasticSearch/ElasticSearchAction.cs index 67e0cf3ba..83b839338 100644 --- a/src/Squidex.Domain.Apps.Rules/Actions/ElasticSearch/ElasticSearchAction.cs +++ b/extensions/Squidex.Extensions/Actions/ElasticSearch/ElasticSearchAction.cs @@ -11,7 +11,7 @@ using Squidex.Domain.Apps.Core.HandleRules; using Squidex.Domain.Apps.Core.Rules; using Squidex.Infrastructure; -namespace Squidex.Domain.Apps.Rules.Action.ElasticSearch +namespace Squidex.Extensions.Actions.ElasticSearch { [RuleActionHandler(typeof(ElasticSearchActionHandler))] [RuleAction(Link = "https://www.elastic.co/", diff --git a/src/Squidex.Domain.Apps.Rules/Actions/ElasticSearch/ElasticSearchActionHandler.cs b/extensions/Squidex.Extensions/Actions/ElasticSearch/ElasticSearchActionHandler.cs similarity index 98% rename from src/Squidex.Domain.Apps.Rules/Actions/ElasticSearch/ElasticSearchActionHandler.cs rename to extensions/Squidex.Extensions/Actions/ElasticSearch/ElasticSearchActionHandler.cs index dce818f7b..91f58f144 100644 --- a/src/Squidex.Domain.Apps.Rules/Actions/ElasticSearch/ElasticSearchActionHandler.cs +++ b/extensions/Squidex.Extensions/Actions/ElasticSearch/ElasticSearchActionHandler.cs @@ -12,7 +12,7 @@ using Newtonsoft.Json.Linq; using Squidex.Domain.Apps.Core.HandleRules; using Squidex.Domain.Apps.Core.HandleRules.EnrichedEvents; -namespace Squidex.Domain.Apps.Rules.Action.ElasticSearch +namespace Squidex.Extensions.Actions.ElasticSearch { public sealed class ElasticSearchActionHandler : RuleActionHandler { diff --git a/src/Squidex.Domain.Apps.Rules/Actions/Fastly/FastlyAction.cs b/extensions/Squidex.Extensions/Actions/Fastly/FastlyAction.cs similarity index 95% rename from src/Squidex.Domain.Apps.Rules/Actions/Fastly/FastlyAction.cs rename to extensions/Squidex.Extensions/Actions/Fastly/FastlyAction.cs index 7a4d09e47..55929893e 100644 --- a/src/Squidex.Domain.Apps.Rules/Actions/Fastly/FastlyAction.cs +++ b/extensions/Squidex.Extensions/Actions/Fastly/FastlyAction.cs @@ -9,7 +9,7 @@ using System.ComponentModel.DataAnnotations; using Squidex.Domain.Apps.Core.HandleRules; using Squidex.Domain.Apps.Core.Rules; -namespace Squidex.Domain.Apps.Rules.Action.Fastly +namespace Squidex.Extensions.Actions.Fastly { [RuleActionHandler(typeof(FastlyActionHandler))] [RuleAction(Link = "https://www.fastly.com/", diff --git a/src/Squidex.Domain.Apps.Rules/Actions/Fastly/FastlyActionHandler.cs b/extensions/Squidex.Extensions/Actions/Fastly/FastlyActionHandler.cs similarity index 97% rename from src/Squidex.Domain.Apps.Rules/Actions/Fastly/FastlyActionHandler.cs rename to extensions/Squidex.Extensions/Actions/Fastly/FastlyActionHandler.cs index 5ae76f0c3..d3024cf5f 100644 --- a/src/Squidex.Domain.Apps.Rules/Actions/Fastly/FastlyActionHandler.cs +++ b/extensions/Squidex.Extensions/Actions/Fastly/FastlyActionHandler.cs @@ -13,7 +13,7 @@ using Squidex.Domain.Apps.Core.HandleRules.Actions.Utils; using Squidex.Domain.Apps.Core.HandleRules.EnrichedEvents; using Squidex.Infrastructure; -namespace Squidex.Domain.Apps.Rules.Action.Fastly +namespace Squidex.Extensions.Actions.Fastly { public sealed class FastlyActionHandler : RuleActionHandler { diff --git a/src/Squidex.Domain.Apps.Rules/Actions/HttpHelper.cs b/extensions/Squidex.Extensions/Actions/HttpHelper.cs similarity index 100% rename from src/Squidex.Domain.Apps.Rules/Actions/HttpHelper.cs rename to extensions/Squidex.Extensions/Actions/HttpHelper.cs diff --git a/src/Squidex.Domain.Apps.Rules/Actions/Medium/MediumAction.cs b/extensions/Squidex.Extensions/Actions/Medium/MediumAction.cs similarity index 97% rename from src/Squidex.Domain.Apps.Rules/Actions/Medium/MediumAction.cs rename to extensions/Squidex.Extensions/Actions/Medium/MediumAction.cs index 59a4cca6d..2ea91cd0e 100644 --- a/src/Squidex.Domain.Apps.Rules/Actions/Medium/MediumAction.cs +++ b/extensions/Squidex.Extensions/Actions/Medium/MediumAction.cs @@ -9,7 +9,7 @@ using System.ComponentModel.DataAnnotations; using Squidex.Domain.Apps.Core.HandleRules; using Squidex.Domain.Apps.Core.Rules; -namespace Squidex.Domain.Apps.Rules.Action.Medium +namespace Squidex.Extensions.Actions.Medium { [RuleActionHandler(typeof(MediumActionHandler))] [RuleAction(Link = "https://medium.com/", diff --git a/src/Squidex.Domain.Apps.Rules/Actions/Medium/MediumActionHandler.cs b/extensions/Squidex.Extensions/Actions/Medium/MediumActionHandler.cs similarity index 98% rename from src/Squidex.Domain.Apps.Rules/Actions/Medium/MediumActionHandler.cs rename to extensions/Squidex.Extensions/Actions/Medium/MediumActionHandler.cs index 050e1fc7e..d45284d42 100644 --- a/src/Squidex.Domain.Apps.Rules/Actions/Medium/MediumActionHandler.cs +++ b/extensions/Squidex.Extensions/Actions/Medium/MediumActionHandler.cs @@ -19,7 +19,7 @@ using Squidex.Infrastructure.Http; #pragma warning disable SA1649 // File name must match first type name -namespace Squidex.Domain.Apps.Rules.Action.Medium +namespace Squidex.Extensions.Actions.Medium { public sealed class MediumJob { diff --git a/src/Squidex.Domain.Apps.Rules/Actions/RuleActionAttribute.cs b/extensions/Squidex.Extensions/Actions/RuleActionAttribute.cs similarity index 93% rename from src/Squidex.Domain.Apps.Rules/Actions/RuleActionAttribute.cs rename to extensions/Squidex.Extensions/Actions/RuleActionAttribute.cs index dce686013..4c9fb707e 100644 --- a/src/Squidex.Domain.Apps.Rules/Actions/RuleActionAttribute.cs +++ b/extensions/Squidex.Extensions/Actions/RuleActionAttribute.cs @@ -7,7 +7,7 @@ using System; -namespace Squidex.Domain.Apps.Rules.Actions +namespace Squidex.Extensions.Actions { [AttributeUsage(AttributeTargets.Class, AllowMultiple = false, Inherited = false)] public sealed class RuleActionAttribute : Attribute diff --git a/src/Squidex.Domain.Apps.Rules/Actions/RuleActionHandlerAttribute.cs b/extensions/Squidex.Extensions/Actions/RuleActionHandlerAttribute.cs similarity index 92% rename from src/Squidex.Domain.Apps.Rules/Actions/RuleActionHandlerAttribute.cs rename to extensions/Squidex.Extensions/Actions/RuleActionHandlerAttribute.cs index 5a2751fee..7850afaf6 100644 --- a/src/Squidex.Domain.Apps.Rules/Actions/RuleActionHandlerAttribute.cs +++ b/extensions/Squidex.Extensions/Actions/RuleActionHandlerAttribute.cs @@ -6,9 +6,10 @@ // ========================================================================== using System; +using Squidex.Domain.Apps.Core.HandleRules; using Squidex.Infrastructure; -namespace Squidex.Domain.Apps.Rules.Actions +namespace Squidex.Extensions.Actions { [AttributeUsage(AttributeTargets.Class, Inherited = false, AllowMultiple = false)] public sealed class RuleActionHandlerAttribute : Attribute diff --git a/src/Squidex.Domain.Apps.Rules/Actions/RuleElement.cs b/extensions/Squidex.Extensions/Actions/RuleElement.cs similarity index 95% rename from src/Squidex.Domain.Apps.Rules/Actions/RuleElement.cs rename to extensions/Squidex.Extensions/Actions/RuleElement.cs index d7e7a8d26..cbd19ee02 100644 --- a/src/Squidex.Domain.Apps.Rules/Actions/RuleElement.cs +++ b/extensions/Squidex.Extensions/Actions/RuleElement.cs @@ -7,7 +7,7 @@ using System; -namespace Squidex.Domain.Apps.Rules.Actions +namespace Squidex.Extensions.Actions { public sealed class RuleElement { diff --git a/src/Squidex.Domain.Apps.Rules/Actions/RuleElementRegistry.cs b/extensions/Squidex.Extensions/Actions/RuleElementRegistry.cs similarity index 98% rename from src/Squidex.Domain.Apps.Rules/Actions/RuleElementRegistry.cs rename to extensions/Squidex.Extensions/Actions/RuleElementRegistry.cs index b411a8251..603d4b231 100644 --- a/src/Squidex.Domain.Apps.Rules/Actions/RuleElementRegistry.cs +++ b/extensions/Squidex.Extensions/Actions/RuleElementRegistry.cs @@ -14,7 +14,7 @@ using Squidex.Domain.Apps.Core.Rules; using Squidex.Domain.Apps.Core.Rules.Triggers; using Squidex.Infrastructure; -namespace Squidex.Domain.Apps.Rules.Actions +namespace Squidex.Extensions.Actions { public static class RuleElementRegistry { diff --git a/src/Squidex.Domain.Apps.Rules/Actions/Slack/SlackAction.cs b/extensions/Squidex.Extensions/Actions/Slack/SlackAction.cs similarity index 95% rename from src/Squidex.Domain.Apps.Rules/Actions/Slack/SlackAction.cs rename to extensions/Squidex.Extensions/Actions/Slack/SlackAction.cs index 2d4622c28..64d8765c1 100644 --- a/src/Squidex.Domain.Apps.Rules/Actions/Slack/SlackAction.cs +++ b/extensions/Squidex.Extensions/Actions/Slack/SlackAction.cs @@ -11,7 +11,7 @@ using Squidex.Domain.Apps.Core.HandleRules; using Squidex.Domain.Apps.Core.Rules; using Squidex.Infrastructure; -namespace Squidex.Domain.Apps.Rules.Action.Slack +namespace Squidex.Extensions.Actions.Slack { [RuleActionHandler(typeof(SlackActionHandler))] [RuleAction(Link = "https://slack.com", diff --git a/src/Squidex.Domain.Apps.Rules/Actions/Slack/SlackActionHandler.cs b/extensions/Squidex.Extensions/Actions/Slack/SlackActionHandler.cs similarity index 98% rename from src/Squidex.Domain.Apps.Rules/Actions/Slack/SlackActionHandler.cs rename to extensions/Squidex.Extensions/Actions/Slack/SlackActionHandler.cs index e82e00ced..86fe77cc0 100644 --- a/src/Squidex.Domain.Apps.Rules/Actions/Slack/SlackActionHandler.cs +++ b/extensions/Squidex.Extensions/Actions/Slack/SlackActionHandler.cs @@ -16,7 +16,7 @@ using Squidex.Domain.Apps.Core.HandleRules.Actions.Utils; using Squidex.Domain.Apps.Core.HandleRules.EnrichedEvents; using Squidex.Infrastructure; -namespace Squidex.Domain.Apps.Rules.Action.Slack +namespace Squidex.Extensions.Actions.Slack { public sealed class SlackActionHandler : RuleActionHandler { diff --git a/src/Squidex.Domain.Apps.Rules/Actions/Twitter/TweetAction.cs b/extensions/Squidex.Extensions/Actions/Twitter/TweetAction.cs similarity index 96% rename from src/Squidex.Domain.Apps.Rules/Actions/Twitter/TweetAction.cs rename to extensions/Squidex.Extensions/Actions/Twitter/TweetAction.cs index a20b16896..15b45240e 100644 --- a/src/Squidex.Domain.Apps.Rules/Actions/Twitter/TweetAction.cs +++ b/extensions/Squidex.Extensions/Actions/Twitter/TweetAction.cs @@ -9,7 +9,7 @@ using System.ComponentModel.DataAnnotations; using Squidex.Domain.Apps.Core.HandleRules; using Squidex.Domain.Apps.Core.Rules; -namespace Squidex.Domain.Apps.Rules.Action.Twitter +namespace Squidex.Extensions.Actions.Twitter { [RuleActionHandler(typeof(TweetActionHandler))] [RuleAction(Link = "https://twitter.com", diff --git a/src/Squidex.Domain.Apps.Rules/Actions/Twitter/TweetActionHandler.cs b/extensions/Squidex.Extensions/Actions/Twitter/TweetActionHandler.cs similarity index 97% rename from src/Squidex.Domain.Apps.Rules/Actions/Twitter/TweetActionHandler.cs rename to extensions/Squidex.Extensions/Actions/Twitter/TweetActionHandler.cs index 1c60d6888..988611246 100644 --- a/src/Squidex.Domain.Apps.Rules/Actions/Twitter/TweetActionHandler.cs +++ b/extensions/Squidex.Extensions/Actions/Twitter/TweetActionHandler.cs @@ -13,7 +13,7 @@ using Squidex.Domain.Apps.Core.HandleRules; using Squidex.Domain.Apps.Core.HandleRules.EnrichedEvents; using Squidex.Infrastructure; -namespace Squidex.Domain.Apps.Rules.Action.Twitter +namespace Squidex.Extensions.Actions.Twitter { public sealed class TweetActionHandler : RuleActionHandler { diff --git a/src/Squidex.Domain.Apps.Rules/Actions/Twitter/TwitterOptions.cs b/extensions/Squidex.Extensions/Actions/Twitter/TwitterOptions.cs similarity index 93% rename from src/Squidex.Domain.Apps.Rules/Actions/Twitter/TwitterOptions.cs rename to extensions/Squidex.Extensions/Actions/Twitter/TwitterOptions.cs index f86f476c3..d602e7099 100644 --- a/src/Squidex.Domain.Apps.Rules/Actions/Twitter/TwitterOptions.cs +++ b/extensions/Squidex.Extensions/Actions/Twitter/TwitterOptions.cs @@ -5,7 +5,7 @@ // All rights reserved. Licensed under the MIT license. // ========================================================================== -namespace Squidex.Domain.Apps.Rules.Action.Twitter +namespace Squidex.Extensions.Actions.Twitter { public sealed class TwitterOptions { diff --git a/src/Squidex.Domain.Apps.Rules/Actions/WebhookAction/WebhookAction.cs b/extensions/Squidex.Extensions/Actions/WebhookAction/WebhookAction.cs similarity index 95% rename from src/Squidex.Domain.Apps.Rules/Actions/WebhookAction/WebhookAction.cs rename to extensions/Squidex.Extensions/Actions/WebhookAction/WebhookAction.cs index e4a6ce559..2440ac43d 100644 --- a/src/Squidex.Domain.Apps.Rules/Actions/WebhookAction/WebhookAction.cs +++ b/extensions/Squidex.Extensions/Actions/WebhookAction/WebhookAction.cs @@ -11,7 +11,7 @@ using Squidex.Domain.Apps.Core.HandleRules; using Squidex.Domain.Apps.Core.Rules; using Squidex.Infrastructure; -namespace Squidex.Domain.Apps.Rules.Action.Webhook +namespace Squidex.Extensions.Actions.Webhook { [RuleActionHandler(typeof(WebhookActionHandler))] [RuleAction( diff --git a/src/Squidex.Domain.Apps.Rules/Actions/WebhookAction/WebhookActionHandler.cs b/extensions/Squidex.Extensions/Actions/WebhookAction/WebhookActionHandler.cs similarity index 98% rename from src/Squidex.Domain.Apps.Rules/Actions/WebhookAction/WebhookActionHandler.cs rename to extensions/Squidex.Extensions/Actions/WebhookAction/WebhookActionHandler.cs index 21a79953c..1c81ce18b 100644 --- a/src/Squidex.Domain.Apps.Rules/Actions/WebhookAction/WebhookActionHandler.cs +++ b/extensions/Squidex.Extensions/Actions/WebhookAction/WebhookActionHandler.cs @@ -14,7 +14,7 @@ using Squidex.Domain.Apps.Core.HandleRules.Actions.Utils; using Squidex.Domain.Apps.Core.HandleRules.EnrichedEvents; using Squidex.Infrastructure; -namespace Squidex.Domain.Apps.Rules.Action.Webhook +namespace Squidex.Extensions.Actions.Webhook { public sealed class WebhookActionHandler : RuleActionHandler { diff --git a/src/Squidex.Domain.Apps.Rules/Squidex.Domain.Apps.Rules.csproj b/extensions/Squidex.Extensions/Squidex.Extensions.csproj similarity index 82% rename from src/Squidex.Domain.Apps.Rules/Squidex.Domain.Apps.Rules.csproj rename to extensions/Squidex.Extensions/Squidex.Extensions.csproj index 1bf1f6a65..b40b0e287 100644 --- a/src/Squidex.Domain.Apps.Rules/Squidex.Domain.Apps.Rules.csproj +++ b/extensions/Squidex.Extensions/Squidex.Extensions.csproj @@ -7,9 +7,7 @@ True - - - + diff --git a/src/Squidex/AppServices.cs b/src/Squidex/AppServices.cs index 85bdea3e5..99d77a706 100644 --- a/src/Squidex/AppServices.cs +++ b/src/Squidex/AppServices.cs @@ -14,7 +14,7 @@ using Squidex.Config; using Squidex.Config.Authentication; using Squidex.Config.Domain; using Squidex.Config.Web; -using Squidex.Domain.Apps.Rules.Action.Twitter; +using Squidex.Extensions.Actions.Twitter; using Squidex.Infrastructure.Commands; namespace Squidex diff --git a/src/Squidex/Areas/Api/Controllers/Rules/Models/RuleActionProcessor.cs b/src/Squidex/Areas/Api/Controllers/Rules/Models/RuleActionProcessor.cs index b82491af0..c2a93b912 100644 --- a/src/Squidex/Areas/Api/Controllers/Rules/Models/RuleActionProcessor.cs +++ b/src/Squidex/Areas/Api/Controllers/Rules/Models/RuleActionProcessor.cs @@ -11,7 +11,7 @@ using NJsonSchema; using NSwag.SwaggerGeneration.Processors; using NSwag.SwaggerGeneration.Processors.Contexts; using Squidex.Domain.Apps.Core.Rules; -using Squidex.Domain.Apps.Rules.Actions; +using Squidex.Extensions.Actions; namespace Squidex.Areas.Api.Controllers.Rules.Models { diff --git a/src/Squidex/Areas/Api/Controllers/Rules/Models/RuleActionSerializer.cs b/src/Squidex/Areas/Api/Controllers/Rules/Models/RuleActionSerializer.cs index 7ad9d69f1..9de13838a 100644 --- a/src/Squidex/Areas/Api/Controllers/Rules/Models/RuleActionSerializer.cs +++ b/src/Squidex/Areas/Api/Controllers/Rules/Models/RuleActionSerializer.cs @@ -7,7 +7,7 @@ using System.Linq; using Squidex.Domain.Apps.Core.Rules; -using Squidex.Domain.Apps.Rules.Actions; +using Squidex.Extensions.Actions; namespace Squidex.Areas.Api.Controllers.Rules.Models { diff --git a/src/Squidex/Areas/Api/Controllers/Rules/RulesController.cs b/src/Squidex/Areas/Api/Controllers/Rules/RulesController.cs index 5164ebd8c..c6de4d60f 100644 --- a/src/Squidex/Areas/Api/Controllers/Rules/RulesController.cs +++ b/src/Squidex/Areas/Api/Controllers/Rules/RulesController.cs @@ -16,7 +16,7 @@ using Squidex.Areas.Api.Controllers.Rules.Models; using Squidex.Domain.Apps.Entities; using Squidex.Domain.Apps.Entities.Rules.Commands; using Squidex.Domain.Apps.Entities.Rules.Repositories; -using Squidex.Domain.Apps.Rules.Actions; +using Squidex.Extensions.Actions; using Squidex.Infrastructure.Commands; using Squidex.Infrastructure.Reflection; using Squidex.Pipeline; diff --git a/src/Squidex/Areas/Api/Controllers/Rules/TwitterController.cs b/src/Squidex/Areas/Api/Controllers/Rules/TwitterController.cs index 7cb915234..aa9980421 100644 --- a/src/Squidex/Areas/Api/Controllers/Rules/TwitterController.cs +++ b/src/Squidex/Areas/Api/Controllers/Rules/TwitterController.cs @@ -8,7 +8,7 @@ using System.Threading.Tasks; using Microsoft.AspNetCore.Mvc; using Microsoft.Extensions.Options; -using Squidex.Domain.Apps.Rules.Action.Twitter; +using Squidex.Extensions.Actions.Twitter; using static CoreTweet.OAuth; namespace Squidex.Areas.Api.Controllers.Rules diff --git a/src/Squidex/Areas/Api/Controllers/UI/UIController.cs b/src/Squidex/Areas/Api/Controllers/UI/UIController.cs index 91a12bca2..b15859cfc 100644 --- a/src/Squidex/Areas/Api/Controllers/UI/UIController.cs +++ b/src/Squidex/Areas/Api/Controllers/UI/UIController.cs @@ -13,7 +13,7 @@ using Orleans; using Squidex.Areas.Api.Controllers.UI.Models; using Squidex.Config; using Squidex.Domain.Apps.Entities.Apps; -using Squidex.Domain.Apps.Rules.Action.Twitter; +using Squidex.Extensions.Actions.Twitter; using Squidex.Infrastructure.Commands; using Squidex.Pipeline; diff --git a/src/Squidex/Config/Domain/RuleServices.cs b/src/Squidex/Config/Domain/RuleServices.cs index 720450e83..517cccd33 100644 --- a/src/Squidex/Config/Domain/RuleServices.cs +++ b/src/Squidex/Config/Domain/RuleServices.cs @@ -9,7 +9,7 @@ using Microsoft.Extensions.DependencyInjection; using Squidex.Domain.Apps.Core.HandleRules; using Squidex.Domain.Apps.Core.HandleRules.Triggers; using Squidex.Domain.Apps.Entities.Rules; -using Squidex.Domain.Apps.Rules.Actions; +using Squidex.Extensions.Actions; using Squidex.Infrastructure.EventSourcing; namespace Squidex.Config.Domain diff --git a/src/Squidex/Config/Domain/SerializationServices.cs b/src/Squidex/Config/Domain/SerializationServices.cs index 9990d9197..5c06f94a3 100644 --- a/src/Squidex/Config/Domain/SerializationServices.cs +++ b/src/Squidex/Config/Domain/SerializationServices.cs @@ -17,7 +17,7 @@ using Squidex.Domain.Apps.Core.Rules.Json; using Squidex.Domain.Apps.Core.Schemas; using Squidex.Domain.Apps.Core.Schemas.Json; using Squidex.Domain.Apps.Events; -using Squidex.Domain.Apps.Rules.Actions; +using Squidex.Extensions.Actions; using Squidex.Infrastructure; using Squidex.Infrastructure.EventSourcing; using Squidex.Infrastructure.Json; diff --git a/src/Squidex/Squidex.csproj b/src/Squidex/Squidex.csproj index 3bc240b66..f874695c0 100644 --- a/src/Squidex/Squidex.csproj +++ b/src/Squidex/Squidex.csproj @@ -34,13 +34,13 @@ + - diff --git a/tests/Squidex.Domain.Apps.Entities.Tests/Rules/Guards/Actions/AlgoliaActionTests.cs b/tests/Squidex.Domain.Apps.Entities.Tests/Rules/Guards/Actions/AlgoliaActionTests.cs deleted file mode 100644 index 6cbdd4ebf..000000000 --- a/tests/Squidex.Domain.Apps.Entities.Tests/Rules/Guards/Actions/AlgoliaActionTests.cs +++ /dev/null @@ -1,70 +0,0 @@ -// ========================================================================== -// Squidex Headless CMS -// ========================================================================== -// Copyright (c) Squidex UG (haftungsbeschränkt) -// All rights reserved. Licensed under the MIT license. -// ========================================================================== - -using System.Collections.Generic; -using FluentAssertions; -using Squidex.Domain.Apps.Rules.Action.Algolia; -using Squidex.Infrastructure; -using Xunit; - -namespace Squidex.Domain.Apps.Entities.Rules.Guards.Actions -{ - public class AlgoliaActionTests - { - [Fact] - public void Should_add_error_if_app_id_not_defined() - { - var action = new AlgoliaAction { AppId = null, ApiKey = "KEY", IndexName = "IDX" }; - - var errors = action.Validate(); - - errors.Should().BeEquivalentTo( - new List - { - new ValidationError("The Application Id field is required.", "AppId") - }); - } - - [Fact] - public void Should_add_error_if_api_key_not_defined() - { - var action = new AlgoliaAction { AppId = "APP", ApiKey = null, IndexName = "IDX" }; - - var errors = action.Validate(); - - errors.Should().BeEquivalentTo( - new List - { - new ValidationError("The Api Key field is required.", "ApiKey") - }); - } - - [Fact] - public void Should_add_error_if_index_name_not_defined() - { - var action = new AlgoliaAction { AppId = "APP", ApiKey = "KEY", IndexName = null }; - - var errors = action.Validate(); - - errors.Should().BeEquivalentTo( - new List - { - new ValidationError("The Index Name field is required.", "IndexName") - }); - } - - [Fact] - public void Should_not_add_error_everything_defined() - { - var action = new AlgoliaAction { AppId = "APP", ApiKey = "KEY", IndexName = "IDX" }; - - var errors = action.Validate(); - - Assert.Empty(errors); - } - } -} diff --git a/tests/Squidex.Domain.Apps.Entities.Tests/Rules/Guards/Actions/AzureQueueActionTests.cs b/tests/Squidex.Domain.Apps.Entities.Tests/Rules/Guards/Actions/AzureQueueActionTests.cs deleted file mode 100644 index ec4f39416..000000000 --- a/tests/Squidex.Domain.Apps.Entities.Tests/Rules/Guards/Actions/AzureQueueActionTests.cs +++ /dev/null @@ -1,70 +0,0 @@ -// ========================================================================== -// Squidex Headless CMS -// ========================================================================== -// Copyright (c) Squidex UG (haftungsbeschränkt) -// All rights reserved. Licensed under the MIT license. -// ========================================================================== - -using System.Collections.Generic; -using FluentAssertions; -using Squidex.Domain.Apps.Rules.Action.AzureQueue; -using Squidex.Infrastructure; -using Xunit; - -namespace Squidex.Domain.Apps.Entities.Rules.Guards.Actions -{ - public class AzureQueueActionTests - { - [Fact] - public void Should_add_error_if_connection_string_is_null() - { - var action = new AzureQueueAction { ConnectionString = null, Queue = "squidex" }; - - var errors = action.Validate(); - - errors.Should().BeEquivalentTo( - new List - { - new ValidationError("The Connection String field is required.", "ConnectionString") - }); - } - - [Fact] - public void Should_add_error_if_queue_is_null() - { - var action = new AzureQueueAction { ConnectionString = "connection", Queue = null }; - - var errors = action.Validate(); - - errors.Should().BeEquivalentTo( - new List - { - new ValidationError("The Queue field is required.", "Queue") - }); - } - - [Fact] - public void Should_add_error_if_queue_is_invalid() - { - var action = new AzureQueueAction { ConnectionString = "connection", Queue = "Squidex" }; - - var errors = action.Validate(); - - errors.Should().BeEquivalentTo( - new List - { - new ValidationError("Queue must be valid azure queue name.", "Queue") - }); - } - - [Fact] - public void Should_not_add_error_if_values_are_valid() - { - var action = new AzureQueueAction { ConnectionString = "connection", Queue = "squidex" }; - - var errors = action.Validate(); - - Assert.Empty(errors); - } - } -} diff --git a/tests/Squidex.Domain.Apps.Entities.Tests/Rules/Guards/Actions/ElasticSearchActionTests.cs b/tests/Squidex.Domain.Apps.Entities.Tests/Rules/Guards/Actions/ElasticSearchActionTests.cs deleted file mode 100644 index 2dcc07cb0..000000000 --- a/tests/Squidex.Domain.Apps.Entities.Tests/Rules/Guards/Actions/ElasticSearchActionTests.cs +++ /dev/null @@ -1,85 +0,0 @@ -// ========================================================================== -// Squidex Headless CMS -// ========================================================================== -// Copyright (c) Squidex UG (haftungsbeschränkt) -// All rights reserved. Licensed under the MIT license. -// ========================================================================== - -using System; -using System.Collections.Generic; -using FluentAssertions; -using Squidex.Domain.Apps.Rules.Action.ElasticSearch; -using Squidex.Infrastructure; -using Xunit; - -namespace Squidex.Domain.Apps.Entities.Rules.Guards.Actions -{ - public class ElasticSearchActionTests - { - [Fact] - public void Should_add_error_if_host_is_null() - { - var action = new ElasticSearchAction { Host = null, IndexName = "squidex", IndexType = "squidex" }; - - var errors = action.Validate(); - - errors.Should().BeEquivalentTo( - new List - { - new ValidationError("The Host field is required.", "Host") - }); - } - - [Fact] - public void Should_add_error_if_host_is_relative() - { - var action = new ElasticSearchAction { Host = new Uri("/rel", UriKind.Relative), IndexName = "squidex", IndexType = "squidex" }; - - var errors = action.Validate(); - - errors.Should().BeEquivalentTo( - new List - { - new ValidationError("The Host field must be an absolute URL.", "Host") - }); - } - - [Fact] - public void Should_add_error_if_index_name_is_null() - { - var action = new ElasticSearchAction { Host = new Uri("http://host", UriKind.Absolute), IndexName = null, IndexType = "squidex" }; - - var errors = action.Validate(); - - errors.Should().BeEquivalentTo( - new List - { - new ValidationError("The Index Name field is required.", "IndexName") - }); - } - - [Fact] - public void Should_add_error_if_index_type_is_null() - { - var action = new ElasticSearchAction { Host = new Uri("http://host", UriKind.Absolute), IndexName = "squidex", IndexType = null }; - - var errors = action.Validate(); - - errors.Should().BeEquivalentTo( - new List - { - new ValidationError("The Index Type field is required.", "IndexType") - }); - } - - [Fact] - public void Should_not_add_error_if_values_are_valid() - { - var action = new ElasticSearchAction { Host = new Uri("http://host", UriKind.Absolute), IndexName = "squidex", IndexType = "squidex" }; - - var errors = action.Validate(); - - Assert.Empty(errors); - } - } -} diff --git a/tests/Squidex.Domain.Apps.Entities.Tests/Rules/Guards/Actions/FastlyActionTests.cs b/tests/Squidex.Domain.Apps.Entities.Tests/Rules/Guards/Actions/FastlyActionTests.cs deleted file mode 100644 index e8ce94392..000000000 --- a/tests/Squidex.Domain.Apps.Entities.Tests/Rules/Guards/Actions/FastlyActionTests.cs +++ /dev/null @@ -1,56 +0,0 @@ -// ========================================================================== -// Squidex Headless CMS -// ========================================================================== -// Copyright (c) Squidex UG (haftungsbeschränkt) -// All rights reserved. Licensed under the MIT license. -// ========================================================================== - -using System.Collections.Generic; -using FluentAssertions; -using Squidex.Domain.Apps.Rules.Action.Fastly; -using Squidex.Infrastructure; -using Xunit; - -namespace Squidex.Domain.Apps.Entities.Rules.Guards.Actions -{ - public class FastlyActionTests - { - [Fact] - public void Should_add_error_if_service_id_not_defined() - { - var action = new FastlyAction { ServiceId = null, ApiKey = "KEY" }; - - var errors = action.Validate(); - - errors.Should().BeEquivalentTo( - new List - { - new ValidationError("The Service Id field is required.", "ServiceId") - }); - } - - [Fact] - public void Should_add_error_if_api_key_not_defined() - { - var action = new FastlyAction { ServiceId = "APP", ApiKey = null }; - - var errors = action.Validate(); - - errors.Should().BeEquivalentTo( - new List - { - new ValidationError("The Api Key field is required.", "ApiKey") - }); - } - - [Fact] - public void Should_not_add_error_everything_defined() - { - var action = new FastlyAction { ServiceId = "APP", ApiKey = "KEY" }; - - var errors = action.Validate(); - - Assert.Empty(errors); - } - } -} diff --git a/tests/Squidex.Domain.Apps.Entities.Tests/Rules/Guards/Actions/MediumActionTests.cs b/tests/Squidex.Domain.Apps.Entities.Tests/Rules/Guards/Actions/MediumActionTests.cs deleted file mode 100644 index 5bcffaebe..000000000 --- a/tests/Squidex.Domain.Apps.Entities.Tests/Rules/Guards/Actions/MediumActionTests.cs +++ /dev/null @@ -1,70 +0,0 @@ -// ========================================================================== -// Squidex Headless CMS -// ========================================================================== -// Copyright (c) Squidex UG (haftungsbeschränkt) -// All rights reserved. Licensed under the MIT license. -// ========================================================================== - -using System.Collections.Generic; -using FluentAssertions; -using Squidex.Domain.Apps.Rules.Action.Medium; -using Squidex.Infrastructure; -using Xunit; - -namespace Squidex.Domain.Apps.Entities.Rules.Guards.Actions -{ - public class MediumActionTests - { - [Fact] - public void Should_add_error_if_access_token_is_null() - { - var action = new MediumAction { AccessToken = null, Title = "title", Content = "content" }; - - var errors = action.Validate(); - - errors.Should().BeEquivalentTo( - new List - { - new ValidationError("The Access Token field is required.", "AccessToken") - }); - } - - [Fact] - public void Should_add_error_if_title_null() - { - var action = new MediumAction { AccessToken = "token", Title = null, Content = "content" }; - - var errors = action.Validate(); - - errors.Should().BeEquivalentTo( - new List - { - new ValidationError("The Title field is required.", "Title") - }); - } - - [Fact] - public void Should_add_error_if_content_is_null() - { - var action = new MediumAction { AccessToken = "token", Title = "title", Content = null }; - - var errors = action.Validate(); - - errors.Should().BeEquivalentTo( - new List - { - new ValidationError("The Content field is required.", "Content") - }); - } - - [Fact] - public void Should_not_add_error_if_values_are_valid() - { - var action = new MediumAction { AccessToken = "token", Title = "title", Content = "content" }; - - var errors = action.Validate(); - - Assert.Empty(errors); - } - } -} diff --git a/tests/Squidex.Domain.Apps.Entities.Tests/Rules/Guards/Actions/SlackActionTests.cs b/tests/Squidex.Domain.Apps.Entities.Tests/Rules/Guards/Actions/SlackActionTests.cs deleted file mode 100644 index d4a9e60f6..000000000 --- a/tests/Squidex.Domain.Apps.Entities.Tests/Rules/Guards/Actions/SlackActionTests.cs +++ /dev/null @@ -1,71 +0,0 @@ -// ========================================================================== -// Squidex Headless CMS -// ========================================================================== -// Copyright (c) Squidex UG (haftungsbeschränkt) -// All rights reserved. Licensed under the MIT license. -// ========================================================================== - -using System; -using System.Collections.Generic; -using FluentAssertions; -using Squidex.Domain.Apps.Rules.Action.Slack; -using Squidex.Infrastructure; -using Xunit; - -namespace Squidex.Domain.Apps.Entities.Rules.Guards.Actions -{ - public class SlackActionTests - { - [Fact] - public void Should_add_error_if_webhook_url_is_null() - { - var action = new SlackAction { WebhookUrl = null, Text = "text" }; - - var errors = action.Validate(); - - errors.Should().BeEquivalentTo( - new List - { - new ValidationError("The Webhook Url field is required.", "WebhookUrl") - }); - } - - [Fact] - public void Should_add_error_if_webhook_url_is_relative() - { - var action = new SlackAction { WebhookUrl = new Uri("/invalid", UriKind.Relative), Text = "text" }; - - var errors = action.Validate(); - - errors.Should().BeEquivalentTo( - new List - { - new ValidationError("The Webhook Url field must be an absolute URL.", "WebhookUrl") - }); - } - - [Fact] - public void Should_add_error_if_text_is_null() - { - var action = new SlackAction { WebhookUrl = new Uri("https://squidex.io", UriKind.Absolute), Text = null }; - - var errors = action.Validate(); - - errors.Should().BeEquivalentTo( - new List - { - new ValidationError("The Text field is required.", "Text") - }); - } - - [Fact] - public void Should_not_add_error_if_webhook_url_is_absolute() - { - var action = new SlackAction { WebhookUrl = new Uri("https://squidex.io", UriKind.Absolute), Text = "text" }; - - var errors = action.Validate(); - - Assert.Empty(errors); - } - } -} diff --git a/tests/Squidex.Domain.Apps.Entities.Tests/Rules/Guards/Actions/TweetActionTests.cs b/tests/Squidex.Domain.Apps.Entities.Tests/Rules/Guards/Actions/TweetActionTests.cs deleted file mode 100644 index 98f601134..000000000 --- a/tests/Squidex.Domain.Apps.Entities.Tests/Rules/Guards/Actions/TweetActionTests.cs +++ /dev/null @@ -1,70 +0,0 @@ -// ========================================================================== -// Squidex Headless CMS -// ========================================================================== -// Copyright (c) Squidex UG (haftungsbeschränkt) -// All rights reserved. Licensed under the MIT license. -// ========================================================================== - -using System.Collections.Generic; -using FluentAssertions; -using Squidex.Domain.Apps.Rules.Action.Twitter; -using Squidex.Infrastructure; -using Xunit; - -namespace Squidex.Domain.Apps.Entities.Rules.Guards.Actions -{ - public class TweetActionTests - { - [Fact] - public void Should_add_error_if_access_token_is_null() - { - var action = new TweetAction { AccessToken = null, AccessSecret = "secret", Text = "text" }; - - var errors = action.Validate(); - - errors.Should().BeEquivalentTo( - new List - { - new ValidationError("The Access Token field is required.", "AccessToken") - }); - } - - [Fact] - public void Should_add_error_if_access_secret_is_null() - { - var action = new TweetAction { AccessToken = "token", AccessSecret = null, Text = "text" }; - - var errors = action.Validate(); - - errors.Should().BeEquivalentTo( - new List - { - new ValidationError("The Access Secret field is required.", "AccessSecret") - }); - } - - [Fact] - public void Should_add_error_if_text_is_null() - { - var action = new TweetAction { AccessToken = "token", AccessSecret = "secret", Text = null }; - - var errors = action.Validate(); - - errors.Should().BeEquivalentTo( - new List - { - new ValidationError("The Text field is required.", "Text") - }); - } - - [Fact] - public void Should_not_add_error_if_access_token_and_secret_defined() - { - var action = new TweetAction { AccessToken = "token", AccessSecret = "secret", Text = "text" }; - - var errors = action.Validate(); - - Assert.Empty(errors); - } - } -} diff --git a/tests/Squidex.Domain.Apps.Entities.Tests/Rules/Guards/Actions/WebhookActionTests.cs b/tests/Squidex.Domain.Apps.Entities.Tests/Rules/Guards/Actions/WebhookActionTests.cs deleted file mode 100644 index f2702877a..000000000 --- a/tests/Squidex.Domain.Apps.Entities.Tests/Rules/Guards/Actions/WebhookActionTests.cs +++ /dev/null @@ -1,57 +0,0 @@ -// ========================================================================== -// Squidex Headless CMS -// ========================================================================== -// Copyright (c) Squidex UG (haftungsbeschränkt) -// All rights reserved. Licensed under the MIT license. -// ========================================================================== - -using System; -using System.Collections.Generic; -using FluentAssertions; -using Squidex.Domain.Apps.Rules.Action.Webhook; -using Squidex.Infrastructure; -using Xunit; - -namespace Squidex.Domain.Apps.Entities.Rules.Guards.Actions -{ - public class WebhookActionTests - { - [Fact] - public void Should_add_error_if_url_is_null() - { - var action = new WebhookAction { Url = null }; - - var errors = action.Validate(); - - errors.Should().BeEquivalentTo( - new List - { - new ValidationError("The Url field is required.", "Url") - }); - } - - [Fact] - public void Should_add_error_if_url_is_relative() - { - var action = new WebhookAction { Url = new Uri("/invalid", UriKind.Relative) }; - - var errors = action.Validate(); - - errors.Should().BeEquivalentTo( - new List - { - new ValidationError("The Url field must be an absolute URL.", "Url") - }); - } - - [Fact] - public void Should_not_add_error_if_url_is_absolute() - { - var action = new WebhookAction { Url = new Uri("https://squidex.io", UriKind.Absolute) }; - - var errors = action.Validate(); - - Assert.Empty(errors); - } - } -} diff --git a/tests/Squidex.Domain.Apps.Entities.Tests/Squidex.Domain.Apps.Entities.Tests.csproj b/tests/Squidex.Domain.Apps.Entities.Tests/Squidex.Domain.Apps.Entities.Tests.csproj index 5556bacee..45f9a5357 100644 --- a/tests/Squidex.Domain.Apps.Entities.Tests/Squidex.Domain.Apps.Entities.Tests.csproj +++ b/tests/Squidex.Domain.Apps.Entities.Tests/Squidex.Domain.Apps.Entities.Tests.csproj @@ -14,7 +14,6 @@ -