public void Should_not_trigger_check_if_condition_does_not_match() { TestForCondition("false", ctx => { var @event = new EnrichedSchemaEvent(); var result = sut.Trigger(@event, ctx); Assert.False(result); }); }
public void Should_trigger_check_if_condition_is_empty() { TestForCondition(string.Empty, ctx => { var @event = new EnrichedSchemaEvent(); var result = sut.Trigger(@event, ctx); Assert.True(result); }); }
public void Should_trigger_check_if_condition_matchs() { TestForCondition("true", ctx => { var @event = new EnrichedSchemaEvent(); var result = sut.Trigger(@event, ctx); Assert.True(result); }); }
public async IAsyncEnumerable <EnrichedEvent> CreateEnrichedEventsAsync(Envelope <AppEvent> @event, RuleContext context, [EnumeratorCancellation] CancellationToken ct) { var result = new EnrichedSchemaEvent(); SimpleMapper.Map(@event.Payload, result); switch (@event.Payload) { case FieldEvent: case SchemaPreviewUrlsConfigured: case SchemaScriptsConfigured: case SchemaUpdated: case ParentFieldEvent: result.Type = EnrichedSchemaEventType.Updated; break; case SchemaCreated: result.Type = EnrichedSchemaEventType.Created; break; case SchemaPublished: result.Type = EnrichedSchemaEventType.Published; break; case SchemaUnpublished: result.Type = EnrichedSchemaEventType.Unpublished; break; case SchemaDeleted: result.Type = EnrichedSchemaEventType.Deleted; break; default: yield break; } await Task.Yield(); yield return(result); }
private bool MatchsCondition(ContentChangedTriggerSchemaV2 schema, EnrichedSchemaEvent @event) { return(string.IsNullOrWhiteSpace(schema.Condition) || scriptEngine.Evaluate("event", @event, schema.Condition)); }