Exemple #1
0
        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);
        }
Exemple #2
0
        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);
        }
Exemple #3
0
        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);
        }
Exemple #4
0
        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);
        }
Exemple #5
0
        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);
        }
Exemple #6
0
        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);
        }
Exemple #7
0
        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());
        }
Exemple #8
0
        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);
        }
Exemple #9
0
        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);
        }
Exemple #10
0
        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);
        }