Example #1
0
        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);
            });
        }
Example #2
0
        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);
            });
        }
Example #3
0
        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));
 }