/// <inheritdoc />
        public IAndHttpRequestBuilder WithAuthenticatedUser(Action <IClaimsPrincipalBuilder> userBuilder)
        {
            var newUserBuilder = new ClaimsPrincipalBuilder();

            userBuilder(newUserBuilder);
            this.HttpContext.User = newUserBuilder.GetClaimsPrincipal();
            return(this);
        }
        /// <summary>
        /// Sets custom authenticated <see cref="Microsoft.AspNetCore.Http.HttpContext.User"/> to the built request using the provided user builder.
        /// </summary>
        /// <param name="httpRequestBuilder">Instance of <see cref="IHttpRequestBuilder"/> type.</param>
        /// <param name="userBuilder">Action setting the <see cref="Microsoft.AspNetCore.Http.HttpContext.User"/> by using <see cref="IClaimsPrincipalBuilder"/>.</param>
        /// <returns>The same <see cref="IAndHttpRequestBuilder"/>.</returns>
        public static IAndHttpRequestBuilder WithAuthenticatedUser(
            this IHttpRequestBuilder httpRequestBuilder,
            Action<IClaimsPrincipalBuilder> userBuilder)
        {
            var actualHttpRequestBuilder = (HttpRequestBuilder)httpRequestBuilder;

            var newUserBuilder = new ClaimsPrincipalBuilder();
            userBuilder(newUserBuilder);
            actualHttpRequestBuilder.HttpContext.User = newUserBuilder.GetClaimsPrincipal();

            return actualHttpRequestBuilder;
        }
        /// <summary>
        /// Sets custom authenticated <see cref="Microsoft.AspNetCore.Http.HttpContext.User"/> to the built request using the provided user builder.
        /// </summary>
        /// <param name="httpRequestBuilder">Instance of <see cref="IHttpRequestBuilder"/> type.</param>
        /// <param name="userBuilder">Action setting the <see cref="Microsoft.AspNetCore.Http.HttpContext.User"/> by using <see cref="IClaimsPrincipalBuilder"/>.</param>
        /// <returns>The same <see cref="IAndHttpRequestBuilder"/>.</returns>
        public static IAndHttpRequestBuilder WithUser(
            this IHttpRequestBuilder httpRequestBuilder,
            Action <IClaimsPrincipalBuilder> userBuilder)
        {
            var actualHttpRequestBuilder = (HttpRequestBuilder)httpRequestBuilder;

            var newUserBuilder = new ClaimsPrincipalBuilder();

            userBuilder(newUserBuilder);
            actualHttpRequestBuilder.HttpContext.User = newUserBuilder.GetClaimsPrincipal();

            return(actualHttpRequestBuilder);
        }
        /// <summary>
        /// Sets custom authenticated <see cref="Microsoft.AspNetCore.Http.HttpContext.User"/> to the built component using the provided user builder.
        /// </summary>
        /// <param name="builder">Instance of <see cref="IBaseTestBuilderWithComponentBuilder{TBuilder}"/> type.</param>
        /// <param name="userBuilder">Action setting the <see cref="Microsoft.AspNetCore.Http.HttpContext.User"/> by using <see cref="IClaimsPrincipalBuilder"/>.</param>
        /// <returns>The same component builder.</returns>
        public static TBuilder WithAuthenticatedUser <TBuilder>(
            this IBaseTestBuilderWithComponentBuilder <TBuilder> builder,
            Action <IClaimsPrincipalBuilder> userBuilder)
            where TBuilder : IBaseTestBuilder
        {
            var actualBuilder = (BaseTestBuilderWithComponentBuilder <TBuilder>)builder;

            var newUserBuilder = new ClaimsPrincipalBuilder();

            userBuilder(newUserBuilder);
            actualBuilder.HttpContext.User = newUserBuilder.GetClaimsPrincipal();

            return(actualBuilder.Builder);
        }
예제 #5
0
        /// <summary>
        /// Tests whether the <see cref="Microsoft.AspNetCore.Mvc.SignInResult"/> has
        /// the given <see cref="ClaimsPrincipal"/> provided as builder.
        /// </summary>
        /// <param name="signInTestBuilder">
        /// Instance of <see cref="ISignInTestBuilder"/> type.
        /// </param>
        /// <param name="principalBuilder">Expected <see cref="ClaimsPrincipal"/> builder.</param>
        /// <returns>The same <see cref="IAndSignInTestBuilder"/>.</returns>
        public static IAndSignInTestBuilder WithPrincipal(
            this ISignInTestBuilder signInTestBuilder,
            Action <IClaimsPrincipalBuilder> principalBuilder)
        {
            var actualBuilder = (SignInTestBuilder)signInTestBuilder;

            var newClaimsPrincipalBuilder = new ClaimsPrincipalBuilder();

            principalBuilder(newClaimsPrincipalBuilder);

            var expectedPrincipal = newClaimsPrincipalBuilder.GetClaimsPrincipal();

            return(actualBuilder.WithPrincipal(expectedPrincipal));
        }