def test_request_sets_int_status_code(self): app = App() app.bind('Request', self.request) request = app.make('Request').load_app(app) request.status(500) self.assertEqual(request.get_status_code(), '500 Internal Server Error')
def setUp(self): self.app = App() self.app.bind('Container', self.app) self.app.bind('MailBaseDriver', MyTestDriver) viewClass = View(self.app) self.app.bind('ViewClass', viewClass) self.app.bind('View', viewClass.render)
def test_request_gets_int_status(self): app = App() app.bind('Request', self.request) request = app.make('Request').load_app(app) request.status(500) self.assertEqual(request.get_status(), 500)
def test_strict_container_raises_exception(self): self.app = App(strict=True) self.app.bind('Request', object) with self.assertRaises(StrictContainerException): self.app.bind('Request', object)
def setUp(self): self.app = App() self.request = Request(wsgi_request.copy()).key( 'NCTpkICMlTXie5te9nJniMj9aVbPM6lsjeq5iDZ0dqY=').load_app(self.app) self.app.bind('Request', self.request) self.response = Response(self.app) self.app.simple(Response)
def test_is_status_code(self): app = App() app.bind('Request', self.request) request = app.make('Request').load_app(app) request.status(500) self.assertEqual(request.is_status(500), True)
def test_request_sets_invalid_int_status_code(self): with self.assertRaises(InvalidHTTPStatusCode): app = App() app.bind('Request', self.request) request = app.make('Request').load_app(app) request.status(600)
def test_request_gets_all_headers(self): app = App() app.bind('Request', Request(wsgi_request)) request = app.make('Request').load_app(app) request.header('TEST1', 'set_this_item') self.assertEqual(request.get_headers(), [('TEST1', 'set_this_item')])
def test_can_get_code_by_value(self): app = App() app.bind('Request', self.request) request = app.make('Request').load_app(app) request.status(500) self.assertEqual(request._get_status_code_by_value('500 Internal Server Error'), 500)
def test_redirect_compiles_url_with_http(self): app = App() app.bind('Request', self.request) request = app.make('Request').load_app(app) route = "http://google.com" self.assertEqual(request.compile_route_to_url(route), 'http://google.com')
def test_redirect_compiles_url(self): app = App() app.bind('Request', self.request) request = app.make('Request').load_app(app) route = '/test/url' self.assertEqual(request.compile_route_to_url(route), '/test/url')
def setUp(self): self.app = App() self.app.bind('Container', self.app) self.app.bind('Test', object) # self.app.bind('StorageConfig', storage) self.app.bind('UploadDiskDriver', UploadDiskDriver) self.app.bind('UploadS3Driver', UploadS3Driver) self.app.bind('UploadManager', UploadManager)
def test_redirect_compiles_url_with_trailing_slash(self): app = App() app.bind('Request', self.request) request = app.make('Request').load_app(app) route = 'test/url/here/' self.assertEqual(request.compile_route_to_url(route), '/test/url/here/')
def setUp(self): self.app = App() self.app.bind('Container', self.app) self.app.bind('Test', object) self.app.bind('MailMailgunDriver', MailgunTestDriver) viewClass = View(self.app) self.app.bind('ViewClass', viewClass) self.app.bind('View', viewClass.render)
class TestFrameworkHooks(unittest.TestCase): def setUp(self): self.app = App() self.app.bind('SentryExceptionHook', SentryExceptionHookMock()) self.app.bind('HookHandler', Hook(self.app)) def test_exception_handler(self): self.assertIsNone(self.app.make('HookHandler').fire('*ExceptionHook'))
def test_can_pass_variables(self): app = App() req = Request() app.bind('Request', req) obj = app.resolve(self._test_resolves_variables, 'test1', 'test2') self.assertEqual(obj[0], 'test1') self.assertEqual(obj[1], req) self.assertEqual(obj[2], 'test2')
def setUp(self): self.app = App() self.app = self.app.bind('Container', self.app) self.app.bind('Test', object) self.app.bind('MailSmtpDriver', object) self.app.bind('View', View(self.app).render) self.app.bind('ViewClass', View(self.app))
def test_can_get_list_as_root_payload_getting_all(self): app = App() app.bind('Request', self.request) request = app.make('Request').load_app(app) request._set_standardized_request_variables([{"key": "val"}, {"item2": "val2"}]) self.assertIsInstance(request.all(), list) self.assertEqual(request.all()[0]['key'], 'val')
def test_request_gets_correct_header(self): app = App() app.bind('Request', self.request) request = app.make('Request').load_app(app) self.assertEqual(request.header('HTTP_UPGRADE_INSECURE_REQUESTS'), '1') self.assertEqual(request.header('RAW_URI'), '/') self.assertEqual(request.header('NOT_IN'), '') self.assertFalse('text/html' in request.header('NOT_IN'))
def test_request_cant_set_multiple_headers(self): app = App() app.bind('Request', self.request) request = app.make('Request').load_app(app) request.header('TEST', 'test_this') request.header('TEST', 'test_that') self.assertEqual(request.header('TEST'), 'test_that')
def test_hidden_form_request_method_changes_request_method(self): app = App() wsgi_request['POST_DATA'] = '__method=PUT' request_class = Request(wsgi_request) app.bind('Request', request_class) request = app.make('Request').load_app(app) self.assertEqual(request.environ['REQUEST_METHOD'], 'PUT')
def test_upload_manager_raises_driver_not_found_error(self): self.app = App() self.app.bind('Test', object) # self.app.bind('StorageConfig', storage) with self.assertRaises(DriverNotFound): self.assertIsNone(self.app.bind( 'UploadManager', UploadManager(self.app).load_container(self.app) ))
def setUp(self): self.app = App() self.app = self.app.bind('Container', self.app) self.app.bind('Test', object) viewClass = View(self.app) self.app.bind('ViewClass', viewClass) self.app.bind('View', viewClass.render) self.app.bind('MailLogDriver', MailLogDriver) self.app.bind('MailTerminalDriver', MailTerminalDriver)
def test_can_get_list_as_root_payload(self): app = App() app.bind('Request', self.request) request = app.make('Request').load_app(app) request._set_standardized_request_variables([{"key": "val"}, {"item2": "val2"}]) self.assertEqual(request.input(0)['key'], 'val') self.assertEqual(request.input('0')['key'], 'val') self.assertEqual(request.input(2), False)
def test_request_compiles_custom_route_compiler(self): app = App() app.bind('Request', self.request) request = app.make('Request').load_app(app) route = 'test/@id:signed' params = { 'id': '1', } self.assertEqual(request.compile_route_to_url(route, params), '/test/1')
def setUp(self): self.app = App() self.app.bind('Application', self.app) self.app.bind('CacheDiskDriver', CacheDiskDriver) self.app.bind('CacheRedisDriver', CacheRedisDriver) self.app.bind('CacheManager', CacheManager(self.app)) self.app.bind('Cache', self.app.make('CacheManager').driver('disk')) self.drivers = ['disk'] if os.environ.get('REDIS_CACHE_DRIVER'): self.drivers.append('redis')
def test_request_sets_correct_header(self): app = App() app.bind('Request', self.request) request = app.make('Request').load_app(app) request.header('TEST', 'set_this') self.assertEqual(request.header('TEST'), 'set_this') request.header('TEST', 'set_this', http_prefix=True) self.assertEqual(request.header('HTTP_TEST'), 'set_this')
def test_redirect_compiles_url_with_multiple_parameters(self): app = App() app.bind('Request', self.request) request = app.make('Request').load_app(app) route = 'test/@id/@test' params = { 'id': '1', 'test': 'user', } self.assertEqual(request.compile_route_to_url(route, params), '/test/1/user')
class TestAutoload(unittest.TestCase): def setUp(self): self.app = App() def test_autoload_loads_from_directories(self): Autoload(self.app).load(['app/http/controllers']) self.assertTrue(self.app.make('TestController')) def test_autoload_instantiates_classes(self): classes = Autoload().collect(['app/http/test_controllers'], instantiate=True) self.assertTrue(classes['TestController'].test) def test_autoload_loads_from_directories_with_trailing_slash_raises_exception( self): with self.assertRaises(InvalidAutoloadPath): Autoload(self.app).load(['app/http/controllers/']) def test_autoload_raises_exception_with_no_container(self): with self.assertRaises(ContainerError): Autoload().load(['app/http/controllers/']) def test_autoload_collects_classes(self): classes = Autoload().collect(['app/http/controllers']) self.assertIn('TestController', classes) self.assertNotIn('Command', classes) def test_autoload_loads_from_directories_and_instances(self): classes = Autoload().instances(['app/http/controllers'], object) self.assertIn('TestController', classes) self.assertNotIn('Command', classes) def test_autoload_loads_not_only_from_app_from_directories_and_instances( self): classes = Autoload().instances(['app/http/controllers'], object, only_app=False) self.assertIn('TestController', classes) def test_autoload_does_not_instantiate_classes(self): classes = Autoload().instances(['app/http/controllers'], object) with self.assertRaises(AttributeError): self.assertTrue(classes['TestController'].test, True) def test_collects_classes_only_in_app(self): classes = Autoload().collect(['app/http/controllers'], only_app=False) self.assertIn('TestController', classes) def test_autoload_throws_exception_when_binding_key_that_already_exists( self): self.app.bind('Request', Request(None)) with self.assertRaises(AutoloadContainerOverwrite): Autoload(self.app).load(['app/http/test_controllers'])
def test_can_get_list_as_root_payload_as_dot_notation(self): app = App() app.bind('Request', self.request) request = app.make('Request').load_app(app) request._set_standardized_request_variables([{"key": "val"}, {"item2": "val2", "inner": {"value": "innervalue"}}, {"item3": [1,2]}]) self.assertEqual(request.input('0.key'), 'val') self.assertEqual(request.input('1.item2'), 'val2') self.assertEqual(request.input('1.inner.value'), 'innervalue') self.assertEqual(request.input('2.item3.0'), 1) self.assertEqual(request.input('3.item3'), False)