Пример #1
0
    def test_allowAllOrigins(self):
        options = cors_options.CorsOptions()
        f = filters.AllowOriginFilter(options)

        # Test with no Origin
        request = cors_handler.CorsRequest()
        response = cors_handler.CorsResponse()
        error = f.filter(request, response)
        self.assertIsNone(error)
        self.assertEquals('*', response.allow_origin)

        # Test CORS request
        request = cors_handler.CorsRequest(
            'GET', {constants.ORIGIN: 'http://foo.com'})
        response = cors_handler.CorsResponse()
        error = f.filter(request, response)
        self.assertIsNone(error)
        self.assertEquals('*', response.allow_origin)

        # Test CORS preflight request
        request = cors_handler.CorsRequest(
            'OPTIONS', {
                constants.ORIGIN: 'http://foo.com',
                constants.ACCESS_CONTROL_REQUEST_METHOD: 'GET'
            })
        response = cors_handler.CorsResponse()
        error = f.filter(request, response)
        self.assertIsNone(error)
        self.assertEquals('*', response.allow_origin)
Пример #2
0
 def test_addHeader(self):
     options = cors_options.CorsOptions(expose_headers=["Foo"])
     response = cors_handler.CorsResponse()
     f = filters.ExposeHeadersFilter(options)
     f.filter(None, response)
     self.assertEquals(1, len(response.expose_headers))
     self.assertEquals('Foo', response.expose_headers[0])
Пример #3
0
 def test_validOrigin(self):
     options = cors_options.CorsOptions(allow_origins=['http://foo.com'])
     f = filters.AllowOriginFilter(options)
     request = cors_handler.CorsRequest(
         'GET', {constants.ORIGIN: 'http://foo.com'})
     response = cors_handler.CorsResponse()
     error = f.filter(request, response)
     self.assertIsNone(error)
     self.assertEquals('http://foo.com', response.allow_origin)
Пример #4
0
 def test_defaultInstance(self):
     o = cors_options.CorsOptions()
     self.assertTrue(
         isinstance(o.origin_validator, validators.BooleanValidator))
     self.assertEquals(cors_options.ALL_ORIGINS, o.origin_value)
     self.assertTrue(
         isinstance(o.methods_validator, validators.ListValidator))
     self.assertEquals(cors_options.DEFAULT_METHODS, o.methods_value)
     self.assertTrue(
         isinstance(o.headers_validator, validators.BooleanValidator))
     self.assertIsNone(o.headers_value)
     self.assertEquals([], o.expose_headers)
     self.assertFalse(o.allow_credentials)
     self.assertTrue(o.vary)
     self.assertIsNone(o.max_age)
Пример #5
0
 def test_allowMethods(self):
     o = cors_options.CorsOptions(allow_methods=['foo'])
     self.assertTrue(
         isinstance(o.methods_validator, validators.ListValidator))
     self.assertEquals(['foo'], o.methods_value)
Пример #6
0
 def test_invalidMaxAge(self):
     try:
         _ = cors_options.CorsOptions(max_age='foo')
     except:
         return
     self.fail('Expected TypeError')
Пример #7
0
 def test_maxAge(self):
     o = cors_options.CorsOptions(max_age=1200)
     self.assertEquals(1200, o.max_age)
Пример #8
0
 def test_exposeHeaders(self):
     o = cors_options.CorsOptions(expose_headers=['Header1'])
     self.assertEquals(['Header1'], o.expose_headers)
Пример #9
0
 def test_allowCredentials(self):
     o = cors_options.CorsOptions(allow_credentials=True)
     self.assertTrue(o.allow_credentials)
Пример #10
0
 def test_allowAllHeaders(self):
     o = cors_options.CorsOptions(allow_headers=True)
     self.assertTrue(
         isinstance(o.headers_validator, validators.BooleanValidator))
     self.assertIsNone(o.headers_value)
Пример #11
0
 def test_disallow(self):
     options = cors_options.CorsOptions(allow_non_cors_requests=False)
     f = filters.AllowNonCorsRequestFilter(options)
     error = f.filter(None, None)
     self.assertIsNotNone(error)
Пример #12
0
 def test_noHeader(self):
     options = cors_options.CorsOptions(vary=False)
     response = cors_handler.CorsResponse()
     filtr = filters.VaryFilter(options)
     filtr.filter(None, response)
     self.assertFalse(constants.VARY in response.headers)
Пример #13
0
 def test_addHeader(self):
     options = cors_options.CorsOptions(vary=True)
     response = cors_handler.CorsResponse()
     filtr = filters.VaryFilter(options)
     filtr.filter(None, response)
     self.assertEquals(constants.ORIGIN, response.headers[constants.VARY])
Пример #14
0
 def test_addHeader(self):
     options = cors_options.CorsOptions(max_age=1000)
     response = cors_handler.CorsResponse()
     f = filters.MaxAgeFilter(options)
     f.filter(None, response)
     self.assertEquals(1000, response.max_age)
Пример #15
0
 def test_noHeader(self):
     options = cors_options.CorsOptions()
     response = cors_handler.CorsResponse()
     f = filters.MaxAgeFilter(options)
     f.filter(None, response)
     self.assertIsNone(response.max_age)
Пример #16
0
 def test_allowAllMethods(self):
     o = cors_options.CorsOptions(allow_methods=True)
     self.assertTrue(
         isinstance(o.methods_validator, validators.BooleanValidator))
     self.assertIsNone(o.methods_value)
Пример #17
0
 def test_allowHeaders(self):
     o = cors_options.CorsOptions(allow_headers=['foo'])
     self.assertTrue(
         isinstance(o.headers_validator, validators.ListValidator))
     self.assertEquals(['foo'], o.headers_value)
Пример #18
0
 def test_addHeader(self):
     options = cors_options.CorsOptions(allow_credentials=True)
     response = cors_handler.CorsResponse()
     f = filters.AllowCredentialsFilter(options)
     f.filter(None, response)
     self.assertTrue(response.allow_credentials)
Пример #19
0
 def test_originsList(self):
     o = cors_options.CorsOptions(allow_origins=['http://foo.com'])
     self.assertTrue(
         isinstance(o.origin_validator, validators.ListValidator))
     self.assertIsNone(o.origin_value)
     self.assertTrue(o.vary)
Пример #20
0
 def test_noHeader(self):
     options = cors_options.CorsOptions()
     response = cors_handler.CorsResponse()
     f = filters.ExposeHeadersFilter(options)
     f.filter(None, response)
     self.assertEquals(0, len(response.expose_headers))