From 5e0e779ba79790d29f1b091003919b22868643bb Mon Sep 17 00:00:00 2001 From: Sebastian Stehle Date: Sun, 31 Mar 2019 09:39:00 +0200 Subject: [PATCH] Code smells fixed. --- .../Assets/BackupAssets.cs | 2 +- .../Contents/BackupContents.cs | 2 +- .../Contents/ScheduleJob.cs | 11 ++-- .../Contents/State/ContentState.cs | 2 +- .../Contents/Text/GrainTextIndexer.cs | 8 +-- .../Contents/Text/ITextIndexer.cs | 1 - .../Contents/Text/IndexState.cs | 4 +- .../Contents/Text/TextIndexContent.cs | 4 +- .../EventSourcing/CosmosDbEventStore.cs | 12 ++--- .../EventSourcing/FilterBuilder.cs | 8 +-- .../Assets/MemoryAssetStore.cs | 4 +- .../Commands/IDomainState.cs | 2 +- .../Rules/Models/RuleElementPropertyDto.cs | 1 - src/Squidex/Config/Domain/EntitiesServices.cs | 3 -- src/Squidex/Config/Domain/StoreServices.cs | 2 - .../Model/Apps/LanguagesConfigTests.cs | 8 +-- .../Contents/Text/GrainTextIndexerTests.cs | 17 +----- .../SchemaChangedTriggerHandlerTests.cs | 2 - .../Assets/MongoGridFSAssetStoreFixture.cs | 3 +- .../EventSourcing/EventStoreTests.cs | 52 +++++++++---------- .../ApiExceptionFilterAttributeTests.cs | 2 +- .../ApiPermissionAttributeTests.cs | 8 +-- .../Pipeline/CleanupHostMiddlewareTests.cs | 7 ++- tools/Migrate_01/Rebuilder.cs | 2 +- 24 files changed, 69 insertions(+), 98 deletions(-) diff --git a/src/Squidex.Domain.Apps.Entities/Assets/BackupAssets.cs b/src/Squidex.Domain.Apps.Entities/Assets/BackupAssets.cs index 928fc292d..068a807de 100644 --- a/src/Squidex.Domain.Apps.Entities/Assets/BackupAssets.cs +++ b/src/Squidex.Domain.Apps.Entities/Assets/BackupAssets.cs @@ -77,7 +77,7 @@ namespace Squidex.Domain.Apps.Entities.Assets { await RestoreTagsAsync(appId, reader); - await RebuildManyAsync(assetIds, id => RebuildAsync(id)); + await RebuildManyAsync(assetIds, RebuildAsync); } private async Task RestoreTagsAsync(Guid appId, BackupReader reader) diff --git a/src/Squidex.Domain.Apps.Entities/Contents/BackupContents.cs b/src/Squidex.Domain.Apps.Entities/Contents/BackupContents.cs index d62e9c54c..84b0cb8d9 100644 --- a/src/Squidex.Domain.Apps.Entities/Contents/BackupContents.cs +++ b/src/Squidex.Domain.Apps.Entities/Contents/BackupContents.cs @@ -50,7 +50,7 @@ namespace Squidex.Domain.Apps.Entities.Contents { var contentIds = contentIdsBySchemaId.Values.SelectMany(x => x); - return RebuildManyAsync(contentIds, id => RebuildAsync(id)); + return RebuildManyAsync(contentIds, RebuildAsync); } } } diff --git a/src/Squidex.Domain.Apps.Entities/Contents/ScheduleJob.cs b/src/Squidex.Domain.Apps.Entities/Contents/ScheduleJob.cs index d1dc4c444..232e8b4a7 100644 --- a/src/Squidex.Domain.Apps.Entities/Contents/ScheduleJob.cs +++ b/src/Squidex.Domain.Apps.Entities/Contents/ScheduleJob.cs @@ -22,12 +22,17 @@ namespace Squidex.Domain.Apps.Entities.Contents public Instant DueTime { get; } - public ScheduleJob(Guid id, Status status, RefToken scheduledBy, Instant dueTime) + public ScheduleJob(Guid id, Status status, RefToken by, Instant due) { Id = id; - ScheduledBy = scheduledBy; + ScheduledBy = by; Status = status; - DueTime = dueTime; + DueTime = due; + } + + public static ScheduleJob Build(Status status, RefToken by, Instant due) + { + return new ScheduleJob(Guid.NewGuid(), status, by, due); } } } diff --git a/src/Squidex.Domain.Apps.Entities/Contents/State/ContentState.cs b/src/Squidex.Domain.Apps.Entities/Contents/State/ContentState.cs index 0745d6f55..ca610a74c 100644 --- a/src/Squidex.Domain.Apps.Entities/Contents/State/ContentState.cs +++ b/src/Squidex.Domain.Apps.Entities/Contents/State/ContentState.cs @@ -91,7 +91,7 @@ namespace Squidex.Domain.Apps.Entities.Contents.State protected void On(ContentStatusScheduled @event) { - ScheduleJob = new ScheduleJob(Guid.NewGuid(), @event.Status, @event.Actor, @event.DueTime); + ScheduleJob = ScheduleJob.Build(@event.Status, @event.Actor, @event.DueTime); } protected void On(ContentDeleted @event) diff --git a/src/Squidex.Domain.Apps.Entities/Contents/Text/GrainTextIndexer.cs b/src/Squidex.Domain.Apps.Entities/Contents/Text/GrainTextIndexer.cs index c9186c25c..df22f7bb2 100644 --- a/src/Squidex.Domain.Apps.Entities/Contents/Text/GrainTextIndexer.cs +++ b/src/Squidex.Domain.Apps.Entities/Contents/Text/GrainTextIndexer.cs @@ -68,7 +68,7 @@ namespace Squidex.Domain.Apps.Entities.Contents.Text switch (@event.Payload) { - case ContentDeleted contentDeleted: + case ContentDeleted _: await index.DeleteAsync(id); break; case ContentCreated contentCreated: @@ -80,10 +80,10 @@ namespace Squidex.Domain.Apps.Entities.Contents.Text case ContentUpdated contentUpdated: await index.IndexAsync(id, Data(contentUpdated.Data), false); break; - case ContentChangesDiscarded contentChangesDiscarded: + case ContentChangesDiscarded _: await index.CopyAsync(id, false); break; - case ContentChangesPublished contentChangesPublished: + case ContentChangesPublished _: case ContentStatusChanged contentStatusChanged when contentStatusChanged.Status == Status.Published: await index.CopyAsync(id, true); break; @@ -105,7 +105,7 @@ namespace Squidex.Domain.Apps.Entities.Contents.Text } } - private J Data(NamedContentData data) + private static J Data(NamedContentData data) { return new IndexData { Data = data }; } diff --git a/src/Squidex.Domain.Apps.Entities/Contents/Text/ITextIndexer.cs b/src/Squidex.Domain.Apps.Entities/Contents/Text/ITextIndexer.cs index 443d5c58e..4e86a644e 100644 --- a/src/Squidex.Domain.Apps.Entities/Contents/Text/ITextIndexer.cs +++ b/src/Squidex.Domain.Apps.Entities/Contents/Text/ITextIndexer.cs @@ -8,7 +8,6 @@ using System; using System.Collections.Generic; using System.Threading.Tasks; -using Squidex.Domain.Apps.Core.Contents; using Squidex.Domain.Apps.Entities.Apps; namespace Squidex.Domain.Apps.Entities.Contents.Text diff --git a/src/Squidex.Domain.Apps.Entities/Contents/Text/IndexState.cs b/src/Squidex.Domain.Apps.Entities/Contents/Text/IndexState.cs index 257f09a15..b181b9e12 100644 --- a/src/Squidex.Domain.Apps.Entities/Contents/Text/IndexState.cs +++ b/src/Squidex.Domain.Apps.Entities/Contents/Text/IndexState.cs @@ -15,13 +15,11 @@ namespace Squidex.Domain.Apps.Entities.Contents.Text internal sealed class IndexState { private const string MetaFor = "_fd"; - private readonly IndexReader indexReader; private readonly IndexWriter indexWriter; private readonly BinaryDocValues binaryValues; public IndexState(IndexReader indexReader, IndexWriter indexWriter) { - this.indexReader = indexReader; this.indexWriter = indexWriter; if (indexReader != null) @@ -63,7 +61,7 @@ namespace Squidex.Domain.Apps.Entities.Contents.Text private static BytesRef GetValue(byte forDraft, byte forPublished) { - return new BytesRef(new byte[] { forDraft, forPublished }); + return new BytesRef(new[] { forDraft, forPublished }); } } } diff --git a/src/Squidex.Domain.Apps.Entities/Contents/Text/TextIndexContent.cs b/src/Squidex.Domain.Apps.Entities/Contents/Text/TextIndexContent.cs index 9571c1349..4fb0eea60 100644 --- a/src/Squidex.Domain.Apps.Entities/Contents/Text/TextIndexContent.cs +++ b/src/Squidex.Domain.Apps.Entities/Contents/Text/TextIndexContent.cs @@ -22,8 +22,6 @@ namespace Squidex.Domain.Apps.Entities.Contents.Text { private const string MetaId = "_id"; private const string MetaKey = "_key"; - private const int ForDraftIndex = 0; - private const int ForPublishedIndex = 1; private readonly IndexWriter indexWriter; private readonly IndexSearcher indexSearcher; private readonly IndexState indexState; @@ -112,7 +110,7 @@ namespace Squidex.Domain.Apps.Entities.Contents.Text } } - private Document CreateDocument(NamedContentData data) + private static Document CreateDocument(NamedContentData data) { var languages = new Dictionary(); diff --git a/src/Squidex.Infrastructure.Azure/EventSourcing/CosmosDbEventStore.cs b/src/Squidex.Infrastructure.Azure/EventSourcing/CosmosDbEventStore.cs index a07bf13ec..5f094bd83 100644 --- a/src/Squidex.Infrastructure.Azure/EventSourcing/CosmosDbEventStore.cs +++ b/src/Squidex.Infrastructure.Azure/EventSourcing/CosmosDbEventStore.cs @@ -78,7 +78,7 @@ namespace Squidex.Infrastructure.EventSourcing await documentClient.CreateDocumentCollectionIfNotExistsAsync(databaseUri, new DocumentCollection { - Id = Constants.LeaseCollection, + Id = Constants.LeaseCollection }); await documentClient.CreateDocumentCollectionIfNotExistsAsync(databaseUri, @@ -94,7 +94,7 @@ namespace Squidex.Infrastructure.EventSourcing Indexes = new Collection { Index.Range(DataType.Number), - Index.Range(DataType.String), + Index.Range(DataType.String) } } } @@ -107,17 +107,17 @@ namespace Squidex.Infrastructure.EventSourcing { Paths = new Collection { - $"/eventStream", - $"/eventStreamOffset" + "/eventStream", + "/eventStreamOffset" } } } }, - Id = Constants.Collection, + Id = Constants.Collection }, new RequestOptions { - PartitionKey = new PartitionKey($"/eventStream") + PartitionKey = new PartitionKey("/eventStream") }); } } diff --git a/src/Squidex.Infrastructure.Azure/EventSourcing/FilterBuilder.cs b/src/Squidex.Infrastructure.Azure/EventSourcing/FilterBuilder.cs index b6bd7686c..419248c2f 100644 --- a/src/Squidex.Infrastructure.Azure/EventSourcing/FilterBuilder.cs +++ b/src/Squidex.Infrastructure.Azure/EventSourcing/FilterBuilder.cs @@ -94,21 +94,21 @@ namespace Squidex.Infrastructure.EventSourcing return BuildQuery(filters, parameters); } - private static SqlQuerySpec BuildQuery(List filters, SqlParameterCollection parameters) + private static SqlQuerySpec BuildQuery(IEnumerable filters, SqlParameterCollection parameters) { var query = $"SELECT * FROM {Constants.Collection} e WHERE {string.Join(" AND ", filters)} ORDER BY e.timestamp"; return new SqlQuerySpec(query, parameters); } - private static void ForProperty(this List filters, SqlParameterCollection parameters, string property, object value) + private static void ForProperty(this ICollection filters, SqlParameterCollection parameters, string property, object value) { filters.Add($"ARRAY_CONTAINS(e.events, {{ \"header\": {{ \"{property}\": @value }} }}, true)"); parameters.Add(new SqlParameter("@value", value)); } - private static void ForRegex(this List filters, SqlParameterCollection parameters, string streamFilter) + private static void ForRegex(this ICollection filters, SqlParameterCollection parameters, string streamFilter) { if (!StreamFilter.IsAll(streamFilter)) { @@ -125,7 +125,7 @@ namespace Squidex.Infrastructure.EventSourcing } } - private static void ForPosition(this List filters, SqlParameterCollection parameters, StreamPosition streamPosition) + private static void ForPosition(this ICollection filters, SqlParameterCollection parameters, StreamPosition streamPosition) { if (streamPosition.IsEndOfCommit) { diff --git a/src/Squidex.Infrastructure/Assets/MemoryAssetStore.cs b/src/Squidex.Infrastructure/Assets/MemoryAssetStore.cs index bc3b8804e..a4900ad84 100644 --- a/src/Squidex.Infrastructure/Assets/MemoryAssetStore.cs +++ b/src/Squidex.Infrastructure/Assets/MemoryAssetStore.cs @@ -73,7 +73,7 @@ namespace Squidex.Infrastructure.Assets public Task UploadAsync(string fileName, Stream stream, CancellationToken ct = default) { - return UploadCoreAsync(fileName, stream, false); + return UploadCoreAsync(fileName, stream, false, ct); } private async Task UploadCoreAsync(string fileName, Stream stream, bool overwrite, CancellationToken ct = default) @@ -127,7 +127,7 @@ namespace Squidex.Infrastructure.Assets return TaskHelper.Done; } - private string GetFileName(string id, long version, string suffix) + private static string GetFileName(string id, long version, string suffix) { return StringExtensions.JoinNonEmpty("_", id, version.ToString(), suffix); } diff --git a/src/Squidex.Infrastructure/Commands/IDomainState.cs b/src/Squidex.Infrastructure/Commands/IDomainState.cs index f20f14ce8..9d4412f7c 100644 --- a/src/Squidex.Infrastructure/Commands/IDomainState.cs +++ b/src/Squidex.Infrastructure/Commands/IDomainState.cs @@ -9,7 +9,7 @@ using Squidex.Infrastructure.EventSourcing; namespace Squidex.Infrastructure.Commands { - public interface IDomainState + public interface IDomainState { long Version { get; set; } diff --git a/src/Squidex/Areas/Api/Controllers/Rules/Models/RuleElementPropertyDto.cs b/src/Squidex/Areas/Api/Controllers/Rules/Models/RuleElementPropertyDto.cs index ea9c72a64..81170e36f 100644 --- a/src/Squidex/Areas/Api/Controllers/Rules/Models/RuleElementPropertyDto.cs +++ b/src/Squidex/Areas/Api/Controllers/Rules/Models/RuleElementPropertyDto.cs @@ -6,7 +6,6 @@ // ========================================================================== using System.ComponentModel.DataAnnotations; -using Newtonsoft.Json; using Squidex.Domain.Apps.Core.HandleRules; namespace Squidex.Areas.Api.Controllers.Rules.Models diff --git a/src/Squidex/Config/Domain/EntitiesServices.cs b/src/Squidex/Config/Domain/EntitiesServices.cs index d74410de7..b1cb19309 100644 --- a/src/Squidex/Config/Domain/EntitiesServices.cs +++ b/src/Squidex/Config/Domain/EntitiesServices.cs @@ -259,9 +259,6 @@ namespace Squidex.Config.Domain services.AddTransientAs() .As(); - services.AddTransientAs() - .As(); - services.AddTransientAs() .As(); diff --git a/src/Squidex/Config/Domain/StoreServices.cs b/src/Squidex/Config/Domain/StoreServices.cs index 584cdb7b6..0e46a3a39 100644 --- a/src/Squidex/Config/Domain/StoreServices.cs +++ b/src/Squidex/Config/Domain/StoreServices.cs @@ -50,8 +50,6 @@ namespace Squidex.Config.Domain var mongoDatabaseName = config.GetRequiredValue("store:mongoDb:database"); var mongoContentDatabaseName = config.GetOptionalValue("store:mongoDb:contentDatabase", mongoDatabaseName); - var isCosmosDb = config.GetOptionalValue("store:mongoDB:isCosmosDB"); - services.Configure(config.GetSection("store:mongoDB")); services.AddSingleton(typeof(ISnapshotStore<,>), typeof(MongoSnapshotStore<,>)); diff --git a/tests/Squidex.Domain.Apps.Core.Tests/Model/Apps/LanguagesConfigTests.cs b/tests/Squidex.Domain.Apps.Core.Tests/Model/Apps/LanguagesConfigTests.cs index 3c7867ee7..f1e995112 100644 --- a/tests/Squidex.Domain.Apps.Core.Tests/Model/Apps/LanguagesConfigTests.cs +++ b/tests/Squidex.Domain.Apps.Core.Tests/Model/Apps/LanguagesConfigTests.cs @@ -76,7 +76,7 @@ namespace Squidex.Domain.Apps.Core.Model.Apps public void Should_add_language() { var config_0 = LanguagesConfig.Build(Language.DE); - var config_1 = config_0.Set(new LanguageConfig(Language.IT)); + var config_1 = config_0.Set(Language.IT); config_1.OfType().ToList().Should().BeEquivalentTo( new List @@ -102,7 +102,7 @@ namespace Squidex.Domain.Apps.Core.Model.Apps { var config_0 = LanguagesConfig.Build(Language.DE); - config_0.Set(new LanguageConfig(Language.DE)); + config_0.Set(Language.DE); } [Fact] @@ -110,8 +110,8 @@ namespace Squidex.Domain.Apps.Core.Model.Apps { var config_0 = LanguagesConfig.Build(Language.DE); - var config_1 = config_0.Set(new LanguageConfig(Language.UK)); - var config_2 = config_1.Set(new LanguageConfig(Language.IT)); + var config_1 = config_0.Set(Language.UK); + var config_2 = config_1.Set(Language.IT); var config_3 = config_2.MakeMaster(Language.IT); Assert.Equal(Language.IT, config_3.Master.Language); diff --git a/tests/Squidex.Domain.Apps.Entities.Tests/Contents/Text/GrainTextIndexerTests.cs b/tests/Squidex.Domain.Apps.Entities.Tests/Contents/Text/GrainTextIndexerTests.cs index 8cdc51fde..4fe708bfe 100644 --- a/tests/Squidex.Domain.Apps.Entities.Tests/Contents/Text/GrainTextIndexerTests.cs +++ b/tests/Squidex.Domain.Apps.Entities.Tests/Contents/Text/GrainTextIndexerTests.cs @@ -28,6 +28,7 @@ namespace Squidex.Domain.Apps.Entities.Contents.Text private readonly ITextIndexerGrain grain = A.Fake(); private readonly Guid schemaId = Guid.NewGuid(); private readonly Guid contentId = Guid.NewGuid(); + private readonly NamedContentData data = new NamedContentData(); private readonly GrainTextIndexer sut; public GrainTextIndexerTests() @@ -50,8 +51,6 @@ namespace Squidex.Domain.Apps.Entities.Contents.Text [Fact] public async Task Should_call_grain_when_content_created() { - var data = new NamedContentData(); - await sut.On(E(new ContentCreated { Data = data })); A.CallTo(() => grain.IndexAsync(contentId, A>.That.Matches(x => x.Value.Data == data), true)) @@ -61,8 +60,6 @@ namespace Squidex.Domain.Apps.Entities.Contents.Text [Fact] public async Task Should_call_grain_when_content_updated() { - var data = new NamedContentData(); - await sut.On(E(new ContentUpdated { Data = data })); A.CallTo(() => grain.IndexAsync(contentId, A>.That.Matches(x => x.Value.Data == data), false)) @@ -72,8 +69,6 @@ namespace Squidex.Domain.Apps.Entities.Contents.Text [Fact] public async Task Should_call_grain_when_content_change_proposed() { - var data = new NamedContentData(); - await sut.On(E(new ContentUpdateProposed { Data = data })); A.CallTo(() => grain.IndexAsync(contentId, A>.That.Matches(x => x.Value.Data == data), true)) @@ -83,8 +78,6 @@ namespace Squidex.Domain.Apps.Entities.Contents.Text [Fact] public async Task Should_call_grain_when_content_change_published() { - var data = new NamedContentData(); - await sut.On(E(new ContentChangesPublished())); A.CallTo(() => grain.CopyAsync(contentId, true)) @@ -94,8 +87,6 @@ namespace Squidex.Domain.Apps.Entities.Contents.Text [Fact] public async Task Should_call_grain_when_content_change_discarded() { - var data = new NamedContentData(); - await sut.On(E(new ContentChangesDiscarded())); A.CallTo(() => grain.CopyAsync(contentId, false)) @@ -105,8 +96,6 @@ namespace Squidex.Domain.Apps.Entities.Contents.Text [Fact] public async Task Should_call_grain_when_content_published() { - var data = new NamedContentData(); - await sut.On(E(new ContentStatusChanged { Status = Status.Published })); A.CallTo(() => grain.CopyAsync(contentId, true)) @@ -116,8 +105,6 @@ namespace Squidex.Domain.Apps.Entities.Contents.Text [Fact] public async Task Should_catch_exception_when_indexing_failed() { - var data = new NamedContentData(); - A.CallTo(() => grain.IndexAsync(contentId, A>.Ignored, false)) .Throws(new InvalidOperationException()); @@ -127,8 +114,6 @@ namespace Squidex.Domain.Apps.Entities.Contents.Text [Fact] public async Task Should_not_catch_exception_when_indexing_failed_often() { - var data = new NamedContentData(); - A.CallTo(() => grain.IndexAsync(contentId, A>.Ignored, A.Ignored)) .Throws(new InvalidOperationException()); diff --git a/tests/Squidex.Domain.Apps.Entities.Tests/Schemas/SchemaChangedTriggerHandlerTests.cs b/tests/Squidex.Domain.Apps.Entities.Tests/Schemas/SchemaChangedTriggerHandlerTests.cs index 43cb7bf55..2501192a3 100644 --- a/tests/Squidex.Domain.Apps.Entities.Tests/Schemas/SchemaChangedTriggerHandlerTests.cs +++ b/tests/Squidex.Domain.Apps.Entities.Tests/Schemas/SchemaChangedTriggerHandlerTests.cs @@ -54,8 +54,6 @@ namespace Squidex.Domain.Apps.Entities.Schemas { var envelope = Envelope.Create(@event).SetEventStreamNumber(12); - var schemaGrain = A.Fake(); - var result = await sut.CreateEnrichedEventAsync(envelope); Assert.Equal(type, ((EnrichedSchemaEvent)result).Type); diff --git a/tests/Squidex.Infrastructure.Tests/Assets/MongoGridFSAssetStoreFixture.cs b/tests/Squidex.Infrastructure.Tests/Assets/MongoGridFSAssetStoreFixture.cs index 25f88a01b..db8c7e598 100644 --- a/tests/Squidex.Infrastructure.Tests/Assets/MongoGridFSAssetStoreFixture.cs +++ b/tests/Squidex.Infrastructure.Tests/Assets/MongoGridFSAssetStoreFixture.cs @@ -14,13 +14,12 @@ namespace Squidex.Infrastructure.Assets public sealed class MongoGridFSAssetStoreFixture : IDisposable { private readonly IMongoClient mongoClient = new MongoClient("mongodb://localhost"); - private readonly IMongoDatabase mongoDatabase; public MongoGridFsAssetStore AssetStore { get; } public MongoGridFSAssetStoreFixture() { - mongoDatabase = mongoClient.GetDatabase("GridFSTest"); + var mongoDatabase = mongoClient.GetDatabase("GridFSTest"); var gridFSBucket = new GridFSBucket(mongoDatabase, new GridFSBucketOptions { diff --git a/tests/Squidex.Infrastructure.Tests/EventSourcing/EventStoreTests.cs b/tests/Squidex.Infrastructure.Tests/EventSourcing/EventStoreTests.cs index ac7f06f7b..54c7772ce 100644 --- a/tests/Squidex.Infrastructure.Tests/EventSourcing/EventStoreTests.cs +++ b/tests/Squidex.Infrastructure.Tests/EventSourcing/EventStoreTests.cs @@ -61,10 +61,10 @@ namespace Squidex.Infrastructure.EventSourcing { var streamName = $"test-{Guid.NewGuid()}"; - var events = new EventData[] + var events = new[] { new EventData("Type1", new EnvelopeHeaders(), "1"), - new EventData("Type2", new EnvelopeHeaders(), "2"), + new EventData("Type2", new EnvelopeHeaders(), "2") }; await Assert.ThrowsAsync(() => Sut.AppendAsync(Guid.NewGuid(), streamName, 0, events)); @@ -75,10 +75,10 @@ namespace Squidex.Infrastructure.EventSourcing { var streamName = $"test-{Guid.NewGuid()}"; - var events = new EventData[] + var events = new[] { new EventData("Type1", new EnvelopeHeaders(), "1"), - new EventData("Type2", new EnvelopeHeaders(), "2"), + new EventData("Type2", new EnvelopeHeaders(), "2") }; await Sut.AppendAsync(Guid.NewGuid(), streamName, events); @@ -91,7 +91,7 @@ namespace Squidex.Infrastructure.EventSourcing { var streamName = $"test-{Guid.NewGuid()}"; - var events = new EventData[] + var events = new[] { new EventData("Type1", new EnvelopeHeaders(), "1"), new EventData("Type2", new EnvelopeHeaders(), "2") @@ -102,7 +102,7 @@ namespace Squidex.Infrastructure.EventSourcing var readEvents1 = await QueryAsync(streamName); var readEvents2 = await QueryWithCallbackAsync(streamName); - var expected = new StoredEvent[] + var expected = new[] { new StoredEvent(streamName, "Position", 0, events[0]), new StoredEvent(streamName, "Position", 1, events[1]) @@ -117,10 +117,10 @@ namespace Squidex.Infrastructure.EventSourcing { var streamName = $"test-{Guid.NewGuid()}"; - var events = new EventData[] + var events = new[] { new EventData("Type1", new EnvelopeHeaders(), "1"), - new EventData("Type2", new EnvelopeHeaders(), "2"), + new EventData("Type2", new EnvelopeHeaders(), "2") }; var readEvents = await QueryWithSubscriptionAsync(streamName, async () => @@ -128,7 +128,7 @@ namespace Squidex.Infrastructure.EventSourcing await Sut.AppendAsync(Guid.NewGuid(), streamName, events); }); - var expected = new StoredEvent[] + var expected = new[] { new StoredEvent(streamName, "Position", 0, events[0]), new StoredEvent(streamName, "Position", 1, events[1]) @@ -142,10 +142,10 @@ namespace Squidex.Infrastructure.EventSourcing { var streamName = $"test-{Guid.NewGuid()}"; - var events1 = new EventData[] + var events1 = new[] { new EventData("Type1", new EnvelopeHeaders(), "1"), - new EventData("Type2", new EnvelopeHeaders(), "2"), + new EventData("Type2", new EnvelopeHeaders(), "2") }; await QueryWithSubscriptionAsync(streamName, async () => @@ -153,10 +153,10 @@ namespace Squidex.Infrastructure.EventSourcing await Sut.AppendAsync(Guid.NewGuid(), streamName, events1); }); - var events2 = new EventData[] + var events2 = new[] { new EventData("Type1", new EnvelopeHeaders(), "1"), - new EventData("Type2", new EnvelopeHeaders(), "2"), + new EventData("Type2", new EnvelopeHeaders(), "2") }; var readEventsFromPosition = await QueryWithSubscriptionAsync(streamName, async () => @@ -164,7 +164,7 @@ namespace Squidex.Infrastructure.EventSourcing await Sut.AppendAsync(Guid.NewGuid(), streamName, events2); }); - var expectedFromPosition = new StoredEvent[] + var expectedFromPosition = new[] { new StoredEvent(streamName, "Position", 2, events2[0]), new StoredEvent(streamName, "Position", 3, events2[1]) @@ -172,7 +172,7 @@ namespace Squidex.Infrastructure.EventSourcing var readEventsFromBeginning = await QueryWithSubscriptionAsync(streamName, fromBeginning: true); - var expectedFromBeginning = new StoredEvent[] + var expectedFromBeginning = new[] { new StoredEvent(streamName, "Position", 0, events1[0]), new StoredEvent(streamName, "Position", 1, events1[1]), @@ -190,10 +190,10 @@ namespace Squidex.Infrastructure.EventSourcing { var streamName = $"test-{Guid.NewGuid()}"; - var events = new EventData[] + var events = new[] { new EventData("Type1", new EnvelopeHeaders(), "1"), - new EventData("Type2", new EnvelopeHeaders(), "2"), + new EventData("Type2", new EnvelopeHeaders(), "2") }; await Sut.AppendAsync(Guid.NewGuid(), streamName, events); @@ -203,7 +203,7 @@ namespace Squidex.Infrastructure.EventSourcing var readEvents1 = await QueryAsync(streamName, 1); var readEvents2 = await QueryWithCallbackAsync(streamName, firstRead[0].EventPosition); - var expected = new StoredEvent[] + var expected = new[] { new StoredEvent(streamName, "Position", 1, events[1]) }; @@ -217,10 +217,10 @@ namespace Squidex.Infrastructure.EventSourcing { var streamName = $"test-{Guid.NewGuid()}"; - var events = new EventData[] + var events = new[] { new EventData("Type1", new EnvelopeHeaders(), "1"), - new EventData("Type2", new EnvelopeHeaders(), "2"), + new EventData("Type2", new EnvelopeHeaders(), "2") }; await Sut.AppendAsync(Guid.NewGuid(), streamName, events); @@ -244,16 +244,16 @@ namespace Squidex.Infrastructure.EventSourcing var streamName1 = $"test-{Guid.NewGuid()}"; var streamName2 = $"test-{Guid.NewGuid()}"; - var events1 = new EventData[] + var events1 = new[] { new EventData("Type1", keyed1, "1"), - new EventData("Type2", keyed2, "2"), + new EventData("Type2", keyed2, "2") }; - var events2 = new EventData[] + var events2 = new[] { new EventData("Type3", keyed2, "3"), - new EventData("Type4", keyed1, "4"), + new EventData("Type4", keyed1, "4") }; await Sut.CreateIndexAsync("key"); @@ -263,7 +263,7 @@ namespace Squidex.Infrastructure.EventSourcing var readEvents = await QueryWithFilterAsync("key", keyed2["key"].ToString()); - var expected = new StoredEvent[] + var expected = new[] { new StoredEvent(streamName1, "Position", 1, events1[1]), new StoredEvent(streamName2, "Position", 0, events2[0]) @@ -366,7 +366,7 @@ namespace Squidex.Infrastructure.EventSourcing } } - private void ShouldBeEquivalentTo(IEnumerable actual, params StoredEvent[] expected) + private static void ShouldBeEquivalentTo(IEnumerable actual, params StoredEvent[] expected) { var actualArray = actual.Select(x => new StoredEvent(x.StreamName, "Position", x.EventStreamNumber, x.Data)).ToArray(); diff --git a/tests/Squidex.Web.Tests/ApiExceptionFilterAttributeTests.cs b/tests/Squidex.Web.Tests/ApiExceptionFilterAttributeTests.cs index 51a15b1d5..1af65751b 100644 --- a/tests/Squidex.Web.Tests/ApiExceptionFilterAttributeTests.cs +++ b/tests/Squidex.Web.Tests/ApiExceptionFilterAttributeTests.cs @@ -51,7 +51,7 @@ namespace Squidex.Web Assert.Equal(ex.Summary, (result.Value as ErrorDto).Message); - Assert.Equal(new string[] { "Error1", "P: Error2", "P1, P2: Error3" }, (result.Value as ErrorDto).Details); + Assert.Equal(new[] { "Error1", "P: Error2", "P1, P2: Error3" }, (result.Value as ErrorDto).Details); } [Fact] diff --git a/tests/Squidex.Web.Tests/ApiPermissionAttributeTests.cs b/tests/Squidex.Web.Tests/ApiPermissionAttributeTests.cs index 3a539a478..07297b7a6 100644 --- a/tests/Squidex.Web.Tests/ApiPermissionAttributeTests.cs +++ b/tests/Squidex.Web.Tests/ApiPermissionAttributeTests.cs @@ -8,26 +8,22 @@ using System.Collections.Generic; using System.Security.Claims; using System.Threading.Tasks; -using FakeItEasy; using Microsoft.AspNetCore.Http; using Microsoft.AspNetCore.Mvc; using Microsoft.AspNetCore.Mvc.Abstractions; using Microsoft.AspNetCore.Mvc.Filters; using Microsoft.AspNetCore.Routing; -using Squidex.Domain.Apps.Entities; using Squidex.Shared; using Squidex.Shared.Identity; using Xunit; #pragma warning disable IDE0017 // Simplify object initialization -namespace Squidex.Web.Pipeline +namespace Squidex.Web { public class ApiPermissionAttributeTests { - private readonly IAppProvider appProvider = A.Fake(); private readonly HttpContext httpContext = new DefaultHttpContext(); - private readonly ActionContext actionContext; private readonly ActionExecutingContext actionExecutingContext; private readonly ActionExecutionDelegate next; private readonly ClaimsIdentity user = new ClaimsIdentity(); @@ -35,7 +31,7 @@ namespace Squidex.Web.Pipeline public ApiPermissionAttributeTests() { - actionContext = new ActionContext(httpContext, new RouteData(), new ActionDescriptor + var actionContext = new ActionContext(httpContext, new RouteData(), new ActionDescriptor { FilterDescriptors = new List() }); diff --git a/tests/Squidex.Web.Tests/Pipeline/CleanupHostMiddlewareTests.cs b/tests/Squidex.Web.Tests/Pipeline/CleanupHostMiddlewareTests.cs index ab4db334a..5280491e7 100644 --- a/tests/Squidex.Web.Tests/Pipeline/CleanupHostMiddlewareTests.cs +++ b/tests/Squidex.Web.Tests/Pipeline/CleanupHostMiddlewareTests.cs @@ -14,20 +14,19 @@ namespace Squidex.Web.Pipeline { public class CleanupHostMiddlewareTests { - private readonly RequestDelegate next; private readonly CleanupHostMiddleware sut; private bool isNextCalled; public CleanupHostMiddlewareTests() { - next = context => + Task Next(HttpContext context) { isNextCalled = true; return TaskHelper.Done; - }; + } - sut = new CleanupHostMiddleware(next); + sut = new CleanupHostMiddleware(Next); } [Fact] diff --git a/tools/Migrate_01/Rebuilder.cs b/tools/Migrate_01/Rebuilder.cs index 92bb21174..3c034e6a2 100644 --- a/tools/Migrate_01/Rebuilder.cs +++ b/tools/Migrate_01/Rebuilder.cs @@ -112,7 +112,7 @@ namespace Migrate_01 if (handledIds.Add(id)) { - await worker.SendAsync(id); + await worker.SendAsync(id, ct); } }, filter, ct: ct);