def test_inject(): em, app = _setup() em.enable_xhr(app) em.enable_injection(app) em.add_injectable(InjectableClass) with app.test_client() as c: r = c.get('/inject/joe-slug') assert_in('joe-slug', r.data) r = c.get('/inject-as-arg/joe-slug') assert_in('joe-slug', r.data) with assert_raises(RuntimeError): r = c.get('/inject-non-injectable/here-comes-an-error') em.add_injectable(NonInjectableClass) with assert_raises(RuntimeError): r = c.get('/inject-non-injectable/still-going-to-fail') with assert_raises(AttributeError): r = c.get('/inject-skip-by-default') r = c.get('/inject-list-denoting/apples') assert_equals(r.status_code, 200)
def reading_fxn(cls, **kwargs): assert_equals(cls, CRUDMan) assert_in('name', kwargs.keys()) if kwargs.get('_many'): return 'Many things' return 'Something'
def test_field(): s = Schema() s.some_field.require() d = { 'some_field': 'Test Value B' } s.validate(d) assert_true(s.valid) s.reset() assert_false(s.valid) d = {'total_fail': 'will not work'} s.validate(d) assert_false(s.valid) assert_false(s.some_field.valid) assert_in('This field cannot be missing.', s.some_field.errors)
def test_xhr_api_off(): em, app = _setup() with app.test_client() as c: r = c.get('/') assert_in('I am the index page.', r.data) r = c.get('/xhr') assert_in('403', r.data) r = c.get('/xhr', headers=[('X-Requested-With', 'XMLHttpRequest')]) assert_in('403', r.data) r = c.get('/xhr-that-returns-something') assert_in('some string', r.data)
def test_xhr_api(): em, app = _setup() em.enable_xhr(app) with app.test_client() as c: r = c.get('/') assert_in('I am the index page', r.data) r = c.get('/xhr', headers=[('X-Requested-With', 'XMLHttpRequest')]) py_data = loads(r.data) assert_in('data', py_data.keys()) assert_in('messages', py_data.keys()) assert_equals(len(py_data['data']), 2) assert_equals(len(py_data['messages']), 5) r = c.get('/xhr-failure') py_data = loads(r.data) assert_in('error', py_data.keys()) r = c.get('/xhr-failure', headers=[ ('X-Requested-With', 'XMLHttpRequest')]) py_data = loads(r.data) assert_in('error', py_data.keys()) r = c.get('/xhr-failure-with-code', headers=[ ('X-Requested-With', 'XMLHttpRequest')]) assert_equals(r.status_code, 500) py_data = loads(r.data) assert_in('error', py_data.keys()) assert_in('code', py_data.keys()) r = c.get('/xhr-that-allows-regular-http') py_data = loads(r.data) assert_in('test', py_data['data'].keys()) assert_in('A message in a bottle.', py_data['messages'][0])
def test_xhr_api(): em, app = _setup() em.enable_xhr(app) with app.test_client() as c: r = c.get('/') assert_in('I am the index page', r.data) r = c.get('/xhr', headers=[('X-Requested-With', 'XMLHttpRequest')]) py_data = loads(r.data) assert_in('data', py_data.keys()) assert_in('messages', py_data.keys()) assert_equals(len(py_data['data']), 2) assert_equals(len(py_data['messages']), 5) r = c.get('/xhr-failure') py_data = loads(r.data) assert_in('error', py_data.keys()) r = c.get('/xhr-failure', headers=[('X-Requested-With', 'XMLHttpRequest')]) py_data = loads(r.data) assert_in('error', py_data.keys()) r = c.get('/xhr-failure-with-code', headers=[('X-Requested-With', 'XMLHttpRequest')]) assert_equals(r.status_code, 500) py_data = loads(r.data) assert_in('error', py_data.keys()) assert_in('code', py_data.keys()) r = c.get('/xhr-that-allows-regular-http') py_data = loads(r.data) assert_in('test', py_data['data'].keys()) assert_in('A message in a bottle.', py_data['messages'][0])