public async Task InitializeOrigins_SetsCacheToNull_IfEnabledGloballyWithoutOrigins()
        {
            // Arrange
            HttpConfiguration corsConfig = new HttpConfiguration();

            corsConfig.EnableCors();
            HttpRequestMessage request = new HttpRequestMessage();

            request.SetConfiguration(corsConfig);

            // Act
            IEnumerable <string> actual = await CrossDomainController.InitializeOrigins(corsConfig, request);

            // Assert
            //Assert.Equal(origins, actual);
        }
        public async Task InitializeOrigins_CheckValues_IfEnabledGlobally(IEnumerable <string> origins)
        {
            // Arrange
            HttpConfiguration corsConfig = new HttpConfiguration();

            corsConfig.EnableCors(new EnableCorsAttribute(string.Join(",", origins), "*", "*"));
            HttpRequestMessage request = new HttpRequestMessage();

            request.SetConfiguration(corsConfig);

            // Act
            IEnumerable <string> actual = await CrossDomainController.InitializeOrigins(corsConfig, request);

            // Assert
            Assert.Equal(origins, actual);
        }
        public async Task InitializeOrigins_ReturnsCachedList()
        {
            // Arrange
            HttpConfiguration config = new HttpConfiguration();

            config.EnableCors(new EnableCorsAttribute("http://test", "*", "*"));
            HttpRequestMessage request = new HttpRequestMessage();

            request.SetConfiguration(config);

            // Act
            IEnumerable <string> actual1 = await CrossDomainController.InitializeOrigins(config, new HttpRequestMessage());

            IEnumerable <string> actual2 = await CrossDomainController.InitializeOrigins(config, new HttpRequestMessage());

            // Assert
            Assert.Same(actual1, actual2);
        }
        public async Task InitializeOrigins_CheckValues_IfPassedDirectly(IEnumerable <string> origins)
        {
            // Arrange
            HttpConfiguration config = new HttpConfiguration();

            new MobileAppConfiguration()
            .MapLegacyCrossDomainController(origins)
            .ApplyTo(config);

            HttpRequestMessage request = new HttpRequestMessage();

            request.SetConfiguration(config);

            // Act
            IEnumerable <string> actual = await CrossDomainController.InitializeOrigins(config, request);

            // Assert
            Assert.Equal(origins, actual);
        }
        public async Task OriginsCache_Null_IfNoOriginsSet()
        {
            // Arrange
            HttpConfiguration config = new HttpConfiguration();

            new MobileAppConfiguration()
            .MapLegacyCrossDomainController()
            .ApplyTo(config);

            HttpRequestMessage request = new HttpRequestMessage();

            request.SetConfiguration(config);

            // Act
            IEnumerable <string> actual = await CrossDomainController.InitializeOrigins(config, request);

            // Assert
            Assert.NotNull(actual);
            Assert.Empty(actual);
        }
        public async Task DirectOrigins_Wins_IfGlobalAlsoSet()
        {
            // Arrange
            HttpConfiguration config = new HttpConfiguration();

            new MobileAppConfiguration()
            .MapLegacyCrossDomainController(this.allowedOrigins)
            .ApplyTo(config);

            config.EnableCors(new EnableCorsAttribute("http://notused", "*", "*"));

            HttpRequestMessage request = new HttpRequestMessage();

            request.SetConfiguration(config);

            // Act
            IEnumerable <string> actual = await CrossDomainController.InitializeOrigins(config, request);

            // Assert
            Assert.Equal(this.allowedOrigins, actual);
        }
예제 #7
0
        private TestServer CreateTestServer(IEnumerable <string> origins)
        {
            HttpConfiguration      config       = new HttpConfiguration();
            MobileAppConfiguration mobileConfig = new MobileAppConfiguration();

            CrossDomainController.Reset();

            if (origins == null)
            {
                mobileConfig = mobileConfig.MapLegacyCrossDomainController();
            }
            else
            {
                mobileConfig = mobileConfig.MapLegacyCrossDomainController(origins);
            }

            mobileConfig.ApplyTo(config);

            return(TestServer.Create(appBuilder =>
            {
                appBuilder.UseWebApi(config);
            }));
        }
 public CrossDomainControllerTests()
 {
     CrossDomainController.Reset();
     this.corsServer = this.CreateTestServer(this.allowedOrigins);
 }