mirror of
https://github.com/moparisthebest/SickRage
synced 2024-12-15 12:32:18 -05:00
cec4ed573d
Switched out sqlite3 libs in favour of SQLAlchemy v0.9, will gradually migrate dialects and scheme to be fully SQLAlchemy compliant for using there ORM with sessions instead of direct. Fixed getEpisode function to stop making unrequired scene number conversions on already converted data thats available now from cache.
76 lines
2.3 KiB
Python
76 lines
2.3 KiB
Python
import os
|
|
curdir = os.path.join(os.getcwd(), os.path.dirname(__file__))
|
|
|
|
import cherrypy
|
|
|
|
from cherrypy.test import helper
|
|
import nose
|
|
|
|
|
|
class RoutesDispatchTest(helper.CPWebCase):
|
|
|
|
def setup_server():
|
|
|
|
try:
|
|
import routes
|
|
except ImportError:
|
|
raise nose.SkipTest('Install routes to test RoutesDispatcher code')
|
|
|
|
class Dummy:
|
|
|
|
def index(self):
|
|
return "I said good day!"
|
|
|
|
class City:
|
|
|
|
def __init__(self, name):
|
|
self.name = name
|
|
self.population = 10000
|
|
|
|
def index(self, **kwargs):
|
|
return "Welcome to %s, pop. %s" % (self.name, self.population)
|
|
index._cp_config = {
|
|
'tools.response_headers.on': True,
|
|
'tools.response_headers.headers': [
|
|
('Content-Language', 'en-GB')
|
|
]
|
|
}
|
|
|
|
def update(self, **kwargs):
|
|
self.population = kwargs['pop']
|
|
return "OK"
|
|
|
|
d = cherrypy.dispatch.RoutesDispatcher()
|
|
d.connect(action='index', name='hounslow', route='/hounslow',
|
|
controller=City('Hounslow'))
|
|
d.connect(
|
|
name='surbiton', route='/surbiton', controller=City('Surbiton'),
|
|
action='index', conditions=dict(method=['GET']))
|
|
d.mapper.connect('/surbiton', controller='surbiton',
|
|
action='update', conditions=dict(method=['POST']))
|
|
d.connect('main', ':action', controller=Dummy())
|
|
|
|
conf = {'/': {'request.dispatch': d}}
|
|
cherrypy.tree.mount(root=None, config=conf)
|
|
setup_server = staticmethod(setup_server)
|
|
|
|
def test_Routes_Dispatch(self):
|
|
self.getPage("/hounslow")
|
|
self.assertStatus("200 OK")
|
|
self.assertBody("Welcome to Hounslow, pop. 10000")
|
|
|
|
self.getPage("/foo")
|
|
self.assertStatus("404 Not Found")
|
|
|
|
self.getPage("/surbiton")
|
|
self.assertStatus("200 OK")
|
|
self.assertBody("Welcome to Surbiton, pop. 10000")
|
|
|
|
self.getPage("/surbiton", method="POST", body="pop=1327")
|
|
self.assertStatus("200 OK")
|
|
self.assertBody("OK")
|
|
self.getPage("/surbiton")
|
|
self.assertStatus("200 OK")
|
|
self.assertHeader("Content-Language", "en-GB")
|
|
self.assertBody("Welcome to Surbiton, pop. 1327")
|