public async Task ProcessAsyncShouldThrowExceptionWithUnverifiedSignature() { var testOptionsVerifyEnabled = new FacebookAdapterOptions() { VerifyIncomingRequests = true }; var facebookClientWrapper = new Mock <FacebookClientWrapper>(_testOptions); var facebookAdapter = new FacebookAdapter(facebookClientWrapper.Object, testOptionsVerifyEnabled); var payload = File.ReadAllText(Directory.GetCurrentDirectory() + @"/Files/Payload.json"); var stream = new MemoryStream(Encoding.UTF8.GetBytes(payload)); var httpRequest = new Mock <HttpRequest>(); var httpResponse = new Mock <HttpResponse>(); var bot = new Mock <IBot>(); httpRequest.SetupGet(req => req.Query[It.IsAny <string>()]).Returns("test"); httpRequest.SetupGet(req => req.Body).Returns(stream); httpResponse.Setup(_ => _.Body.WriteAsync(It.IsAny <byte[]>(), It.IsAny <int>(), It.IsAny <int>(), It.IsAny <CancellationToken>())) .Callback((byte[] data, int offset, int length, CancellationToken token) => { if (length > 0) { var actual = Encoding.UTF8.GetString(data); } }); await Assert.ThrowsAsync <AuthenticationException>(() => facebookAdapter.ProcessAsync(httpRequest.Object, httpResponse.Object, bot.Object, default(CancellationToken))); }
public async void ProcessAsyncShouldVerifyWebhookOnHubModeSubscribe() { var testOptionsVerifyEnabled = new FacebookAdapterOptions() { VerifyIncomingRequests = true }; var facebookClientWrapper = new Mock <FacebookClientWrapper>(_testOptions); var facebookAdapter = new FacebookAdapter(facebookClientWrapper.Object, testOptionsVerifyEnabled); var httpRequest = new Mock <HttpRequest>(); var httpResponse = new Mock <HttpResponse>(); var bot = new Mock <IBot>(); facebookClientWrapper.Setup(api => api.VerifyWebhookAsync(It.IsAny <HttpRequest>(), It.IsAny <HttpResponse>(), It.IsAny <CancellationToken>())).Returns(Task.CompletedTask); httpRequest.SetupGet(req => req.Query[It.IsAny <string>()]).Returns("subscribe"); await facebookAdapter.ProcessAsync(httpRequest.Object, httpResponse.Object, bot.Object, default(CancellationToken)); bot.Verify(b => b.OnTurnAsync(It.IsAny <TurnContext>(), It.IsAny <CancellationToken>()), Times.Never); }
public FacebookAdapterWithTag(FacebookClientWrapper facebookClient, FacebookAdapterOptions options, ILogger logger = null) : base(facebookClient, options, logger) { }
public FacebookAdapterWithTag(IConfiguration configuration, FacebookAdapterOptions options = null, ILogger logger = null) : base(configuration, options, logger) { }