private async Task AssertErrorThroughInvokeAdapter(Activity activity, string errorMessage) { // Arrange var adapter = new TestInvokeAdapter(); var turnContext = new TurnContext(adapter, activity); // Act var bot = new TestActivityHandler(); await((IBot)bot).OnTurnAsync(turnContext); // Assert var sent = adapter.Activity as Activity; Assert.Equal(ActivityTypesEx.InvokeResponse, sent.Type); Assert.IsType <InvokeResponse>(sent.Value); var value = sent.Value as InvokeResponse; Assert.Equal(400, value.Status); Assert.IsType <AdaptiveCardInvokeResponse>(value.Body); var body = value.Body as AdaptiveCardInvokeResponse; Assert.Equal("application/vnd.microsoft.error", body.Type); Assert.Equal(400, body.StatusCode); Assert.IsType <Error>(body.Value); var error = body.Value as Error; Assert.Equal("BadRequest", error.Code); Assert.Equal(errorMessage, error.Message); }
public async Task TestInvokeShouldNotMatchAsync() { // Arrange var activity = new Activity { Type = ActivityTypes.Invoke, Name = "should.not.match", }; var adapter = new TestInvokeAdapter(); var turnContext = new TurnContext(adapter, activity); // Act var bot = new TestActivityHandler(); await((IBot)bot).OnTurnAsync(turnContext); // Assert Assert.Single(bot.Record); Assert.Equal("OnInvokeActivityAsync", bot.Record[0]); Assert.Equal(501, ((InvokeResponse)((Activity)adapter.Activity).Value).Status); }
public async Task TestInvokeAsync() { // Arrange var activity = new Activity { Type = ActivityTypes.Invoke, Name = "some.random.invoke", }; var adapter = new TestInvokeAdapter(); var turnContext = new TurnContext(adapter, activity); // Act var bot = new TestActivityHandler(); await((IBot)bot).OnTurnAsync(turnContext); // Assert Assert.AreEqual(1, bot.Record.Count); Assert.AreEqual("OnInvokeActivityAsync", bot.Record[0]); Assert.AreEqual(200, ((InvokeResponse)((Activity)adapter.Activity).Value).Status); }
public async Task TestInvokeActivity() { // Arrange var adapter = new TestInvokeAdapter(); var activity = new Activity { Type = ActivityTypes.Invoke }; var turnContext = new TurnContext(adapter, activity); // Act var bot = new TestActivityHandler(); await((IBot)bot).OnTurnAsync(turnContext); // Assert Assert.AreEqual(2, bot.Record.Count); Assert.AreEqual(bot.Record[0], "OnInvokeActivityAsync"); Assert.AreEqual(bot.Record[1], "OnInvokeAsync"); Assert.IsNotNull(adapter.Activity); Assert.AreEqual((int)HttpStatusCode.OK, ((InvokeResponse)((Activity)adapter.Activity).Value).Status); }