public async Task OnReceiveAsync_AuthenticatedContentDistributionRequestWithInvalidHashForValidatedSubscriptionWithSecret_ReturnsBadRequestResponse(string algorithm, string hash) { HttpRequestContext context = PrepareWebSubRequestContext(PrepareWebSubDependencyResolver(WEBHOOK_ID, subscriptionState: WebSubSubscriptionState.SubscribeValidated, secret: SECRET)); HttpRequestMessage request = PrepareContentDistributionRequestMessage(WEBHOOK_ID, context, content: CONTENT, algorithm: algorithm, hash: hash); WebSubWebHookReceiver webSubWebHookReceiver = new WebSubWebHookReceiver(); HttpResponseMessage receiveAsyncResult = await webSubWebHookReceiver.ReceiveAsync(WEBHOOK_ID, context, request); Assert.Equal(HttpStatusCode.BadRequest, receiveAsyncResult.StatusCode); }
public async Task OnReceiveAsync_SubscribeIntentVerificationRequestForNotMatchingTopic_ReturnsNotFoundResponse(string mode, WebSubSubscriptionState webSubSubscriptionState) { HttpRequestContext context = PrepareWebSubRequestContext(PrepareWebSubDependencyResolver(WEBHOOK_ID, subscriptionState: webSubSubscriptionState)); HttpRequestMessage request = PrepareIntentVerificatioRequestMessage(WEBHOOK_ID, context, mode: mode, topic: OTHER_WEBSUB_ROCKS_TOPIC_URL); WebSubWebHookReceiver webSubWebHookReceiver = new WebSubWebHookReceiver(); HttpResponseMessage receiveAsyncResult = await webSubWebHookReceiver.ReceiveAsync(WEBHOOK_ID, context, request); Assert.Equal(HttpStatusCode.NotFound, receiveAsyncResult.StatusCode); }
public async Task OnReceiveAsync_ContentDistributionRequestForSubscriptionStateDifferentThanSubscribeValidated_ReturnsNotFoundResponse(WebSubSubscriptionState webSubSubscriptionState) { HttpRequestContext context = PrepareWebSubRequestContext(PrepareWebSubDependencyResolver(WEBHOOK_ID, subscriptionState: webSubSubscriptionState)); HttpRequestMessage request = PrepareContentDistributionRequestMessage(WEBHOOK_ID, context); WebSubWebHookReceiver webSubWebHookReceiver = new WebSubWebHookReceiver(); HttpResponseMessage receiveAsyncResult = await webSubWebHookReceiver.ReceiveAsync(WEBHOOK_ID, context, request); Assert.Equal(HttpStatusCode.NotFound, receiveAsyncResult.StatusCode); }
public async Task OnReceiveAsync_SubscribeIntentVerificationRequestWithoutLeaseSecondsParameter_ReturnsBadRequestResponse() { HttpRequestContext context = PrepareWebSubRequestContext(PrepareWebSubDependencyResolver(WEBHOOK_ID, subscriptionState: WebSubSubscriptionState.SubscribeRequested)); HttpRequestMessage request = PrepareIntentVerificatioRequestMessage(WEBHOOK_ID, context, mode: INTENT_VERIFICATION_MODE_SUBSCRIBE, leaseSeconds: null); WebSubWebHookReceiver webSubWebHookReceiver = new WebSubWebHookReceiver(); HttpResponseMessage receiveAsyncResult = await webSubWebHookReceiver.ReceiveAsync(WEBHOOK_ID, context, request); Assert.Equal(HttpStatusCode.BadRequest, receiveAsyncResult.StatusCode); }
public async Task OnReceiveAsync_UnsubscribeIntentVerificationRequestForSubscriptionStateDifferentThanUnsubscribeRequested_ReturnsNotFoundResponse(WebSubSubscriptionState webSubSubscriptionState) { HttpRequestContext context = PrepareWebSubRequestContext(PrepareWebSubDependencyResolver(WEBHOOK_ID, subscriptionState: webSubSubscriptionState)); HttpRequestMessage request = PrepareIntentVerificatioRequestMessage(WEBHOOK_ID, context, mode: INTENT_VERIFICATION_MODE_UNSUBSCRIBE); WebSubWebHookReceiver webSubWebHookReceiver = new WebSubWebHookReceiver(); HttpResponseMessage receiveAsyncResult = await webSubWebHookReceiver.ReceiveAsync(WEBHOOK_ID, context, request); Assert.Equal(HttpStatusCode.NotFound, receiveAsyncResult.StatusCode); }
public async Task OnReceiveAsync_SubscribeUnsubscribeVerificationRequestWithoutChallengeParameter_ReturnsBadRequestResponse(string mode, WebSubSubscriptionState webSubSubscriptionState) { HttpRequestContext context = PrepareWebSubRequestContext(PrepareWebSubDependencyResolver(WEBHOOK_ID, subscriptionState: webSubSubscriptionState)); HttpRequestMessage request = PrepareIntentVerificatioRequestMessage(WEBHOOK_ID, context, mode: mode, challenge: null); WebSubWebHookReceiver webSubWebHookReceiver = new WebSubWebHookReceiver(); HttpResponseMessage receiveAsyncResult = await webSubWebHookReceiver.ReceiveAsync(WEBHOOK_ID, context, request); Assert.Equal(HttpStatusCode.BadRequest, receiveAsyncResult.StatusCode); }
public async Task OnReceiveAsync_SubscribeUnsubscribeIntentVerificationRequest_ResponseContainsChallenge(string mode, WebSubSubscriptionState webSubSubscriptionState) { HttpRequestContext context = PrepareWebSubRequestContext(PrepareWebSubDependencyResolver(WEBHOOK_ID, subscriptionState: webSubSubscriptionState)); HttpRequestMessage request = PrepareIntentVerificatioRequestMessage(WEBHOOK_ID, context, mode: mode); WebSubWebHookReceiver webSubWebHookReceiver = new WebSubWebHookReceiver(); HttpResponseMessage receiveAsyncResult = await webSubWebHookReceiver.ReceiveAsync(WEBHOOK_ID, context, request); Assert.Equal(WEBSUB_ROCKS_CHALLENGE, await receiveAsyncResult.Content.ReadAsStringAsync()); }
public async Task OnReceiveAsync_SubscribeIntentDenyRequest_ReturnsNoContentResponse() { HttpRequestContext context = PrepareWebSubRequestContext(PrepareWebSubDependencyResolver(WEBHOOK_ID)); HttpRequestMessage request = PrepareIntentVerificatioRequestMessage(WEBHOOK_ID, context, mode: INTENT_VERIFICATION_MODE_DENIED, challenge: null, leaseSeconds: null); WebSubWebHookReceiver webSubWebHookReceiver = new WebSubWebHookReceiver(); HttpResponseMessage receiveAsyncResult = await webSubWebHookReceiver.ReceiveAsync(WEBHOOK_ID, context, request); Assert.Equal(HttpStatusCode.NoContent, receiveAsyncResult.StatusCode); }
public async Task OnReceiveAsync_IntentVerificationRequestWithoutModeParameter_ReturnsBadRequestResponse() { HttpRequestContext context = PrepareWebSubRequestContext(PrepareWebSubDependencyResolver(WEBHOOK_ID)); HttpRequestMessage request = PrepareIntentVerificatioRequestMessage(WEBHOOK_ID, context, mode: null); WebSubWebHookReceiver webSubWebHookReceiver = new WebSubWebHookReceiver(); HttpResponseMessage receiveAsyncResult = await webSubWebHookReceiver.ReceiveAsync(WEBHOOK_ID, context, request); Assert.Equal(HttpStatusCode.BadRequest, receiveAsyncResult.StatusCode); }
public async Task OnReceiveAsync_WebSubRequestWithoutMatchingId_ReturnsNotFoundResponse(string httpMethod) { HttpRequestContext context = PrepareWebSubRequestContext(PrepareWebSubDependencyResolver(WEBHOOK_ID)); HttpRequestMessage request = PrepareWebSubRequestMessage(httpMethod, WEBHOOK_ID, context); WebSubWebHookReceiver webSubWebHookReceiver = new WebSubWebHookReceiver(); HttpResponseMessage receiveAsyncResult = await webSubWebHookReceiver.ReceiveAsync(OTHER_WEBHOOK_ID, context, request); Assert.Equal(HttpStatusCode.NotFound, receiveAsyncResult.StatusCode); }