本文整理汇总了Python中rewrite.filter_url函数的典型用法代码示例。如果您正苦于以下问题:Python filter_url函数的具体用法?Python filter_url怎么用?Python filter_url使用的例子?那么恭喜您, 这里精选的函数代码示例或许可以为您提供帮助。
在下文中一共展示了filter_url函数的20个代码示例,这些例子默认根据受欢迎程度排序。您可以为喜欢或者感觉有用的代码点赞,您的评价将有助于我们的系统推荐出更棒的Python代码示例。
示例1: test_router_prefix
def test_router_prefix(self):
'''
Test path_prefix
'''
router_path_prefix = dict(
BASE = dict(
default_application = 'a1',
applications = ['a1', 'a2'],
path_prefix = '/path/to/apps',
),
a1 = dict(
controllers = ['c1a', 'c1b', 'default'],
),
a2 = dict(
default_controller = 'c2',
controllers = [],
),
)
load(rdict=router_path_prefix)
self.assertEqual(str(URL(a='a1', c='c1a', f='f')),
"/path/to/apps/c1a/f")
self.assertEqual(str(URL(a='a2', c='c', f='f')),
"/path/to/apps/a2/c/f")
self.assertEqual(str(URL(a='a2', c='c2', f='f')),
"/path/to/apps/a2/c2/f")
self.assertEqual(filter_url('http://domain.com/a1/'), "/a1/default/index")
self.assertEqual(filter_url('http://domain.com/path/to/apps/a1/'), "/a1/default/index")
self.assertEqual(filter_url('http://domain.com/path/to/a1/'), "/a1/default/path ['to', 'a1']")
开发者ID:chrischeyne,项目名称:Cassandra-Monitor,代码行数:28,代码来源:test_router.py
示例2: test_routes_raise
def test_routes_raise(self):
'''
Test URLs that raise exceptions
'''
# test non-exception variants
load(data='')
self.assertEqual(
filter_url('http://domain.com/init'), "/init/default/index")
self.assertEqual(filter_url(
'http://domain.com/init/default'), "/init/default/index")
self.assertEqual(filter_url('http://domain.com/init/default/fcn.ext'),
"/init/default/fcn.ext")
self.assertEqual(filter_url('http://domain.com/init/default/fcn/arg'),
"/init/default/fcn ['arg']")
# now raise-HTTP variants
self.assertRaises(HTTP, filter_url, 'http://domain.com/bad!ctl')
self.assertRaises(HTTP, filter_url, 'http://domain.com/ctl/bad!fcn')
self.assertRaises(
HTTP, filter_url, 'http://domain.com/ctl/fcn.bad!ext')
self.assertRaises(
HTTP, filter_url, 'http://domain.com/ctl/fcn/bad!arg')
try:
# 2.7+ only
self.assertRaisesRegexp(HTTP, '400 BAD REQUEST \[invalid path\]', filter_url, 'http://domain.com/init/bad!ctl')
self.assertRaisesRegexp(HTTP, '400 BAD REQUEST \[invalid path\]', filter_url, 'http://domain.com/init/ctlr/bad!fcn')
self.assertRaisesRegexp(HTTP, '400 BAD REQUEST \[invalid path\]', filter_url, 'http://domain.com/init/ctlr/fcn.bad!ext')
self.assertRaisesRegexp(HTTP, '400 BAD REQUEST \[invalid path\]', filter_url, 'http://domain.com/appc/init/fcn/bad!arg')
except AttributeError:
pass
self.assertEqual(filter_url('http://domain.com/welcome/default/fcn_1'),
"/welcome/default/fcn_1")
开发者ID:kristoh,项目名称:eve-metrics,代码行数:32,代码来源:test_routes.py
示例3: test_router_specific
def test_router_specific(self):
"""
Test app-specific routes.py
Note that make_apptree above created applications/examples/routes.py with a default_function.
"""
load(rdict=dict())
self.assertEqual(filter_url('http://domain.com/welcome'), '/welcome/default/index')
self.assertEqual(filter_url('http://domain.com/examples'), '/examples/default/exdef')
开发者ID:chrischeyne,项目名称:Cassandra-Monitor,代码行数:9,代码来源:test_router.py
示例4: test_routes_query
def test_routes_query(self):
""" Test query appending """
data = r'''
routes_in = (
('/service/$model/create', '/app/default/call/json/create?model=$model'),
)
'''
load(data=data)
self.assertEqual(filter_url('http://localhost:8000/service/person/create'), "/app/default/call ['json', 'create'] ?model=person")
self.assertEqual(filter_url('http://localhost:8000/service/person/create?var1=val1'), "/app/default/call ['json', 'create'] ?model=person&var1=val1")
开发者ID:kristoh,项目名称:eve-metrics,代码行数:10,代码来源:test_routes.py
示例5: test_request_uri
def test_request_uri(self):
"""
Test REQUEST_URI in env
"""
data = r"""routes_in = [
('/abc', '/init/default/abc'),
('/index/$anything', '/init/default/index/$anything'),
]
"""
load(data=data)
self.assertEqual(filter_url("http://domain.com/abc", env=True).request_uri, "/init/default/abc")
self.assertEqual(filter_url("http://domain.com/abc?def", env=True).request_uri, "/init/default/abc?def")
self.assertEqual(filter_url("http://domain.com/index/abc", env=True).request_uri, "/init/default/index/abc")
self.assertEqual(filter_url("http://domain.com/index/a%20bc", env=True).request_uri, "/init/default/index/a bc")
开发者ID:bsnipes,项目名称:TaskManager,代码行数:14,代码来源:test_routes.py
示例6: test_request_uri
def test_request_uri(self):
'''
Test REQUEST_URI in env
'''
load(rdict=dict())
self.assertEqual(filter_url('http://domain.com/abc', env=True).request_uri,
'/init/default/abc')
self.assertEqual(filter_url('http://domain.com/abc?def', env=True).request_uri,
'/init/default/abc?def')
self.assertEqual(filter_url('http://domain.com/index/abc', env=True).request_uri,
"/init/default/index/abc")
self.assertEqual(filter_url('http://domain.com/abc/def', env=True).request_uri,
"/init/default/abc/def")
self.assertEqual(filter_url('http://domain.com/index/a%20bc', env=True).request_uri,
"/init/default/index/a%20bc")
开发者ID:chrischeyne,项目名称:Cassandra-Monitor,代码行数:15,代码来源:test_router.py
示例7: test_routes_specific
def test_routes_specific(self):
"""
Test app-specific routes.py
Note that make_apptree above created applications/examples/routes.py with a default_function.
"""
data = r"""
routes_app = [
(r'/(?P<app>welcome|admin|examples)\b.*', r'\g<app>'),
(r'$anything', r'welcome'),
(r'/?$anything', r'welcome'),
]
"""
load(data=data)
self.assertEqual(filter_url("http://domain.com/welcome"), "/welcome/default/index")
self.assertEqual(filter_url("http://domain.com/examples"), "/examples/default/exdef")
开发者ID:bsnipes,项目名称:TaskManager,代码行数:16,代码来源:test_routes.py
示例8: test_request_uri
def test_request_uri(self):
'''
Test REQUEST_URI in env
'''
data = r'''routes_in = [
('/abc', '/init/default/abc'),
('/index/$anything', '/init/default/index/$anything'),
]
'''
load(data=data)
self.assertEqual(filter_url('http://domain.com/abc', env=True).request_uri,
'/init/default/abc')
self.assertEqual(filter_url('http://domain.com/abc?def', env=True).request_uri,
'/init/default/abc?def')
self.assertEqual(filter_url('http://domain.com/index/abc', env=True).request_uri,
"/init/default/index/abc")
self.assertEqual(filter_url('http://domain.com/index/a%20bc', env=True).request_uri,
"/init/default/index/a bc")
开发者ID:ErmiaAzarkhalili,项目名称:Twitter-Sentiment-Analysis-1,代码行数:18,代码来源:test_routes.py
示例9: test_router_app
def test_router_app(self):
""" Tests the doctest router app resolution"""
routers = dict(
BASE = dict(
domains = {
"domain1.com" : "app1",
"www.domain1.com" : "app1",
"domain2.com" : "app2",
},
),
app1 = dict(),
app2 = dict(),
goodapp = dict(),
)
routers['bad!app'] = dict()
load(rdict=routers)
self.assertEqual(filter_url('http://domain.com/welcome', app=True), 'welcome')
self.assertEqual(filter_url('http://domain.com/welcome/', app=True), 'welcome')
self.assertEqual(filter_url('http://domain.com', app=True), 'init')
self.assertEqual(filter_url('http://domain.com/', app=True), 'init')
self.assertEqual(filter_url('http://domain.com/abc', app=True), 'init')
self.assertEqual(filter_url('http://domain1.com/abc', app=True), 'app1')
self.assertEqual(filter_url('http://www.domain1.com/abc', app=True), 'app1')
self.assertEqual(filter_url('http://domain2.com/abc', app=True), 'app2')
self.assertEqual(filter_url('http://domain2.com/admin', app=True), 'app2')
self.assertEqual(filter_url('http://domain.com/goodapp', app=True), 'goodapp')
self.assertRaises(HTTP, filter_url, 'http://domain.com/bad!app', app=True)
try:
# 2.7+ only
self.assertRaisesRegexp(HTTP, '400.*invalid application', filter_url, 'http://domain.com/bad!app')
except AttributeError:
pass
routers['BASE']['domains']['domain3.com'] = 'app3'
self.assertRaises(SyntaxError, load, rdict=routers)
try:
# 2.7+ only
self.assertRaisesRegexp(SyntaxError, "unknown.*app3", load, rdict=routers)
except AttributeError:
pass
开发者ID:chrischeyne,项目名称:Cassandra-Monitor,代码行数:41,代码来源:test_router.py
示例10: test_routes_raise
def test_routes_raise(self):
"""
Test URLs that raise exceptions
"""
# test non-exception variants
load(data="")
self.assertEqual(filter_url("http://domain.com/init"), "/init/default/index")
self.assertEqual(filter_url("http://domain.com/init/default"), "/init/default/index")
self.assertEqual(filter_url("http://domain.com/init/default/fcn.ext"), "/init/default/fcn.ext")
self.assertEqual(filter_url("http://domain.com/init/default/fcn/arg"), "/init/default/fcn ['arg']")
# now raise-HTTP variants
self.assertRaises(HTTP, filter_url, "http://domain.com/bad!ctl")
self.assertRaises(HTTP, filter_url, "http://domain.com/ctl/bad!fcn")
self.assertRaises(HTTP, filter_url, "http://domain.com/ctl/fcn.bad!ext")
self.assertRaises(HTTP, filter_url, "http://domain.com/ctl/fcn/bad!arg")
try:
# 2.7+ only
self.assertRaisesRegexp(
HTTP, "400 BAD REQUEST \[invalid path\]", filter_url, "http://domain.com/init/bad!ctl"
)
self.assertRaisesRegexp(
HTTP, "400 BAD REQUEST \[invalid path\]", filter_url, "http://domain.com/init/ctlr/bad!fcn"
)
self.assertRaisesRegexp(
HTTP, "400 BAD REQUEST \[invalid path\]", filter_url, "http://domain.com/init/ctlr/fcn.bad!ext"
)
self.assertRaisesRegexp(
HTTP, "400 BAD REQUEST \[invalid path \(args\)\]", filter_url, "http://domain.com/appc/init/fcn/bad!arg"
)
except AttributeError:
pass
self.assertEqual(filter_url("http://domain.com/welcome/default/fcn_1"), "/welcome/default/fcn_1")
self.assertRaises(HTTP, filter_url, "http://domain.com/welcome/default/fcn-1")
try:
# 2.7+ only
self.assertRaisesRegexp(
HTTP, "400 BAD REQUEST \[invalid path\]", filter_url, "http://domain.com/welcome/default/fcn-1"
)
except AttributeError:
pass
开发者ID:bsnipes,项目名称:TaskManager,代码行数:41,代码来源:test_routes.py
示例11: test_router_args
def test_router_args(self):
'''
Test URL args parsing/generation
'''
load(rdict=dict())
self.assertEqual(filter_url('http://domain.com/init/default/f/arg1'),
"/init/default/f ['arg1']")
self.assertEqual(filter_url('http://domain.com/init/default/f/arg1/'),
"/init/default/f ['arg1']")
self.assertEqual(filter_url('http://domain.com/init/default/f/arg1//'),
"/init/default/f ['arg1', '']")
self.assertEqual(filter_url('http://domain.com/init/default/f//arg1'),
"/init/default/f ['', 'arg1']")
self.assertEqual(filter_url('http://domain.com/init/default/f/arg1/arg2'),
"/init/default/f ['arg1', 'arg2']")
self.assertEqual(filter_url('http://domain.com/init/default/f', out=True), "/f")
self.assertEqual(map_url_out(None, None, 'init', 'default', 'f', None, None, None, None, None), "/f")
self.assertEqual(map_url_out(None, None, 'init', 'default', 'f', [], None, None, None, None), "/f")
self.assertEqual(map_url_out(None, None, 'init', 'default', 'f', ['arg1'], None, None, None, None), "/f")
self.assertEqual(map_url_out(None, None, 'init', 'default', 'f', ['arg1', ''], None, None, None, None), "/f")
self.assertEqual(str(URL(a='init', c='default', f='f', args=None)), "/f")
self.assertEqual(str(URL(a='init', c='default', f='f', args=['arg1'])), "/f/arg1")
self.assertEqual(str(URL(a='init', c='default', f='f', args=['arg1', ''])), "/f/arg1//")
self.assertEqual(str(URL(a='init', c='default', f='f', args=['arg1', '', 'arg3'])), "/f/arg1//arg3")
self.assertEqual(str(URL(a='init', c='default', f='f', args=['ar g'])), "/f/ar%20g")
self.assertEqual(str(URL(a='init', c='default', f='f', args=['årg'])), "/f/%C3%A5rg")
self.assertEqual(str(URL(a='init', c='default', f='fünc')), "/f\xc3\xbcnc")
开发者ID:chrischeyne,项目名称:Cassandra-Monitor,代码行数:28,代码来源:test_router.py
示例12: test_router_raise
def test_router_raise(self):
'''
Test URLs that raise exceptions
'''
# test non-exception variants
router_raise = dict(
init = dict(
controllers = [],
),
welcome = dict(
map_hyphen = False,
),
)
load(rdict=router_raise)
self.assertEqual(filter_url('http://domain.com/ctl'), "/init/ctl/index")
self.assertEqual(filter_url('http://domain.com/default/fcn'), "/init/default/fcn")
self.assertEqual(filter_url('http://domain.com/default/fcn.ext'), "/init/default/fcn.ext")
self.assertEqual(filter_url('http://domain.com/default/fcn/arg'), "/init/default/fcn ['arg']")
# now raise-HTTP variants
self.assertRaises(HTTP, filter_url, 'http://domain.com/bad!ctl')
self.assertRaises(HTTP, filter_url, 'http://domain.com/ctl/bad!fcn')
self.assertRaises(HTTP, filter_url, 'http://domain.com/ctl/fcn.bad!ext')
self.assertRaises(HTTP, filter_url, 'http://domain.com/ctl/fcn/bad!arg')
try:
# 2.7+ only
self.assertRaisesRegexp(HTTP, '400.*invalid controller', filter_url, 'http://domain.com/init/bad!ctl')
self.assertRaisesRegexp(HTTP, '400.*invalid function', filter_url, 'http://domain.com/init/ctlr/bad!fcn')
self.assertRaisesRegexp(HTTP, '400.*invalid extension', filter_url, 'http://domain.com/init/ctlr/fcn.bad!ext')
self.assertRaisesRegexp(HTTP, '400.*invalid arg', filter_url, 'http://domain.com/appc/init/fcn/bad!arg')
except AttributeError:
pass
self.assertEqual(filter_url('http://domain.com/welcome/default/fcn_1'), "/welcome/default/fcn_1")
self.assertRaises(HTTP, filter_url, 'http://domain.com/welcome/default/fcn-1')
try:
# 2.7+ only
self.assertRaisesRegexp(HTTP, '400.*invalid function', filter_url, 'http://domain.com/welcome/default/fcn-1')
except AttributeError:
pass
开发者ID:chrischeyne,项目名称:Cassandra-Monitor,代码行数:39,代码来源:test_router.py
示例13: test_routes_defapp
def test_routes_defapp(self):
""" Test the default-application function """
data = r'''
default_application = 'defapp'
'''
load(data=data)
# incoming
self.assertEqual(filter_url('http://domain.com'), '/defapp/default/index')
self.assertEqual(filter_url('http://domain.com/'), '/defapp/default/index')
self.assertEqual(filter_url('http://domain.com/welcome'), '/welcome/default/index')
self.assertEqual(filter_url('http://domain.com/app'), '/app/default/index')
self.assertEqual(filter_url('http://domain.com/welcome/default/index/abc'), "/welcome/default/index ['abc']")
self.assertEqual(filter_url('http://domain.com/welcome/static/abc'), '%s/applications/welcome/static/abc' % root)
self.assertEqual(filter_url('http://domain.com/defapp/static/path/to/static'), "%s/applications/defapp/static/path/to/static" % root)
开发者ID:ErmiaAzarkhalili,项目名称:Twitter-Sentiment-Analysis-1,代码行数:14,代码来源:test_routes.py
示例14: test_routes_defapp
def test_routes_defapp(self):
""" Test the default-application function """
data = r"""
default_application = 'defapp'
"""
load(data=data)
# incoming
self.assertEqual(filter_url("http://domain.com"), "/defapp/default/index")
self.assertEqual(filter_url("http://domain.com/"), "/defapp/default/index")
self.assertEqual(filter_url("http://domain.com/welcome"), "/welcome/default/index")
self.assertEqual(filter_url("http://domain.com/app"), "/app/default/index")
self.assertEqual(filter_url("http://domain.com/welcome/default/index/abc"), "/welcome/default/index ['abc']")
self.assertEqual(
filter_url("http://domain.com/welcome/static/abc"), "%s/applications/welcome/static/abc" % root
)
self.assertEqual(
filter_url("http://domain.com/defapp/static/path/to/static"),
"%s/applications/defapp/static/path/to/static" % root,
)
开发者ID:bsnipes,项目名称:TaskManager,代码行数:19,代码来源:test_routes.py
示例15: test_router_hyphen
def test_router_hyphen(self):
'''
Test hyphen conversion
'''
router_hyphen = dict(
BASE = dict(
applications = ['init', 'app1', 'app2'],
),
init = dict(
controllers = ['default'],
),
app1 = dict(
controllers = ['default'],
map_hyphen = True,
),
app2 = dict(
controllers = ['default'],
map_hyphen = False,
),
)
load(rdict=router_hyphen)
self.assertEqual(filter_url('http://domain.com/init/default/fcn_1', out=True), "/fcn_1")
self.assertEqual(filter_url('http://domain.com/static/filename-with_underscore'),
"%s/applications/init/static/filename-with_underscore" % root)
self.assertEqual(filter_url('http://domain.com/init/static/filename-with_underscore', out=True),
"/init/static/filename-with_underscore")
self.assertEqual(filter_url('http://domain.com/app2/fcn_1'),
"/app2/default/fcn_1")
self.assertEqual(filter_url('http://domain.com/app2/ctr/fcn_1', domain=('app2',None), out=True),
"/ctr/fcn_1")
self.assertEqual(filter_url('http://domain.com/app2/static/filename-with_underscore', domain=('app2',None), out=True),
"/app2/static/filename-with_underscore")
self.assertEqual(filter_url('http://domain.com/app2/static/filename-with_underscore'),
"%s/applications/app2/static/filename-with_underscore" % root)
self.assertEqual(str(URL(a='init', c='default', f='a_b')), "/a_b")
self.assertEqual(str(URL(a='app1', c='default', f='a_b')), "/app1/a-b")
self.assertEqual(str(URL(a='app2', c='default', f='a_b')), "/app2/a_b")
self.assertEqual(str(URL(a='app1', c='static', f='a/b_c')), "/app1/static/a/b_c")
self.assertEqual(str(URL(a='app1', c='static/a', f='b_c')), "/app1/static/a/b_c")
self.assertEqual(str(URL(a='app2', c='static', f='a/b_c')), "/app2/static/a/b_c")
self.assertEqual(str(URL(a='app2', c='static/a', f='b_c')), "/app2/static/a/b_c")
开发者ID:chrischeyne,项目名称:Cassandra-Monitor,代码行数:43,代码来源:test_router.py
示例16: test_router_defapp
def test_router_defapp(self):
""" Test the default-application function """
routers = dict(BASE=dict(default_application='welcome'))
load(rdict=routers)
# app resolution
self.assertEqual(filter_url('http://domain.com/welcome', app=True), 'welcome')
self.assertEqual(filter_url('http://domain.com/', app=True), 'welcome')
# incoming
self.assertEqual(filter_url('http://domain.com'), '/welcome/default/index')
self.assertEqual(filter_url('http://domain.com/'), '/welcome/default/index')
self.assertEqual(filter_url('http://domain.com/appadmin'), '/welcome/appadmin/index')
self.assertEqual(filter_url('http://domain.com/abc'), '/welcome/default/abc')
self.assertEqual(filter_url('http://domain.com/index/abc'), "/welcome/default/index ['abc']")
self.assertEqual(filter_url('http://domain.com/abc/def'), "/welcome/default/abc ['def']")
self.assertEqual(filter_url('http://domain.com/favicon.ico'), '%s/applications/welcome/static/favicon.ico' % root)
self.assertEqual(filter_url('http://domain.com/static/abc'), '%s/applications/welcome/static/abc' % root)
self.assertEqual(filter_url('http://domain.com/static/path/to/static'), "%s/applications/welcome/static/path/to/static" % root)
# outgoing
self.assertEqual(filter_url('http://domain.com/welcome/default/index', out=True), '/')
self.assertEqual(filter_url('http://domain.com/welcome/default/index/arg1', out=True), '/index/arg1')
self.assertEqual(filter_url('http://domain.com/welcome/default/abc', out=True), '/abc')
self.assertEqual(filter_url('http://domain.com/welcome/default/admin', out=True), '/default/admin')
self.assertEqual(filter_url('http://domain.com/welcome/static/abc', out=True),
'/welcome/static/abc')
self.assertEqual(filter_url('http://domain.com/welcome/appadmin/index', out=True), '/appadmin')
self.assertEqual(filter_url('http://domain.com/welcome/appadmin/abc', out=True), '/appadmin/abc')
self.assertEqual(filter_url('http://domain.com/welcome/admin/index', out=True), '/welcome/admin')
self.assertEqual(filter_url('http://domain.com/welcome/admin/abc', out=True), '/welcome/admin/abc')
self.assertEqual(filter_url('http://domain.com/admin/default/abc', out=True), '/admin/abc')
开发者ID:chrischeyne,项目名称:Cassandra-Monitor,代码行数:29,代码来源:test_router.py
示例17: test_routes_null
def test_routes_null(self):
""" Tests a null routes table """
load(data="")
# incoming
self.assertEqual(filter_url("http://domain.com"), "/init/default/index")
self.assertEqual(filter_url("http://domain.com/"), "/init/default/index")
self.assertEqual(filter_url("http://domain.com/abc"), "/abc/default/index")
self.assertEqual(filter_url("http://domain.com/abc/"), "/abc/default/index")
self.assertEqual(filter_url("http://domain.com/abc/def"), "/abc/def/index")
self.assertEqual(filter_url("http://domain.com/abc/def/"), "/abc/def/index")
self.assertEqual(filter_url("http://domain.com/abc/def/ghi"), "/abc/def/ghi")
self.assertEqual(filter_url("http://domain.com/abc/def/ghi/"), "/abc/def/ghi")
self.assertEqual(filter_url("http://domain.com/abc/def/ghi/jkl"), "/abc/def/ghi ['jkl']")
self.assertEqual(filter_url("http://domain.com/abc/def/ghi/j%20kl"), "/abc/def/ghi ['j_kl']")
self.assertEqual(
filter_url("http://domain.com/welcome/static/path/to/static"),
"%s/applications/welcome/static/path/to/static" % root,
)
self.assertRaises(HTTP, filter_url, "http://domain.com/welcome/static/bad/path/to/st~tic")
try:
# 2.7+ only
self.assertRaisesRegexp(
HTTP,
"400.*BAD REQUEST \[invalid path\]",
filter_url,
"http://domain.com/welcome/static/bad/path/to/st~tic",
)
except AttributeError:
pass
# outgoing
self.assertEqual(filter_url("http://domain.com/init/default/index", out=True), "/init/default/index")
self.assertEqual(filter_url("http://domain.com/init/default/index/arg1", out=True), "/init/default/index/arg1")
self.assertEqual(filter_url("http://domain.com/init/default/abc", out=True), "/init/default/abc")
开发者ID:bsnipes,项目名称:TaskManager,代码行数:33,代码来源:test_routes.py
示例18: test_router_out
def test_router_out(self):
'''
Test basic outgoing routing
'''
router_out = dict(
BASE = dict(),
init = dict( controllers = ['default', 'ctr'], ),
app = dict(),
)
load(rdict=router_out)
self.assertEqual(filter_url('https://domain.com/app/ctr/fcn', out=True), "/app/ctr/fcn")
self.assertEqual(filter_url('https://domain.com/init/ctr/fcn', out=True), "/ctr/fcn")
self.assertEqual(filter_url('https://domain.com/init/ctr/fcn', out=True), "/ctr/fcn")
self.assertEqual(filter_url('https://domain.com/init/static/file', out=True), "/init/static/file")
self.assertEqual(filter_url('https://domain.com/init/static/index', out=True), "/init/static/index")
self.assertEqual(filter_url('https://domain.com/init/default/index', out=True), "/")
self.assertEqual(filter_url('https://domain.com/init/ctr/index', out=True), "/ctr")
self.assertEqual(filter_url('http://domain.com/init/default/fcn?query', out=True), "/fcn?query")
self.assertEqual(filter_url('http://domain.com/init/default/fcn#anchor', out=True), "/fcn#anchor")
self.assertEqual(filter_url('http://domain.com/init/default/fcn?query#anchor', out=True),
"/fcn?query#anchor")
router_out['BASE']['map_static'] = True
load(rdict=router_out)
self.assertEqual(filter_url('https://domain.com/init/static/file', out=True), "/static/file")
self.assertEqual(filter_url('https://domain.com/init/static/index', out=True), "/static/index")
router_out['init']['map_static'] = False
load(rdict=router_out)
self.assertEqual(filter_url('https://domain.com/init/static/file', out=True), "/init/static/file")
self.assertEqual(filter_url('https://domain.com/init/static/index', out=True), "/init/static/index")
开发者ID:chrischeyne,项目名称:Cassandra-Monitor,代码行数:31,代码来源:test_router.py
示例19: test_routes_args
def test_routes_args(self):
"""
Test URL args parsing/generation
"""
data = r"""routes_in = [
('/robots.txt', '/welcome/static/robots.txt'),
('/favicon.ico', '/welcome/static/favicon.ico'),
('/admin$anything', '/admin$anything'),
('.*:https?://(.*\\.)?domain1.com:$method /', '/app1/default'),
('.*:https?://(.*\\.)?domain1.com:$method /static/$anything', '/app1/static/$anything'),
('.*:https?://(.*\\.)?domain1.com:$method /appadmin/$anything', '/app1/appadmin/$anything'),
('.*:https?://(.*\\.)?domain1.com:$method /$anything', '/app1/default/$anything'),
('.*:https?://(.*\\.)?domain2.com:$method /', '/app2/default'),
('.*:https?://(.*\\.)?domain2.com:$method /static/$anything', '/app2/static/$anything'),
('.*:https?://(.*\\.)?domain2.com:$method /appadmin/$anything', '/app2/appadmin/$anything'),
('.*:https?://(.*\\.)?domain2.com:$method /$anything', '/app2/default/$anything'),
('.*:https?://(.*\\.)?domain3.com:$method /', '/app3/defcon3'),
('.*:https?://(.*\\.)?domain3.com:$method /static/$anything', '/app3/static/$anything'),
('.*:https?://(.*\\.)?domain3.com:$method /appadmin/$anything', '/app3/appadmin/$anything'),
('.*:https?://(.*\\.)?domain3.com:$method /$anything', '/app3/defcon3/$anything'),
('/', '/welcome/default'),
('/welcome/default/$anything', '/welcome/default/$anything'),
('/welcome/$anything', '/welcome/default/$anything'),
('/static/$anything', '/welcome/static/$anything'),
('/appadmin/$anything', '/welcome/appadmin/$anything'),
('/$anything', '/welcome/default/$anything'),
]
routes_out = [
('/welcome/static/$anything', '/static/$anything'),
('/welcome/appadmin/$anything', '/appadmin/$anything'),
('/welcome/default/$anything', '/$anything'),
('/app1/static/$anything', '/static/$anything'),
('/app1/appadmin/$anything', '/appadmin/$anything'),
('/app1/default/$anything', '/$anything'),
('/app2/static/$anything', '/static/$anything'),
('/app2/appadmin/$anything', '/appadmin/$anything'),
('/app2/default/$anything', '/$anything'),
('/app3/static/$anything', '/static/$anything'),
('/app3/appadmin/$anything', '/appadmin/$anything'),
('/app3/defcon3/$anything', '/$anything')
]
"""
load(data=data)
self.assertEqual(filter_url("http://domain.com/welcome/default/f/arg1"), "/welcome/default/f ['arg1']")
self.assertEqual(filter_url("http://domain.com/welcome/default/f/arg1/"), "/welcome/default/f ['arg1']")
self.assertEqual(filter_url("http://domain.com/welcome/default/f/arg1//"), "/welcome/default/f ['arg1', '']")
self.assertEqual(filter_url("http://domain.com/welcome/default/f//arg1"), "/welcome/default/f ['', 'arg1']")
self.assertEqual(
filter_url("http://domain.com/welcome/default/f/arg1/arg2"), "/welcome/default/f ['arg1', 'arg2']"
)
self.assertEqual(
filter_url("http://domain.com/welcome/default/f/arg1//arg2"), "/welcome/default/f ['arg1', '', 'arg2']"
)
self.assertEqual(
filter_url("http://domain.com/welcome/default/f/arg1//arg3/"), "/welcome/default/f ['arg1', '', 'arg3']"
)
self.assertEqual(
filter_url("http://domain.com/welcome/default/f/arg1//arg3//"),
"/welcome/default/f ['arg1', '', 'arg3', '']",
)
self.assertEqual(filter_url("http://domain.com/welcome/default/f", out=True), "/f")
self.assertEqual(regex_filter_out("/welcome/default/f"), "/f")
self.assertEqual(str(URL(a="welcome", c="default", f="f", args=None)), "/f")
self.assertEqual(str(URL(a="welcome", c="default", f="f", args=["arg1"])), "/f/arg1")
self.assertEqual(str(URL(a="welcome", c="default", f="f", args=["arg1", ""])), "/f/arg1//")
self.assertEqual(str(URL(a="welcome", c="default", f="f", args=["arg1", "", "arg3"])), "/f/arg1//arg3")
self.assertEqual(str(URL(a="welcome", c="default", f="f", args=["ar g"])), "/f/ar%20g")
self.assertEqual(str(URL(a="welcome", c="default", f="f", args=["årg"])), "/f/%C3%A5rg")
self.assertEqual(str(URL(a="welcome", c="default", f="fünc")), "/f\xc3\xbcnc")
开发者ID:bsnipes,项目名称:TaskManager,代码行数:70,代码来源:test_routes.py
示例20: test_router_functions
def test_router_functions(self):
'''
Test function-omission with functions=[something]
'''
router_functions = dict(
BASE = dict(
applications = ['init', 'app', 'app2'],
default_application = 'app',
),
init = dict(
controllers = ['default'],
),
app = dict(
controllers = ['default', 'ctr'],
functions = dict(
default=['index', 'user', 'help'],
ctr=['ctrf1', 'ctrf2', 'ctrf3'],
),
default_function = dict(
default='index',
ctr='ctrf1',
),
),
app2 = dict(
controllers = ['default', 'ctr'],
functions = ['index', 'user', 'help'],
),
)
load(rdict=router_functions)
# outbound
self.assertEqual(str(URL(a='init', c='default', f='f', args=['arg1'])), "/init/f/arg1")
self.assertEqual(str(URL(a='init', c='default', f='index', args=['arg1'])), "/init/index/arg1")
self.assertEqual(str(URL(a='app', c='default', f='index', args=['arg1'])), "/arg1")
self.assertEqual(str(URL(a='app', c='default', f='user', args=['arg1'])), "/user/arg1")
self.assertEqual(str(URL(a='app', c='default', f='user', args=['index'])), "/user/index")
self.assertEqual(str(URL(a='app', c='default', f='index', args=['index'])), "/index/index")
self.assertEqual(str(URL(a='app', c='default', f='index', args=['init'])), "/index/init")
self.assertEqual(str(URL(a='app', c='default', f='index', args=['ctr'])), "/index/ctr")
self.assertEqual(str(URL(a='app', c='ctr', f='index', args=['arg'])), "/ctr/index/arg")
self.assertEqual(str(URL(a='app', c='ctr', f='ctrf1', args=['arg'])), "/ctr/arg")
self.assertEqual(str(URL(a='app', c='ctr', f='ctrf1', args=['ctrf2'])), "/ctr/ctrf1/ctrf2")
self.assertEqual(str(URL(a='app2', c='default', f='index', args=['arg1'])), "/app2/arg1")
self.assertEqual(str(URL(a='app2', c='default', f='user', args=['arg1'])), "/app2/user/arg1")
self.assertEqual(str(URL(a='app2', c='default', f='user', args=['index'])), "/app2/user/index")
self.assertEqual(str(URL(a='app2', c='default', f='index', args=['index'])), "/app2/index/index")
self.assertEqual(str(URL(a='app2', c='default', f='index', args=['init'])), "/app2/index/init")
self.assertEqual(str(URL(a='app2', c='default', f='index', args=['ctr'])), "/app2/index/ctr")
# inbound
self.assertEqual(filter_url('http://d.com/arg'), "/app/default/index ['arg']")
self.assertEqual(filter_url('http://d.com/user'), "/app/default/user")
self.assertEqual(filter_url('http://d.com/user/arg'), "/app/default/user ['arg']")
self.assertEqual(filter_url('http://d.com/ctr'), "/app/ctr/ctrf1")
self.assertEqual(filter_url('http://d.com/ctr/arg'), "/app/ctr/ctrf1 ['arg']")
self.assertEqual(filter_url('http://d.com/app2/arg'), "/app2/default/index ['arg']")
self.assertEqual(filter_url('http://d.com/app2/user'), "/app2/default/user")
self.assertEqual(filter_url('http://d.com/app2/user/arg'), "/app2/default/user ['arg']")
self.assertEqual(filter_url('http://d.com/app2/ctr'), "/app2/ctr/index")
self.assertEqual(filter_url('http://d.com/app2/ctr/index/arg'), "/app2/ctr/index ['arg']")
self.assertEqual(filter_url('http://d.com/app2/ctr/arg'), "/app2/ctr/arg")
开发者ID:chrischeyne,项目名称:Cassandra-Monitor,代码行数:64,代码来源:test_router.py
注:本文中的rewrite.filter_url函数示例由纯净天空整理自Github/MSDocs等源码及文档管理平台,相关代码片段筛选自各路编程大神贡献的开源项目,源码版权归原作者所有,传播和使用请参考对应项目的License;未经允许,请勿转载。 |
请发表评论