public async Task NestedSet_AllIsRun() { bool innerOnSendCalled = false; bool innerOnReceiveCalled = false; bool innerOnCreatedCalled = false; string replyMessage = Guid.NewGuid().ToString(); MiddlewareSet inner = new MiddlewareSet(); inner.OnSendActivity(async(context, activities, next) => { Assert.IsTrue(activities.Count == 1, "incorrect activity count"); Assert.IsTrue(activities[0].AsMessageActivity().Text == replyMessage, "unexpected message"); innerOnSendCalled = true; await next(); }); inner.OnReceive(async(context, next) => { context.Responses.Add(MessageFactory.Text(replyMessage)); innerOnReceiveCalled = true; await next(); }); inner.OnContextCreated(async(context, next) => { innerOnCreatedCalled = true; await next(); }); Middleware.MiddlewareSet outer = new Middleware.MiddlewareSet(); outer.Use(inner); IBotContext c = TestUtilities.CreateEmptyContext(); await outer.ContextCreated(c); await outer.ReceiveActivity(c); await outer.SendActivity(c, c.Responses); Assert.IsTrue(innerOnReceiveCalled, "Inner Middleware Receive Activity was not called."); Assert.IsTrue(innerOnCreatedCalled, "Inner Middleware Create Context was not called."); Assert.IsTrue(innerOnSendCalled, "Inner Middleware SendActivity was not called."); }
public async Task NestedSet_OnReceive() { bool innerOnReceiveCalled = false; MiddlewareSet inner = new MiddlewareSet(); inner.OnReceive(async(context, next) => { innerOnReceiveCalled = true; await next(); }); MiddlewareSet outer = new MiddlewareSet(); outer.Use(inner); await outer.ReceiveActivity(null); Assert.IsTrue(innerOnReceiveCalled, "Inner Middleware Receive was not called."); }