Example #1
0
        public void DevMode_HasExpectedExposedHeaders(string expectedMethod)
        {
            // arrange
            var sut = new CorsProvider(true, new string[0]);

            // act
            var result = sut.GetCorsPolicy();

            // assert
            Assert.True(result.ExposedHeaders.Contains(expectedMethod));
        }
Example #2
0
        public void ProdMode_AllowsNoOriginsWhenNotProvided()
        {
            // arrange
            var sut = new CorsProvider(false, new string[0]);

            // act
            var result = sut.GetCorsPolicy();

            // assert
            Assert.False(result.Origins.Any());
        }
Example #3
0
        public void DevMode_DoesNotSupportsCredentials()
        {
            // arrange
            var sut = new CorsProvider(true, new string[0]);

            // act
            var result = sut.GetCorsPolicy();

            // assert
            Assert.False(result.SupportsCredentials);
        }
Example #4
0
        public void DevMode_AllowsAnyHeader()
        {
            // arrange
            var sut = new CorsProvider(true, new string[0]);

            // act
            var result = sut.GetCorsPolicy();

            // assert
            Assert.True(result.AllowAnyHeader);
        }
Example #5
0
        public void ProdMode_HasExpectedMethods(string expectedMethod)
        {
            // arrange
            var sut = new CorsProvider(false, new string[0]);

            // act
            var result = sut.GetCorsPolicy();

            // assert
            Assert.True(result.Methods.Contains(expectedMethod));
        }
Example #6
0
        public void DevMode_AllowsLocalHostWhenNotProvided(string expectedOrigin)
        {
            // arrange
            var sut = new CorsProvider(true, new string[0]);

            // act
            var result = sut.GetCorsPolicy();

            // assert
            Assert.True(result.Origins.Contains(expectedOrigin));
        }
Example #7
0
        public void DevMode_DisallowsAnyOrigin()
        {
            // arrange
            var sut = new CorsProvider(true, new string[0]);

            // act
            var result = sut.GetCorsPolicy();

            // assert
            Assert.False(result.AllowAnyOrigin);
        }
Example #8
0
        public void DevMode_GetsPolicy()
        {
            // arrange
            var origins = new[] { "http://www.fusionalliance.com" };
            var sut     = new CorsProvider(true, origins);

            // act
            var result = sut.GetCorsPolicy();

            // assert
            Assert.IsType(typeof(CorsPolicy), result);
        }
Example #9
0
        public void DevMode_DisallowsAnyMethod()
        {
            // arrange
            var origins = new[] { "http://www.fusionalliance.com" };
            var sut     = new CorsProvider(true, origins);

            // act
            var result = sut.GetCorsPolicy();

            // assert
            Assert.False(result.AllowAnyMethod);
        }
Example #10
0
        public void ProdMode_NotSupportCredentials()
        {
            // arrange
            var origins = new[] { "http://www.fusionalliance.com" };
            var sut     = new CorsProvider(false, origins);

            // act
            var result = sut.GetCorsPolicy();

            // assert
            Assert.False(result.SupportsCredentials);
        }
Example #11
0
        public void ProdMode_ExposesTotalCountHeader()
        {
            // arrange
            var origins = new[] { "http://www.fusionalliance.com" };
            var sut     = new CorsProvider(false, origins);

            // act
            var result = sut.GetCorsPolicy();

            // assert
            Assert.True(result.ExposedHeaders.Contains("x-total-count"));
        }
Example #12
0
        /// <remarks>Order of methods invocation has matter</remarks>
        public void Configuration(IAppBuilder app)
        {
            GlobalConfiguration.Configure(WebApiConfig.Register);
            GlobalConfiguration.Configure(DependencyConfig.Register);
            GlobalConfiguration.Configuration.EnsureInitialized();

            app.UseCors(CorsProvider.GetCorsOptions());
            UseOAuth(app);

            app.UseCorrelationIdHeaderRewriterMiddleware();

            app.UseWebApi(GlobalConfiguration.Configuration);
        }
Example #13
0
        public void ProdMode_SetsPreflightMaxAge()
        {
            // arrange
            var expected = TimeSpan.FromMinutes(10);
            var origins  = new[] { "http://www.fusionalliance.com" };
            var sut      = new CorsProvider(false, origins);

            // act
            var result = sut.GetCorsPolicy();

            // assert
            Assert.Equal(expected, result.PreflightMaxAge);
        }
Example #14
0
        /// <remarks>Order of methods invocation has matter</remarks>
        public void Configuration(IAppBuilder app)
        {
            GlobalConfiguration.Configure(WebApiConfig.Register);
            AreaRegistration.RegisterAllAreas();
            RouteConfig.RegisterRoutes(RouteTable.Routes);

            app.UseCors(CorsProvider.GetCorsOptions());
            ConfigureOAuth(app);

            HttpConfiguration config = new HttpConfiguration();

            WebApiConfig.Register(config);

            app.UseWebApi(config);
        }
Example #15
0
        public void ProdMode_SetsOrigins(string data)
        {
            // arrange
            var origins = data.Split(',');
            var sut     = new CorsProvider(false, origins);

            // act
            var result = sut.GetCorsPolicy();

            // assert
            foreach (var o in origins)
            {
                Assert.True(result.Origins.Contains(o));
            }
        }