def test_whenComparingCorsRules_thenLongerPathRulesTakePrecedenceOverShorterOnes( self): self.longer_rule = CorsRule("/foobar", {}) takes_precedence = self.longer_rule.takes_precedence_over(self.rule) self.assertTrue(takes_precedence)
def setUp(self): self.rules = [ CorsRule("/", {"value": "default_rule"}), CorsRule("/foo/bar", {"value": "specialized_rule"}) ] self.cors_request_handler_factory = CorsRequestHandlerFactory( self.rules)
def create_router_config(self) -> RouterBuilder: return super().create_router_config().add_rule( CorsRule( "/", { "Access-Control-Allow-Origin": '*', 'Access-Control-Allow-Headers': '*' }))
def create_router_config(self) -> RouterBuilder: return RouterBuilder() \ .add_rule(FilteringRule("*", JIVAGO_DEFAULT_FILTERS)) \ .add_rule(RoutingRule("/api", AutoDiscoveringRoutingTable(self.registry, self.root_package_name))) \ .add_rule(RoutingRule("/static", StaticFileRoutingTable(os.path.dirname(e2e_test.app.static.__file__), allowed_extensions=['.txt']))) \ .add_rule(CorsRule("/", {'Access-Control-Allow-Origin': 'http://jivago.io', 'Access-Control-Allow-Headers': '*', 'Access-Control-Allow-Methods': '*'}))
def setUp(self): self.routing_table = TreeRoutingTable() self.routing_table.register_route(GET, PATH, RESOURCE_CLASS, ROUTE_METHOD) self.route_handler_factory = RouteHandlerFactory( ServiceLocator(), Deserializer(Registry()), [RoutingRule("/", self.routing_table)], CorsRequestHandlerFactory([CorsRule("/", {})])) self.request_builder = RequestBuilder().method("GET").path(PATH)
class CorsRuleTest(unittest.TestCase): def setUp(self): self.rule = CorsRule("/", {}) def test_givenRootPathRule_whenMatching_thenRuleMatchesAnyRequest(self): self.assertTrue(self.rule.matches("/")) self.assertTrue(self.rule.matches("/foo/bar")) def test_whenComparingCorsRules_thenLongerPathRulesTakePrecedenceOverShorterOnes( self): self.longer_rule = CorsRule("/foobar", {}) takes_precedence = self.longer_rule.takes_precedence_over(self.rule) self.assertTrue(takes_precedence) def test_givenSameLengthRule_whenComparingCorsRules_thenPriorityIsGivenToMostRecentRule( self): takes_precedence = self.rule.takes_precedence_over(self.rule) self.assertTrue(takes_precedence)
def test_givenPrefixedRule_whenCreatingRouteHandlers_thenCreateResourceInvokerWithTruncatedPathForEveryRoute( self): request = self.request_builder.path("/prefix" + PATH).build() rule = RoutingRule("/prefix", self.routing_table) self.route_handler_factory = RouteHandlerFactory( ServiceLocator(), Deserializer(Registry()), [rule], CorsHandler([CorsRule("/", {})])) handlers: List[PathRewritingRouteHandlerDecorator] = [ x for x in self.route_handler_factory.create_route_handlers(request) ] self.assertEqual(1, len(handlers)) self.assertEqual(PATH, handlers[0].new_path)
def setUp(self): self.rule = CorsRule("/", {})