Deveel.Data.TriggerTests.Callback C# (CSharp) Method

Callback() private method

private Callback ( ) : void
return void
        public void Callback()
        {
            var tableName = ObjectName.Parse("APP.test_table");

            AdminQuery.Access().CreateCallbackTrigger("callback1", tableName, TriggerEventTime.After, TriggerEventType.Insert);

            var reset = new AutoResetEvent(false);

            TriggerEvent firedEvent = null;
            AdminQuery.Context.RouteImmediate<TriggerEvent>(e => {
                firedEvent = e;
                reset.Set();
            }, e => e.TriggerType == TriggerType.Callback &&
                    e.TriggerName.Name.Equals("callback1"));

            AdminQuery.Insert(tableName, new[] { "id", "name" },
                new SqlExpression[] { SqlExpression.Constant(2), SqlExpression.Constant("The Name") });

            reset.WaitOne(300);

            Assert.IsNotNull(firedEvent);
            Assert.AreEqual(TriggerEventTime.After, firedEvent.EventTime);
            Assert.AreEqual(TriggerEventType.Insert, firedEvent.EventType);
        }