public async void VerifyWebhookAsyncShouldThrowExceptionWithNullResponse() { var facebookClientWrapper = new FacebookClientWrapper(_testOptions); var httpRequest = new Mock <HttpRequest>(); await Assert.ThrowsAsync <ArgumentNullException>(async() => { await facebookClientWrapper.VerifyWebhookAsync(httpRequest.Object, null, default); }); }
public async void SendMessageAsyncShouldThrowAnExceptionWithNullPayload() { var facebookWrapper = new FacebookClientWrapper(_testOptions); await Assert.ThrowsAsync <ArgumentNullException>(async() => { await facebookWrapper.SendMessageAsync("wrongPath", null, null, default(CancellationToken)); }); }
public async void SendMessageAsyncShouldReturnAnEmptyStringWithWrongPath() { var facebookMessageJson = File.ReadAllText(Directory.GetCurrentDirectory() + @"/Files/FacebookMessages.json"); var facebookMessage = JsonConvert.DeserializeObject <List <FacebookMessage> >(facebookMessageJson)[5]; var facebookWrapper = new FacebookClientWrapper(_testOptions); var response = await facebookWrapper.SendMessageAsync("wrongPath", facebookMessage, null, default(CancellationToken)); Assert.Equal(string.Empty, response); }
public void GetAppSecretProofShouldAlwaysReturnAStringWith64Characters() { const int secretProofLength = 64; var facebookWrapper = new FacebookClientWrapper(_testOptions); var secretProof = facebookWrapper.GetAppSecretProof(); Assert.NotNull(secretProof); Assert.Equal(secretProofLength, secretProof.Length); }
public void VerifySignatureShouldReturnFalseWithInvalidRequestHash() { const string requestHash = "FakeHash"; var facebookWrapper = new FacebookClientWrapper(_testOptions); var request = new Mock <HttpRequest>(); request.SetupGet(req => req.Headers[It.IsAny <string>()]).Returns(requestHash); Assert.False(facebookWrapper.VerifySignature(request.Object, string.Empty)); }
public async void SendMessageAsyncShouldThrowAnExceptionWithNullPath() { var facebookMessageJson = File.ReadAllText(Directory.GetCurrentDirectory() + @"/Files/FacebookMessages.json"); var facebookMessage = JsonConvert.DeserializeObject <List <FacebookMessage> >(facebookMessageJson)[5]; var facebookWrapper = new FacebookClientWrapper(_testOptions); await Assert.ThrowsAsync <ArgumentNullException>(async() => { await facebookWrapper.SendMessageAsync(null, facebookMessage, null, default(CancellationToken)); }); }
public void VerifySignatureShouldReturnTrueWithValidRequestHash() { const string requestHash = "SHA1=70C0E1B415F16D986EB839144FC85A941A5899C7"; var facebookWrapper = new FacebookClientWrapper(_testOptions); var request = new Mock <HttpRequest>(); var stringifyBody = File.ReadAllText(Directory.GetCurrentDirectory() + @"/Files/RequestResponse.json"); request.SetupGet(req => req.Headers[It.IsAny <string>()]).Returns(requestHash); Assert.True(facebookWrapper.VerifySignature(request.Object, stringifyBody)); }
public async void VerifyWebhookAsyncShouldSendUnauthorizedWhenNotVerified() { var facebookClientWrapper = new FacebookClientWrapper(_testOptions); var httpRequest = new Mock <HttpRequest>(); var httpResponse = new Mock <HttpResponse>(); httpRequest.SetupGet(req => req.Query[It.IsAny <string>()]).Returns("WrongVerifyToken"); httpResponse.SetupAllProperties(); 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 facebookClientWrapper.VerifyWebhookAsync(httpRequest.Object, httpResponse.Object, default); Assert.True(httpResponse.Object.StatusCode == (int)HttpStatusCode.Unauthorized); }
public void VerifySignatureShouldThrowErrorWithNullRequest() { var facebookWrapper = new FacebookClientWrapper(_testOptions); Assert.Throws <ArgumentNullException>(() => { facebookWrapper.VerifySignature(null, string.Empty); }); }
public async void PostToFacebookApiAsyncShouldThrowExceptionWithNullContent() { var facebookClientWrapper = new FacebookClientWrapper(_testOptions); await Assert.ThrowsAsync <ArgumentNullException>(async() => { await facebookClientWrapper.PostToFacebookApiAsync("fakePostType", null, default); }); }
public async void TakeThreadControlAsyncShouldThrowExceptionWithNullUserId() { var facebookClientWrapper = new FacebookClientWrapper(_testOptions); await Assert.ThrowsAsync <ArgumentNullException>(async() => { await facebookClientWrapper.TakeThreadControlAsync(null, "Test Pass Thread Control", default); }); }
public async void PassThreadControlAsyncShouldThrowExceptionWithNullTargetAppId() { var facebookClientWrapper = new FacebookClientWrapper(_testOptions); await Assert.ThrowsAsync <ArgumentNullException>(async() => { await facebookClientWrapper.PassThreadControlAsync(null, "fakeUserId", "Test Pass Thread Control"); }); }
public FacebookAdapterWithTag(FacebookClientWrapper facebookClient, FacebookAdapterOptions options, ILogger logger = null) : base(facebookClient, options, logger) { }