Browse Source

Fix for stale events.

pull/691/head
Sebastian 5 years ago
parent
commit
b2e3465603
  1. 3
      backend/src/Migrations/OldEvents/AppPatternAdded.cs
  2. 3
      backend/src/Migrations/OldEvents/AppPatternUpdated.cs
  3. 4
      backend/src/Squidex.Domain.Apps.Entities/Rules/Runner/DefaultRuleRunnerService.cs
  4. 8
      backend/tests/Squidex.Domain.Apps.Core.Tests/Operations/HandleRules/RuleServiceTests.cs

3
backend/src/Migrations/OldEvents/AppPatternAdded.cs

@ -7,6 +7,7 @@
using System;
using System.Collections.Generic;
using System.Linq;
using Squidex.Domain.Apps.Core.Apps;
using Squidex.Domain.Apps.Entities.Apps.DomainObject;
using Squidex.Domain.Apps.Events;
@ -35,7 +36,7 @@ namespace Migrations.OldEvents
{
var newSettings = new AppSettings
{
Patterns = new List<Pattern>(state.Settings.Patterns)
Patterns = new List<Pattern>(state.Settings.Patterns.Where(x => x.Name != Name || x.Regex != Pattern))
{
new Pattern(Name, Pattern)
{

3
backend/src/Migrations/OldEvents/AppPatternUpdated.cs

@ -7,6 +7,7 @@
using System;
using System.Collections.Generic;
using System.Linq;
using Squidex.Domain.Apps.Core.Apps;
using Squidex.Domain.Apps.Entities.Apps.DomainObject;
using Squidex.Domain.Apps.Events;
@ -35,7 +36,7 @@ namespace Migrations.OldEvents
{
var newSettings = new AppSettings
{
Patterns = new List<Pattern>(state.Settings.Patterns)
Patterns = new List<Pattern>(state.Settings.Patterns.Where(x => x.Name != Name || x.Regex != Pattern))
{
new Pattern(Name, Pattern)
{

4
backend/src/Squidex.Domain.Apps.Entities/Rules/Runner/DefaultRuleRunnerService.cs

@ -121,8 +121,8 @@ namespace Squidex.Domain.Apps.Entities.Rules.Runner
AppId = rule.AppId,
Rule = rule.RuleDef,
RuleId = rule.Id,
IgnoreStale = true
IgnoreStale = false
};
}
}
}
}

8
backend/tests/Squidex.Domain.Apps.Core.Tests/Operations/HandleRules/RuleServiceTests.cs

@ -354,7 +354,7 @@ namespace Squidex.Domain.Apps.Core.Operations.HandleRules
A.CallTo(() => ruleTriggerHandler.Handles(@event.Payload))
.Returns(true);
var (_, _, reason) = await sut.CreateJobsAsync(@event, Rule(ignoreState: true)).SingleAsync();
var (_, _, reason) = await sut.CreateJobsAsync(@event, Rule(ignoreStale: true)).SingleAsync();
Assert.Equal(SkipReason.TooOld, reason);
@ -365,7 +365,7 @@ namespace Squidex.Domain.Apps.Core.Operations.HandleRules
[Fact]
public async Task Should_create_job_if_too_old_but_stale_events_are_not_ignored()
{
var context = Rule(ignoreState: false);
var context = Rule(ignoreStale: false);
var @event =
Envelope.Create(new ContentCreated())
@ -715,7 +715,7 @@ namespace Squidex.Domain.Apps.Core.Operations.HandleRules
};
}
private RuleContext Rule(bool disable = false, bool ignoreState = true)
private RuleContext Rule(bool disable = false, bool ignoreStale = true)
{
var rule = new Rule(new ContentChangedTriggerV2(), new ValidAction());
@ -729,7 +729,7 @@ namespace Squidex.Domain.Apps.Core.Operations.HandleRules
AppId = appId,
Rule = rule,
RuleId = ruleId,
IgnoreStale = ignoreState
IgnoreStale = ignoreStale
};
}

Loading…
Cancel
Save