Exemplo n.º 1
0
    def setUp(self):
        super().setUp()
        self.request = self.container.make('Request').load_environ(
            generate_wsgi()).key(
                'NCTpkICMlTXie5te9nJniMj9aVbPM6lsjeq5iDZ0dqY=')

        self.request.activate_subdomains()
Exemplo n.º 2
0
    def test_gets_input_and_query_with_non_get_request(self):
        app = App()

        for method in ['POST', 'PUT', 'DELETE']:
            wsgi_environ = generate_wsgi()
            wsgi_environ['REQUEST_METHOD'] = method
            wsgi_environ[
                'QUERY_STRING'] = 'param=1&param=2&param=3&foo=bar&q=yes'
            wsgi_environ['wsgi.input'] = MockWsgiInput(
                '{"param": "hey", "foo": [9, 8, 7, 6], "bar": "baz"}')
            wsgi_environ['CONTENT_TYPE'] = 'application/json'
            route_class = Route(wsgi_environ)
            request_class = Request(wsgi_environ)
            app.bind('Request', request_class)
            app.bind('Route', route_class)
            request = app.make('Request').load_app(app)

            self.assertEqual(request.input('foo'), [9, 8, 7, 6])
            self.assertEqual(request.input('param'), 'hey')
            self.assertEqual(request.input('not-exist', default=2), 2)
            self.assertEqual(request.input('q', default='default'), 'default')
            self.assertEqual(request.input('bar', default='default'), 'baz')
            self.assertEqual(request.query('foo'), 'bar')
            self.assertEqual(request.query('param'), '1')
            self.assertEqual(request.query('param', multi=True),
                             ['1', '2', '3'])
            self.assertEqual(request.query('not-exist', default=2), 2)
            self.assertEqual(request.query('not-exist', default=2, multi=True),
                             2)
            self.assertEqual(request.query('q', default='default'), 'yes')
 def setUp(self):
     self.request = Request(generate_wsgi())
     self.middleware = MaintenanceModeMiddleware(self.request)
     down_path = os.path.join(application.BASE_DIRECTORY, 'bootstrap/down')
     down = os.path.exists(down_path)
     if down:
         os.remove(down_path)
Exemplo n.º 4
0
    def test_gets_input_and_query_with_get_request(self):
        app = App()
        wsgi_environ = generate_wsgi()
        wsgi_environ['QUERY_STRING'] = 'param=1&param=2&param=3&foo=bar&q=yes'
        wsgi_environ['wsgi.input'] = {
            'param': 'hey',
            'foo': [9, 8, 7, 6],
            'bar': 'baz'
        }
        wsgi_environ['REQUEST_METHOD'] = 'GET'

        route_class = Route(wsgi_environ)
        request_class = Request(wsgi_environ)
        app.bind('Request', request_class)
        app.bind('Route', route_class)
        request = app.make('Request').load_app(app)

        self.assertEqual(request.query('param'), '1')
        self.assertEqual(request.all_query()['param'], ['1', '2', '3'])
        self.assertEqual(request.query('foo'), 'bar')
        self.assertEqual(request.query('param', multi=True), ['1', '2', '3'])
        self.assertEqual(request.query('not-exist', default=2), 2)
        self.assertEqual(request.query('not-exist', default=2, multi=True), 2)
        self.assertEqual(request.query('q', default='no'), 'yes')

        self.assertEqual(request.input('foo'), 'bar')
        self.assertEqual(request.input('param'), '1')
        self.assertEqual(request.input('q', default='no'), 'yes')
        self.assertEqual(request.input('bar', default='default'), 'default')
Exemplo n.º 5
0
    def test_can_call_container_with_annotations_from_variable(self):
        request = Request(generate_wsgi())

        self.container.bind('Request', request)
        self.container.bind('Get', Get().route('url', None))

        self.assertEqual(self.container.resolve(ContainerTest().testboot),
                         self.container.make('Request'))
Exemplo n.º 6
0
    def test_request_sets_request_method(self):
        wsgi = generate_wsgi()
        wsgi['QUERY_STRING'] = '__method=PUT'
        request = Request(wsgi)

        assert request.has('__method')
        self.assertEqual(request.input('__method'), 'PUT')
        self.assertEqual(request.get_request_method(), 'PUT')
Exemplo n.º 7
0
    def test_redirect_can_use_301(self):
        request = Request(generate_wsgi())
        route = Redirect('/test1', '/test3', status=301)

        route.load_request(request)
        request.load_app(App())
        route.get_response()
        self.assertTrue(request.is_status(301))
        self.assertEqual(request.redirect_url, '/test3')
Exemplo n.º 8
0
    def test_redirect_route(self):
        route = Redirect('/test1', '/test2')
        request = Request(generate_wsgi())
        route.load_request(request)
        request.load_app(App())

        route.get_response()
        self.assertTrue(request.is_status(302))
        self.assertEqual(request.redirect_url, '/test2')
Exemplo n.º 9
0
 def test_correctly_parses_json_with_list(self):
     environ = generate_wsgi()
     environ['CONTENT_TYPE'] = 'application/json'
     environ['REQUEST_METHOD'] = 'POST'
     environ['wsgi.input'] = WsgiInputTestClass().load(
         b'{\n    "options": ["foo", "bar"]\n}')
     route = Route(environ)
     self.assertEqual(route.environ['QUERY_STRING'],
                      {"options": ["foo", "bar"]})
Exemplo n.º 10
0
    def setUp(self):
        super().setUp()
        self.container = App()
        self.app = self.container
        self.app.bind('Container', self.app)
        view = View(self.container)
        self.request = Request(generate_wsgi()).load_environ(generate_wsgi())
        self.request.key(application.KEY)
        self.app.bind('Request', self.request)
        self.container.bind('View', view.render)
        self.container.bind('ViewClass', view)

        self.auth = Guard(self.app)
        self.auth.register_guard('web', WebGuard)
        self.auth.guard('web').register_driver('jwt', AuthJwtDriver)
        self.auth.set('web')

        self.app.swap(Auth, self.auth)
        self.request.load_app(self.app)
Exemplo n.º 11
0
 def setUp(self):
     super().setUp()
     self.container.make('Request').load_environ(generate_wsgi()).load_app(
         self.container)
     self.container.bind('SessionMemoryDriver', SessionMemoryDriver)
     self.container.bind('SessionCookieDriver', SessionCookieDriver)
     self.container.bind('SessionManager', SessionManager(self.container))
     self.container.make('Request').session = self.container.make(
         'SessionManager').driver('cookie')
     self.container.bind('StatusCode', 200)
Exemplo n.º 12
0
 def test_correctly_parses_json_with_dictionary(self):
     environ = generate_wsgi()
     environ['CONTENT_TYPE'] = 'application/json'
     environ['REQUEST_METHOD'] = 'POST'
     environ['wsgi.input'] = WsgiInputTestClass().load(
         b'{\n    "conta_corrente": {\n        "ocultar": false,\n        "visao_geral": true,\n        "extrato": true\n    }\n}'
     )
     route = Route(environ)
     self.assertEqual(
         route.environ['QUERY_STRING'], {
             "conta_corrente": {
                 "ocultar": False,
                 "visao_geral": True,
                 "extrato": True
             }
         })
Exemplo n.º 13
0
    def test_list_as_root_payload_reset_between_requests(self):
        app = App()
        wsgi_environ = generate_wsgi()
        wsgi_environ['REQUEST_METHOD'] = 'POST'
        wsgi_environ['CONTENT_TYPE'] = 'application/json'

        route_class = Route()
        request_class = Request()
        app.bind('Request', request_class)
        app.bind('Route', route_class)
        route = app.make('Route')
        request = app.make('Request').load_app(app)

        wsgi_environ['wsgi.input'] = MockWsgiInput('[1, 2]')
        route.load_environ(wsgi_environ)
        request.load_environ(wsgi_environ)
        self.assertEqual(request.all(), [1, 2])

        wsgi_environ['wsgi.input'] = MockWsgiInput('{"key": "val"}')
        route.load_environ(wsgi_environ)
        request.load_environ(wsgi_environ)
        self.assertEqual(request.all(), {"key": "val"})
Exemplo n.º 14
0
 def setUp(self):
     self.route = Route(generate_wsgi())
     self.request = Request(generate_wsgi())
Exemplo n.º 15
0
 def setUp(self):
     self.app = App()
     self.view = View(self.app)
     self.request = Request(generate_wsgi()).load_app(self.app)
     self.provider = HelpersProvider()
     self.provider.load_app(self.app).boot(self.view, self.request)
Exemplo n.º 16
0
 def setUp(self):
     self.secret_key = 'pK1tLuZA8-upZGz-NiSCP_UVt-fxpxd796TaG6-dp8Y='
     self.request = Request(generate_wsgi()).key(self.secret_key)
Exemplo n.º 17
0
 def setUp(self):
     super().setUp()
     self.container.make('Request').load_environ(generate_wsgi())
     self.container.bind('SessionMemoryDriver', SessionMemoryDriver)
     self.container.bind('SessionCookieDriver', SessionCookieDriver)
     self.container.bind('SessionManager', SessionManager(self.container))
Exemplo n.º 18
0
from src.masonite.app import App
from src.masonite.testing import generate_wsgi, MockWsgiInput
from src.masonite.routes import Route
from src.masonite.request import Request

wsgi_request = generate_wsgi()
import unittest


class ExtendClass:

    path = None

    def get_path(self):
        return self.path

    def get_another_path(self):
        return self.path


class ExtendClass2:

    path = None

    def get_path2(self):
        return self.path

    def get_another_path2(self):
        return self.path

Exemplo n.º 19
0
 def setUp(self):
     super().setUp()
     self.container.bind('Request', Request(generate_wsgi()).load_app(self.container))
     self.request = self.container.make('Request')
     self.middleware = self.container.resolve(CorsMiddleware)
Exemplo n.º 20
0
from src.masonite.app import App
from src.masonite.request import Request
from src.masonite.testing import generate_wsgi
import unittest

REQUEST = Request({}).load_environ(generate_wsgi())


class MockMail:

    def __init__(self, request: Request):
        self.request = request


class TestApp(unittest.TestCase):

    def setUp(self):
        self.app = App()

    def test_app_binds(self):
        self.app.bind('test1', object)
        self.app.bind('test2', object)
        self.assertEqual(self.app.providers, {'test1': object, 'test2': object})

    def test_app_makes(self):
        self.app.bind('Request', REQUEST)
        self.assertEqual(self.app.make('Request').cookies, [])

    def test_app_makes_and_resolves(self):
        self.app.bind('Request', REQUEST)
        self.app.bind('MockMail', MockMail)
Exemplo n.º 21
0
 def setUp(self):
     super().setUp()
     self.request = Request(generate_wsgi())
     self.middleware = SecureHeadersMiddleware(self.request)
     self.container.bind('Request', self.request.load_app(self.container))
     self.request = self.container.make('Request')