Browse Source

Updates

pull/343/head
Sebastian 7 years ago
parent
commit
25a89b729f
  1. 2
      extensions/Squidex.Extensions/Squidex.Extensions.csproj
  2. 5
      src/Squidex.Domain.Apps.Core.Model/Schemas/Scripts.cs
  3. 2
      src/Squidex.Domain.Apps.Core.Operations/Squidex.Domain.Apps.Core.Operations.csproj
  4. 2
      src/Squidex.Domain.Apps.Entities.MongoDb/Squidex.Domain.Apps.Entities.MongoDb.csproj
  5. 11
      src/Squidex.Domain.Apps.Entities/Contents/ContentGrain.cs
  6. 14
      src/Squidex.Domain.Apps.Entities/Contents/ContentOperationContext.cs
  7. 3
      src/Squidex.Domain.Apps.Entities/Contents/ContentQueryService.cs
  8. 2
      src/Squidex.Domain.Apps.Entities/Squidex.Domain.Apps.Entities.csproj
  9. 2
      src/Squidex.Domain.Users.MongoDb/Squidex.Domain.Users.MongoDb.csproj
  10. 4
      src/Squidex.Infrastructure.MongoDb/Squidex.Infrastructure.MongoDb.csproj
  11. 4
      src/Squidex.Infrastructure/Squidex.Infrastructure.csproj
  12. 12
      src/Squidex/Squidex.csproj
  13. 2
      tests/Squidex.Domain.Apps.Core.Tests/Operations/EventSynchronization/SchemaSynchronizerTests.cs
  14. 4
      tests/Squidex.Domain.Apps.Core.Tests/Squidex.Domain.Apps.Core.Tests.csproj
  15. 6
      tests/Squidex.Domain.Apps.Entities.Tests/Contents/ContentQueryServiceTests.cs
  16. 6
      tests/Squidex.Domain.Apps.Entities.Tests/Squidex.Domain.Apps.Entities.Tests.csproj
  17. 4
      tests/Squidex.Domain.Users.Tests/Squidex.Domain.Users.Tests.csproj
  18. 46
      tests/Squidex.Infrastructure.Tests/EventSourcing/Grains/EventConsumerGrainTests.cs
  19. 4
      tests/Squidex.Infrastructure.Tests/EventSourcing/PollingSubscriptionTests.cs
  20. 4
      tests/Squidex.Infrastructure.Tests/EventSourcing/RetrySubscriptionTests.cs
  21. 4
      tests/Squidex.Infrastructure.Tests/Migrations/MigratorTests.cs
  22. 4
      tests/Squidex.Infrastructure.Tests/Orleans/BootstrapTests.cs
  23. 4
      tests/Squidex.Infrastructure.Tests/Squidex.Infrastructure.Tests.csproj
  24. 4
      tests/Squidex.Infrastructure.Tests/UsageTracking/CachingUsageTrackerTests.cs
  25. 4
      tests/Squidex.Tests/Squidex.Tests.csproj
  26. 2
      tools/Migrate_00/Migrate_00.csproj

2
extensions/Squidex.Extensions/Squidex.Extensions.csproj

@ -13,7 +13,7 @@
<ItemGroup>
<PackageReference Include="Algolia.Search" Version="5.3.1" />
<PackageReference Include="CoreTweet" Version="1.0.0.483" />
<PackageReference Include="Elasticsearch.Net" Version="6.4.1" />
<PackageReference Include="Elasticsearch.Net" Version="6.4.2" />
<PackageReference Include="Microsoft.Extensions.Http" Version="2.2.0" />
<PackageReference Include="Microsoft.OData.Core" Version="7.5.3" />
<PackageReference Include="Newtonsoft.Json" Version="12.0.1" />

5
src/Squidex.Domain.Apps.Core.Model/Schemas/Scripts.cs

@ -14,9 +14,10 @@ namespace Squidex.Domain.Apps.Core.Schemas
{
public const string Change = "Change";
public const string Create = "Create";
public const string Query = "Query";
public const string Update = "Update";
public const string Delete = "Delete";
public const string Update = "Update";
public const string Query = "Query";
public static string GetChange(this IReadOnlyDictionary<string, string> scripts)
{

2
src/Squidex.Domain.Apps.Core.Operations/Squidex.Domain.Apps.Core.Operations.csproj

@ -17,7 +17,7 @@
<ItemGroup>
<PackageReference Include="Jint" Version="3.0.0-beta-1427" />
<PackageReference Include="Microsoft.OData.Core" Version="7.5.3" />
<PackageReference Include="NJsonSchema" Version="9.13.11" />
<PackageReference Include="NJsonSchema" Version="9.13.17" />
<PackageReference Include="RefactoringEssentials" Version="5.6.0" PrivateAssets="all" />
<PackageReference Include="StyleCop.Analyzers" Version="1.0.2" PrivateAssets="all" />
<PackageReference Include="System.Collections.Immutable" Version="1.5.0" />

2
src/Squidex.Domain.Apps.Entities.MongoDb/Squidex.Domain.Apps.Entities.MongoDb.csproj

@ -17,7 +17,7 @@
</ItemGroup>
<ItemGroup>
<PackageReference Include="Microsoft.OData.Core" Version="7.5.3" />
<PackageReference Include="MongoDB.Driver" Version="2.7.2" />
<PackageReference Include="MongoDB.Driver" Version="2.7.3" />
<PackageReference Include="RefactoringEssentials" Version="5.6.0" PrivateAssets="all" />
<PackageReference Include="StyleCop.Analyzers" Version="1.0.2" PrivateAssets="all" />
<PackageReference Include="System.ValueTuple" Version="4.5.0" />

11
src/Squidex.Domain.Apps.Entities/Contents/ContentGrain.cs

@ -8,6 +8,7 @@
using System;
using System.Threading.Tasks;
using Squidex.Domain.Apps.Core.Contents;
using Squidex.Domain.Apps.Core.Schemas;
using Squidex.Domain.Apps.Core.Scripting;
using Squidex.Domain.Apps.Entities.Assets.Repositories;
using Squidex.Domain.Apps.Entities.Contents.Commands;
@ -66,7 +67,7 @@ namespace Squidex.Domain.Apps.Entities.Contents
GuardContent.CanCreate(ctx.Schema, c);
await ctx.ExecuteScriptAndTransformAsync(x => x.SchemaDef.Scripts.GetOrDefault("Create"), "Create", c, c.Data);
await ctx.ExecuteScriptAndTransformAsync(Scripts.Create, "Create", c, c.Data);
await ctx.EnrichAsync(c.Data);
if (!c.DoNotValidate)
@ -76,7 +77,7 @@ namespace Squidex.Domain.Apps.Entities.Contents
if (c.Publish)
{
await ctx.ExecuteScriptAsync(x => x.SchemaDef.Scripts.GetOrDefault("Change"), "Published", c, c.Data);
await ctx.ExecuteScriptAsync(Scripts.Change, "Published", c, c.Data);
}
Create(c);
@ -140,7 +141,7 @@ namespace Squidex.Domain.Apps.Entities.Contents
reason = StatusChange.Restored;
}
await ctx.ExecuteScriptAsync(x => x.SchemaDef.Scripts.GetOrDefault("Change"), reason, c, Snapshot.Data);
await ctx.ExecuteScriptAsync(Scripts.Change, reason, c, Snapshot.Data);
ChangeStatus(c, reason);
}
@ -166,7 +167,7 @@ namespace Squidex.Domain.Apps.Entities.Contents
GuardContent.CanDelete(ctx.Schema, c);
await ctx.ExecuteScriptAsync(x => x.SchemaDef.Scripts.GetOrDefault("Delete"), "Delete", c, Snapshot.Data);
await ctx.ExecuteScriptAsync(Scripts.Delete, "Delete", c, Snapshot.Data);
Delete(c);
});
@ -208,7 +209,7 @@ namespace Squidex.Domain.Apps.Entities.Contents
await ctx.ValidateAsync(c.Data);
}
newData = await ctx.ExecuteScriptAndTransformAsync(x => x.SchemaDef.Scripts.GetOrDefault("Update"), "Update", c, newData, Snapshot.Data);
newData = await ctx.ExecuteScriptAndTransformAsync(Scripts.Update, "Update", c, newData, Snapshot.Data);
if (isProposal)
{

14
src/Squidex.Domain.Apps.Entities/Contents/ContentOperationContext.cs

@ -17,6 +17,7 @@ using Squidex.Domain.Apps.Entities.Assets.Repositories;
using Squidex.Domain.Apps.Entities.Contents.Commands;
using Squidex.Domain.Apps.Entities.Contents.Repositories;
using Squidex.Domain.Apps.Entities.Schemas;
using Squidex.Infrastructure;
using Squidex.Infrastructure.Queries;
using Squidex.Infrastructure.Tasks;
@ -86,20 +87,20 @@ namespace Squidex.Domain.Apps.Entities.Contents
return data.ValidatePartialAsync(ctx, schemaEntity.SchemaDef, appEntity.PartitionResolver(), message);
}
public Task<NamedContentData> ExecuteScriptAndTransformAsync(Func<ISchemaEntity, string> script, object operation, ContentCommand command, NamedContentData data, NamedContentData oldData = null)
public Task<NamedContentData> ExecuteScriptAndTransformAsync(string script, object operation, ContentCommand command, NamedContentData data, NamedContentData oldData = null)
{
var ctx = CreateScriptContext(operation, command, data, oldData);
var result = scriptEngine.ExecuteAndTransform(ctx, script(schemaEntity));
var result = scriptEngine.ExecuteAndTransform(ctx, GetScript(script));
return Task.FromResult(result);
}
public Task ExecuteScriptAsync(Func<ISchemaEntity, string> script, object operation, ContentCommand command, NamedContentData data, NamedContentData oldData = null)
public Task ExecuteScriptAsync(string script, object operation, ContentCommand command, NamedContentData data, NamedContentData oldData = null)
{
var ctx = CreateScriptContext(operation, command, data, oldData);
scriptEngine.Execute(ctx, script(schemaEntity));
scriptEngine.Execute(ctx, GetScript(script));
return TaskHelper.Done;
}
@ -123,5 +124,10 @@ namespace Squidex.Domain.Apps.Entities.Contents
{
return await contentRepository.QueryIdsAsync(appEntity.Id, filterSchemaId, filterNode);
}
private string GetScript(string script)
{
return schemaEntity.SchemaDef.Scripts.GetOrDefault(script);
}
}
}

3
src/Squidex.Domain.Apps.Entities/Contents/ContentQueryService.cs

@ -14,6 +14,7 @@ using Microsoft.Extensions.Options;
using Microsoft.OData;
using Squidex.Domain.Apps.Core.Contents;
using Squidex.Domain.Apps.Core.ConvertContent;
using Squidex.Domain.Apps.Core.Schemas;
using Squidex.Domain.Apps.Core.Scripting;
using Squidex.Domain.Apps.Entities.Contents.Edm;
using Squidex.Domain.Apps.Entities.Contents.Repositories;
@ -158,7 +159,7 @@ namespace Squidex.Domain.Apps.Entities.Contents
{
var converters = GenerateConverters(context, checkType).ToArray();
var scriptText = schema.SchemaDef.Scripts.GetOrDefault("Query");
var scriptText = schema.SchemaDef.Scripts.GetQuery();
var isScripting = !string.IsNullOrWhiteSpace(scriptText);

2
src/Squidex.Domain.Apps.Entities/Squidex.Domain.Apps.Entities.csproj

@ -16,7 +16,7 @@
</ItemGroup>
<ItemGroup>
<PackageReference Include="GraphQL" Version="2.4.0" />
<PackageReference Include="Microsoft.Orleans.CodeGenerator.MSBuild" Version="2.2.0">
<PackageReference Include="Microsoft.Orleans.CodeGenerator.MSBuild" Version="2.2.3">
<PrivateAssets>all</PrivateAssets>
<IncludeAssets>runtime; build; native; contentfiles; analyzers</IncludeAssets>
</PackageReference>

2
src/Squidex.Domain.Users.MongoDb/Squidex.Domain.Users.MongoDb.csproj

@ -17,7 +17,7 @@
<PackageReference Include="IdentityServer4" Version="2.3.2" />
<PackageReference Include="Microsoft.AspNetCore.Identity" Version="2.2.0" />
<PackageReference Include="Microsoft.Win32.Registry" Version="4.5.0" />
<PackageReference Include="MongoDB.Driver" Version="2.7.2" />
<PackageReference Include="MongoDB.Driver" Version="2.7.3" />
<PackageReference Include="RefactoringEssentials" Version="5.6.0" PrivateAssets="all" />
<PackageReference Include="StyleCop.Analyzers" Version="1.0.2" PrivateAssets="all" />
<PackageReference Include="System.Security.Principal.Windows" Version="4.5.1" />

4
src/Squidex.Infrastructure.MongoDb/Squidex.Infrastructure.MongoDb.csproj

@ -12,8 +12,8 @@
<ProjectReference Include="..\Squidex.Infrastructure\Squidex.Infrastructure.csproj" />
</ItemGroup>
<ItemGroup>
<PackageReference Include="MongoDB.Driver" Version="2.7.2" />
<PackageReference Include="MongoDB.Driver.GridFS" Version="2.7.2" />
<PackageReference Include="MongoDB.Driver" Version="2.7.3" />
<PackageReference Include="MongoDB.Driver.GridFS" Version="2.7.3" />
<PackageReference Include="RefactoringEssentials" Version="5.6.0" PrivateAssets="all" />
<PackageReference Include="StyleCop.Analyzers" Version="1.0.2" PrivateAssets="all" />
<PackageReference Include="System.Threading.Tasks.Dataflow" Version="4.9.0" />

4
src/Squidex.Infrastructure/Squidex.Infrastructure.csproj

@ -12,12 +12,12 @@
<PackageReference Include="Microsoft.Extensions.Diagnostics.HealthChecks.Abstractions" Version="2.2.0" />
<PackageReference Include="Microsoft.Extensions.Logging" Version="2.2.0" />
<PackageReference Include="Microsoft.OData.Core" Version="7.5.3" />
<PackageReference Include="Microsoft.Orleans.CodeGenerator.MSBuild" Version="2.2.0">
<PackageReference Include="Microsoft.Orleans.CodeGenerator.MSBuild" Version="2.2.3">
<PrivateAssets>all</PrivateAssets>
<IncludeAssets>runtime; build; native; contentfiles; analyzers</IncludeAssets>
</PackageReference>
<PackageReference Include="Microsoft.Orleans.Core" Version="2.2.0" />
<PackageReference Include="Microsoft.Orleans.OrleansRuntime" Version="2.2.0" />
<PackageReference Include="Microsoft.Orleans.OrleansRuntime" Version="2.2.3" />
<PackageReference Include="Newtonsoft.Json" Version="12.0.1" />
<PackageReference Include="NodaTime" Version="2.4.4" />
<PackageReference Include="RefactoringEssentials" Version="5.6.0" PrivateAssets="all" />

12
src/Squidex/Squidex.csproj

@ -62,7 +62,7 @@
<ItemGroup>
<PackageReference Include="Algolia.Search" Version="5.3.1" />
<PackageReference Include="AspNet.Security.OAuth.GitHub" Version="2.0.0" />
<PackageReference Include="AspNet.Security.OAuth.GitHub" Version="2.0.1" />
<PackageReference Include="Ben.BlockingDetector" Version="0.0.3" />
<PackageReference Include="EventStore.ClientAPI.NetCore" Version="4.1.0.23" />
<PackageReference Include="IdentityServer4" Version="2.3.2" />
@ -85,15 +85,15 @@
<PackageReference Include="Microsoft.Orleans.Client" Version="2.2.0" />
<PackageReference Include="Microsoft.Orleans.Core" Version="2.2.0" />
<PackageReference Include="Microsoft.Orleans.Core.Abstractions" Version="2.2.0" />
<PackageReference Include="Microsoft.Orleans.OrleansRuntime" Version="2.2.0" />
<PackageReference Include="MongoDB.Driver" Version="2.7.2" />
<PackageReference Include="NJsonSchema" Version="9.13.11" />
<PackageReference Include="NSwag.AspNetCore" Version="12.0.9" />
<PackageReference Include="Microsoft.Orleans.OrleansRuntime" Version="2.2.3" />
<PackageReference Include="MongoDB.Driver" Version="2.7.3" />
<PackageReference Include="NJsonSchema" Version="9.13.17" />
<PackageReference Include="NSwag.AspNetCore" Version="12.0.13" />
<PackageReference Include="OpenCover" Version="4.6.519" />
<PackageReference Include="Orleans.Providers.MongoDB" Version="2.0.1" />
<PackageReference Include="OrleansDashboard" Version="2.1.3" />
<PackageReference Include="RefactoringEssentials" Version="5.6.0" PrivateAssets="all" />
<PackageReference Include="ReportGenerator" Version="4.0.4" />
<PackageReference Include="ReportGenerator" Version="4.0.9" />
<PackageReference Include="StackExchange.Redis.StrongName" Version="1.2.6" />
<PackageReference Include="StyleCop.Analyzers" Version="1.0.2" PrivateAssets="all" />
<PackageReference Include="System.Linq" Version="4.3.0" />

2
tests/Squidex.Domain.Apps.Core.Tests/Operations/EventSynchronization/SchemaSynchronizerTests.cs

@ -61,7 +61,7 @@ namespace Squidex.Domain.Apps.Core.Operations.EventSynchronization
{
var scripts = new Dictionary<string, string>
{
["Create"] = "Script"
[Scripts.Create] = "<create-script>"
};
var sourceSchema = new Schema("source");

4
tests/Squidex.Domain.Apps.Core.Tests/Squidex.Domain.Apps.Core.Tests.csproj

@ -12,8 +12,8 @@
<ProjectReference Include="..\..\src\Squidex.Infrastructure\Squidex.Infrastructure.csproj" />
</ItemGroup>
<ItemGroup>
<PackageReference Include="FakeItEasy" Version="4.9.2" />
<PackageReference Include="FluentAssertions" Version="5.5.3" />
<PackageReference Include="FakeItEasy" Version="5.0.1" />
<PackageReference Include="FluentAssertions" Version="5.6.0" />
<PackageReference Include="Microsoft.NET.Test.Sdk" Version="15.9.0" />
<PackageReference Include="RefactoringEssentials" Version="5.6.0" PrivateAssets="all" />
<PackageReference Include="StyleCop.Analyzers" Version="1.0.2" PrivateAssets="all" />

6
tests/Squidex.Domain.Apps.Entities.Tests/Contents/ContentQueryServiceTests.cs

@ -202,7 +202,7 @@ namespace Squidex.Domain.Apps.Entities.Contents
Assert.Equal(content.Id, result.Id);
A.CallTo(() => scriptEngine.Transform(A<ScriptContext>.Ignored, A<string>.Ignored))
.MustHaveHappened(Repeated.Exactly.Once);
.MustHaveHappened(1, Times.Exactly);
}
[Fact]
@ -301,7 +301,7 @@ namespace Squidex.Domain.Apps.Entities.Contents
Assert.Equal(total, result.Total);
A.CallTo(() => scriptEngine.Transform(A<ScriptContext>.Ignored, A<string>.Ignored))
.MustHaveHappened(Repeated.Exactly.Times(count));
.MustHaveHappened(count, Times.Exactly);
}
[Fact]
@ -377,7 +377,7 @@ namespace Squidex.Domain.Apps.Entities.Contents
Assert.Equal(total, result.Total);
A.CallTo(() => scriptEngine.Transform(A<ScriptContext>.Ignored, A<string>.Ignored))
.MustHaveHappened(Repeated.Exactly.Times(count));
.MustHaveHappened(count, Times.Exactly);
}
private void SetupClaims(bool isFrontend = false, bool allowSchema = true)

6
tests/Squidex.Domain.Apps.Entities.Tests/Squidex.Domain.Apps.Entities.Tests.csproj

@ -17,11 +17,11 @@
<ProjectReference Include="..\Squidex.Domain.Apps.Core.Tests\Squidex.Domain.Apps.Core.Tests.csproj" />
</ItemGroup>
<ItemGroup>
<PackageReference Include="FakeItEasy" Version="4.9.2" />
<PackageReference Include="FluentAssertions" Version="5.5.3" />
<PackageReference Include="FakeItEasy" Version="5.0.1" />
<PackageReference Include="FluentAssertions" Version="5.6.0" />
<PackageReference Include="GraphQL" Version="2.4.0" />
<PackageReference Include="Microsoft.NET.Test.Sdk" Version="15.9.0" />
<PackageReference Include="MongoDB.Driver" Version="2.7.2" />
<PackageReference Include="MongoDB.Driver" Version="2.7.3" />
<PackageReference Include="RefactoringEssentials" Version="5.6.0" PrivateAssets="all" />
<PackageReference Include="StyleCop.Analyzers" Version="1.0.2" PrivateAssets="all" />
<PackageReference Include="System.ValueTuple" Version="4.5.0" />

4
tests/Squidex.Domain.Users.Tests/Squidex.Domain.Users.Tests.csproj

@ -12,8 +12,8 @@
<ProjectReference Include="..\..\src\Squidex.Shared\Squidex.Shared.csproj" />
</ItemGroup>
<ItemGroup>
<PackageReference Include="FakeItEasy" Version="4.9.2" />
<PackageReference Include="FluentAssertions" Version="5.5.3" />
<PackageReference Include="FakeItEasy" Version="5.0.1" />
<PackageReference Include="FluentAssertions" Version="5.6.0" />
<PackageReference Include="Microsoft.NET.Test.Sdk" Version="15.9.0" />
<PackageReference Include="RefactoringEssentials" Version="5.6.0" PrivateAssets="all" />
<PackageReference Include="StyleCop.Analyzers" Version="1.0.2" PrivateAssets="all" />

46
tests/Squidex.Infrastructure.Tests/EventSourcing/Grains/EventConsumerGrainTests.cs

@ -116,7 +116,7 @@ namespace Squidex.Infrastructure.EventSourcing.Grains
state.Should().BeEquivalentTo(new EventConsumerState { IsStopped = false, Position = initialPosition, Error = null });
A.CallTo(() => eventStore.CreateSubscription(A<IEventSubscriber>.Ignored, A<string>.Ignored, A<string>.Ignored))
.MustHaveHappened(Repeated.Exactly.Once);
.MustHaveHappened(1, Times.Exactly);
}
[Fact]
@ -128,7 +128,7 @@ namespace Squidex.Infrastructure.EventSourcing.Grains
state.Should().BeEquivalentTo(new EventConsumerState { IsStopped = false, Position = initialPosition, Error = null });
A.CallTo(() => eventStore.CreateSubscription(A<IEventSubscriber>.Ignored, A<string>.Ignored, A<string>.Ignored))
.MustHaveHappened(Repeated.Exactly.Once);
.MustHaveHappened(1, Times.Exactly);
}
[Fact]
@ -142,10 +142,10 @@ namespace Squidex.Infrastructure.EventSourcing.Grains
state.Should().BeEquivalentTo(new EventConsumerState { IsStopped = true, Position = initialPosition, Error = null });
A.CallTo(() => persistence.WriteSnapshotAsync(A<EventConsumerState>.Ignored))
.MustHaveHappened(Repeated.Exactly.Once);
.MustHaveHappened(1, Times.Exactly);
A.CallTo(() => eventSubscription.StopAsync())
.MustHaveHappened(Repeated.Exactly.Once);
.MustHaveHappened(1, Times.Exactly);
}
[Fact]
@ -159,19 +159,19 @@ namespace Squidex.Infrastructure.EventSourcing.Grains
state.Should().BeEquivalentTo(new EventConsumerState { IsStopped = false, Position = null, Error = null });
A.CallTo(() => persistence.WriteSnapshotAsync(A<EventConsumerState>.Ignored))
.MustHaveHappened(Repeated.Exactly.Twice);
.MustHaveHappened(2, Times.Exactly);
A.CallTo(() => eventConsumer.ClearAsync())
.MustHaveHappened(Repeated.Exactly.Once);
.MustHaveHappened(1, Times.Exactly);
A.CallTo(() => eventSubscription.StopAsync())
.MustHaveHappened(Repeated.Exactly.Once);
.MustHaveHappened(1, Times.Exactly);
A.CallTo(() => eventStore.CreateSubscription(A<IEventSubscriber>.Ignored, A<string>.Ignored, state.Position))
.MustHaveHappened(Repeated.Exactly.Once);
.MustHaveHappened(1, Times.Exactly);
A.CallTo(() => eventStore.CreateSubscription(A<IEventSubscriber>.Ignored, A<string>.Ignored, null))
.MustHaveHappened(Repeated.Exactly.Once);
.MustHaveHappened(1, Times.Exactly);
}
[Fact]
@ -187,10 +187,10 @@ namespace Squidex.Infrastructure.EventSourcing.Grains
state.Should().BeEquivalentTo(new EventConsumerState { IsStopped = false, Position = @event.EventPosition, Error = null });
A.CallTo(() => persistence.WriteSnapshotAsync(A<EventConsumerState>.Ignored))
.MustHaveHappened(Repeated.Exactly.Once);
.MustHaveHappened(1, Times.Exactly);
A.CallTo(() => eventConsumer.On(envelope))
.MustHaveHappened(Repeated.Exactly.Once);
.MustHaveHappened(1, Times.Exactly);
}
[Fact]
@ -209,7 +209,7 @@ namespace Squidex.Infrastructure.EventSourcing.Grains
state.Should().BeEquivalentTo(new EventConsumerState { IsStopped = false, Position = @event.EventPosition, Error = null });
A.CallTo(() => persistence.WriteSnapshotAsync(A<EventConsumerState>.Ignored))
.MustHaveHappened(Repeated.Exactly.Once);
.MustHaveHappened(1, Times.Exactly);
A.CallTo(() => eventConsumer.On(envelope))
.MustNotHaveHappened();
@ -244,10 +244,10 @@ namespace Squidex.Infrastructure.EventSourcing.Grains
state.Should().BeEquivalentTo(new EventConsumerState { IsStopped = true, Position = initialPosition, Error = ex.ToString() });
A.CallTo(() => persistence.WriteSnapshotAsync(A<EventConsumerState>.Ignored))
.MustHaveHappened(Repeated.Exactly.Once);
.MustHaveHappened(1, Times.Exactly);
A.CallTo(() => eventSubscription.StopAsync())
.MustHaveHappened(Repeated.Exactly.Once);
.MustHaveHappened(1, Times.Exactly);
}
[Fact]
@ -292,10 +292,10 @@ namespace Squidex.Infrastructure.EventSourcing.Grains
state.Should().BeEquivalentTo(new EventConsumerState { IsStopped = true, Position = initialPosition, Error = ex.ToString() });
A.CallTo(() => persistence.WriteSnapshotAsync(A<EventConsumerState>.Ignored))
.MustHaveHappened(Repeated.Exactly.Once);
.MustHaveHappened(1, Times.Exactly);
A.CallTo(() => eventSubscription.StopAsync())
.MustHaveHappened(Repeated.Exactly.Once);
.MustHaveHappened(1, Times.Exactly);
}
[Fact]
@ -319,10 +319,10 @@ namespace Squidex.Infrastructure.EventSourcing.Grains
.MustHaveHappened();
A.CallTo(() => persistence.WriteSnapshotAsync(A<EventConsumerState>.Ignored))
.MustHaveHappened(Repeated.Exactly.Once);
.MustHaveHappened(1, Times.Exactly);
A.CallTo(() => eventSubscription.StopAsync())
.MustHaveHappened(Repeated.Exactly.Once);
.MustHaveHappened(1, Times.Exactly);
}
[Fact]
@ -346,10 +346,10 @@ namespace Squidex.Infrastructure.EventSourcing.Grains
.MustNotHaveHappened();
A.CallTo(() => persistence.WriteSnapshotAsync(A<EventConsumerState>.Ignored))
.MustHaveHappened(Repeated.Exactly.Once);
.MustHaveHappened(1, Times.Exactly);
A.CallTo(() => eventSubscription.StopAsync())
.MustHaveHappened(Repeated.Exactly.Once);
.MustHaveHappened(1, Times.Exactly);
}
[Fact]
@ -377,13 +377,13 @@ namespace Squidex.Infrastructure.EventSourcing.Grains
.MustHaveHappened();
A.CallTo(() => persistence.WriteSnapshotAsync(A<EventConsumerState>.Ignored))
.MustHaveHappened(Repeated.Exactly.Twice);
.MustHaveHappened(2, Times.Exactly);
A.CallTo(() => eventSubscription.StopAsync())
.MustHaveHappened(Repeated.Exactly.Once);
.MustHaveHappened(1, Times.Exactly);
A.CallTo(() => eventStore.CreateSubscription(A<IEventSubscriber>.Ignored, A<string>.Ignored, A<string>.Ignored))
.MustHaveHappened(Repeated.Exactly.Twice);
.MustHaveHappened(2, Times.Exactly);
}
private Task OnErrorAsync(IEventSubscription subscriber, Exception ex)

4
tests/Squidex.Infrastructure.Tests/EventSourcing/PollingSubscriptionTests.cs

@ -27,7 +27,7 @@ namespace Squidex.Infrastructure.EventSourcing
await WaitAndStopAsync(sut);
A.CallTo(() => eventStore.QueryAsync(A<Func<StoredEvent, Task>>.Ignored, "^my-stream", position, A<CancellationToken>.Ignored))
.MustHaveHappened(Repeated.Exactly.Once);
.MustHaveHappened(1, Times.Exactly);
}
[Fact]
@ -88,7 +88,7 @@ namespace Squidex.Infrastructure.EventSourcing
await WaitAndStopAsync(sut);
A.CallTo(() => eventStore.QueryAsync(A<Func<StoredEvent, Task>>.Ignored, "^my-stream", position, A<CancellationToken>.Ignored))
.MustHaveHappened(Repeated.Exactly.Twice);
.MustHaveHappened(2, Times.Exactly);
}
private static async Task WaitAndStopAsync(IEventSubscription sut)

4
tests/Squidex.Infrastructure.Tests/EventSourcing/RetrySubscriptionTests.cs

@ -49,10 +49,10 @@ namespace Squidex.Infrastructure.EventSourcing
await sut.StopAsync();
A.CallTo(() => eventSubscription.StopAsync())
.MustHaveHappened(Repeated.Exactly.Twice);
.MustHaveHappened(2, Times.Exactly);
A.CallTo(() => eventStore.CreateSubscription(A<IEventSubscriber>.Ignored, A<string>.Ignored, A<string>.Ignored))
.MustHaveHappened(Repeated.Exactly.Twice);
.MustHaveHappened(2, Times.Exactly);
A.CallTo(() => eventSubscriber.OnErrorAsync(A<IEventSubscription>.Ignored, A<Exception>.Ignored))
.MustNotHaveHappened();

4
tests/Squidex.Infrastructure.Tests/Migrations/MigratorTests.cs

@ -126,8 +126,8 @@ namespace Squidex.Infrastructure.Migrations
await Task.WhenAll(Enumerable.Repeat(0, 10).Select(x => Task.Run(sut.MigrateAsync)));
A.CallTo(() => migrator_0_1.UpdateAsync()).MustHaveHappened(Repeated.Exactly.Once);
A.CallTo(() => migrator_1_2.UpdateAsync()).MustHaveHappened(Repeated.Exactly.Once);
A.CallTo(() => migrator_0_1.UpdateAsync()).MustHaveHappened(1, Times.Exactly);
A.CallTo(() => migrator_1_2.UpdateAsync()).MustHaveHappened(1, Times.Exactly);
}
private IMigration BuildMigration(int fromVersion, int toVersion)

4
tests/Squidex.Infrastructure.Tests/Orleans/BootstrapTests.cs

@ -58,7 +58,7 @@ namespace Squidex.Infrastructure.Orleans
await sut.Execute(CancellationToken.None);
A.CallTo(() => grain.ActivateAsync())
.MustHaveHappened(Repeated.Exactly.Twice);
.MustHaveHappened(2, Times.Exactly);
}
[Fact]
@ -70,7 +70,7 @@ namespace Squidex.Infrastructure.Orleans
await Assert.ThrowsAsync<OrleansException>(() => sut.Execute(CancellationToken.None));
A.CallTo(() => grain.ActivateAsync())
.MustHaveHappened(Repeated.Exactly.Times(10));
.MustHaveHappened(10, Times.Exactly);
}
}
}

4
tests/Squidex.Infrastructure.Tests/Squidex.Infrastructure.Tests.csproj

@ -13,8 +13,8 @@
<ProjectReference Include="..\..\src\Squidex.Infrastructure\Squidex.Infrastructure.csproj" />
</ItemGroup>
<ItemGroup>
<PackageReference Include="FakeItEasy" Version="4.9.2" />
<PackageReference Include="FluentAssertions" Version="5.5.3" />
<PackageReference Include="FakeItEasy" Version="5.0.1" />
<PackageReference Include="FluentAssertions" Version="5.6.0" />
<PackageReference Include="Google.Cloud.Storage.V1" Version="2.2.1" />
<PackageReference Include="Microsoft.Extensions.Caching.Abstractions" Version="2.2.0" />
<PackageReference Include="Microsoft.Extensions.Caching.Memory" Version="2.2.0" />

4
tests/Squidex.Infrastructure.Tests/UsageTracking/CachingUsageTrackerTests.cs

@ -57,7 +57,7 @@ namespace Squidex.Infrastructure.UsageTracking
Assert.Equal(100, result2);
A.CallTo(() => inner.GetMonthlyCallsAsync(key, DateTime.Today))
.MustHaveHappened(Repeated.Exactly.Once);
.MustHaveHappened(1, Times.Exactly);
}
[Fact]
@ -76,7 +76,7 @@ namespace Squidex.Infrastructure.UsageTracking
Assert.Equal(120, result2);
A.CallTo(() => inner.GetPreviousCallsAsync(key, f, t))
.MustHaveHappened(Repeated.Exactly.Once);
.MustHaveHappened(1, Times.Exactly);
}
}
}

4
tests/Squidex.Tests/Squidex.Tests.csproj

@ -12,11 +12,11 @@
<ProjectReference Include="..\..\src\Squidex\Squidex.csproj" />
</ItemGroup>
<ItemGroup>
<PackageReference Include="FakeItEasy" Version="4.9.2" />
<PackageReference Include="FakeItEasy" Version="5.0.1" />
<PackageReference Include="IdentityServer4" Version="2.3.2" />
<PackageReference Include="IdentityServer4.AspNetIdentity" Version="2.3.0" />
<PackageReference Include="Microsoft.NET.Test.Sdk" Version="15.9.0" />
<PackageReference Include="NJsonSchema" Version="9.13.11" />
<PackageReference Include="NJsonSchema" Version="9.13.17" />
<PackageReference Include="RefactoringEssentials" Version="5.6.0" PrivateAssets="all" />
<PackageReference Include="StyleCop.Analyzers" Version="1.0.2" PrivateAssets="all" />
<PackageReference Include="xunit" Version="2.4.1" />

2
tools/Migrate_00/Migrate_00.csproj

@ -6,7 +6,7 @@
<LangVersion>7.3</LangVersion>
</PropertyGroup>
<ItemGroup>
<PackageReference Include="MongoDB.Driver" Version="2.7.2" />
<PackageReference Include="MongoDB.Driver" Version="2.7.3" />
<PackageReference Include="RefactoringEssentials" Version="5.6.0" PrivateAssets="all" />
<PackageReference Include="StyleCop.Analyzers" Version="1.0.2" PrivateAssets="all" />
</ItemGroup>

Loading…
Cancel
Save