Пример #1
0
    def test_flatten_flattens_multiple_lists(self):
        routes = [
            Get().route('/test/1', 'TestController@show').name('create'),
            RouteGroup([
                Get().route('/test/1', 'TestController@show').name('create'),
                Get().route('/test/2', 'TestController@show').name('edit'),
                RouteGroup([
                    Get().route('/test/1',
                                'TestController@show').name('update'),
                    Get().route('/test/2',
                                'TestController@show').name('delete'),
                    RouteGroup([
                        Get().route('/test/3',
                                    'TestController@show').name('update'),
                        Get().route('/test/4',
                                    'TestController@show').name('delete'),
                    ],
                               middleware=('auth')),
                ],
                           name='post.')
            ],
                       prefix='/dashboard')
        ]

        routes = flatten_routes(routes)

        assert routes[3].route_url == '/dashboard/test/1'
        assert routes[3].named_route == 'post.update'
Пример #2
0
    def test_group_route_sets_middleware(self):
        routes = RouteGroup([
            Get().route('/test/1', 'TestController@show').middleware('another'),
            Get().route('/test/2', 'TestController@show'),
            RouteGroup([
                Get().route('/test/3', 'TestController@show'),
                Get().route('/test/4', 'TestController@show')
            ], middleware=('test', 'test2'))
        ], middleware=('auth', 'user'))

        assert isinstance(routes, list)
        assert ['another', 'auth', 'user'] == routes[0].list_middleware
        assert ['auth', 'user'] == routes[1].list_middleware
        assert ['test', 'test2', 'auth', 'user'] == routes[2].list_middleware
Пример #3
0
    def test_group_route_sets_prefix_no_route(self):
        routes = RouteGroup([
            Get('', 'TestController@show'),
        ],
                            prefix='/dashboard')

        self.assertEqual(routes[0].route_url, '/dashboard')
Пример #4
0
    def test_group_route_sets_domain(self):
        routes = RouteGroup([
            Get().route('/test/1', 'TestController@show'),
            Get().route('/test/2', 'TestController@show')
        ], domain=['www'])

        assert routes[0].required_domain == ['www']
Пример #5
0
    def test_group_adds_methods(self):
        routes = RouteGroup([
            Get().route('/test/1', 'TestController@show'),
            Get().route('/test/2', 'TestController@show')
        ], add_methods=['OPTIONS'])

        assert routes[0].method_type == ['GET', 'OPTIONS']
Пример #6
0
    def test_group_route_sets_prefix(self):
        routes = RouteGroup([
            Get().route('/test/1', 'TestController@show'),
            Get().route('/test/2', 'TestController@show')
        ], prefix='/dashboard')

        assert routes[0].route_url == '/dashboard/test/1'
Пример #7
0
 def test_group_route_sets_name(self):
     look_for = []
     routes = RouteGroup([
         Get().route('/test/1', 'TestController@show').name('create'),
         Get().route('/test/2', 'TestController@show').name('edit')
     ],
                         name='post.')
Пример #8
0
    def test_group_route_sets_name_for_none_route(self):
        routes = RouteGroup([
            Get().route('/test/1', 'TestController@show').name('create'),
            Get().route('/test/2', 'TestController@show')
        ], name='post.')

        assert routes[0].named_route == 'post.create'
        assert routes[1].named_route == None
Пример #9
0
    def test_group_route_sets_middleware(self):
        routes = group('/example', [
            Get().route('/test/1', 'TestController@show'),
            Get().route('/test/2', 'TestController@show')
        ])

        assert routes[0].route_url == '/example/test/1'

        routes = RouteGroup([
            Get().route('/test/1', 'TestController@show'),
            Get().route('/test/2', 'TestController@show')
        ], middleware=['auth', 'user'])

        assert isinstance(routes, list)

        assert routes[0].list_middleware == ('auth', 'user')
Пример #10
0
 Get().route('/queue', 'TestController@queue'),
 Options('options', 'TestController@show'),
 Redirect('/redirect', 'test'),
 Get().domain('test').route('/test', None).middleware('auth'),
 Get().domain('test').route('/unit/test',
                            'TestController@testing').middleware('auth'),
 Get().domain('test').route('/test/route', 'TestController@testing'),
 Get('/json_response', 'TestController@json_response'),
 Post('/test/post/route', 'TestController@post_test'),
 Get('/login', 'TestController@testing').name('login'),
 Get('/test/param/@id', 'TestController@testing'),
 Post('/test/json/response/@id', 'TestController@json'),
 Get('/test/set/test/session', 'TestController@session'),
 RouteGroup([
     Get('/test/1', 'TestController@show'),
     Get('/test/2', 'TestController@show')
 ],
            prefix='/example'),
 RouteGroup([
     Get('/test/get', 'UnitTestController@show'),
     Get('/test/param/@post_id', 'UnitTestController@param'),
     Post('/test/post', 'UnitTestController@store').middleware('test'),
     Get('/test/get/params',
         'UnitTestController@get_params').name('get.params'),
     Post('/test/params', 'UnitTestController@params'),
     Post('/test/user', 'UnitTestController@user'),
     Post('/test/json', 'UnitTestController@json'),
     Get('/test/json/response', 'UnitTestController@response'),
     Post('/test/json/validate', 'UnitTestController@validate'),
     Get('/test/json/multi', 'UnitTestController@multi'),
     Patch('/test/patch', 'UnitTestController@patch'),
Пример #11
0
"""Web Routes."""

from masonite.routes import RouteGroup
from masonite.routes import Get, Post, Put

ROUTES = [
    RouteGroup([
        # Authentication
        Post('/users/login', 'AuthController@login'),

        # User
        Post('/users', 'UserController@create'),
        Get('/user', 'UserController@currunt_user'),
        Put('/user', 'UserController@update'),
    ], prefix='/api')
]
Пример #12
0
"""Web Routes."""

from masonite.routes import Get, Post, RouteGroup

ROUTES = [
    Get('/', 'WelcomeController@show').name('welcome'),
]

from admin.web.admin_routes import ADMIN_ROUTES, ADMIN_ROUTES_WITH_MIDDLEWARE, MODEL_ROUTES

ROUTES += [
    RouteGroup(ADMIN_ROUTES_WITH_MIDDLEWARE,
               prefix='/admin',
               middleware=('admin', )),
    RouteGroup(MODEL_ROUTES, prefix='/admin',
               middleware=('admin_model', )),  #middleware not working
    RouteGroup(ADMIN_ROUTES, prefix='/admin'),
]
Пример #13
0
from masonite.routes import Get, Post, Delete, Patch, RouteGroup

ROUTES = [
    RouteGroup(
        [
            Get().route("", "TodosController@index"),
            Post().route("", "TodosController@create"),
            Delete().route("", "TodosController@deleteAll"),
        ],
        name="todos.",
        prefix="/",
        add_methods=["OPTIONS"],
    ),
    RouteGroup(
        [
            Get().route("@id", "TodosController@show"),
            Patch().route("@id", "TodosController@update"),
            Delete().route("@id", "TodosController@delete"),
        ],
        name="todo.",
        prefix="/",
        add_methods=["OPTIONS"],
    ),
]
Пример #14
0
    post('/register', 'RegisterController@store'),
    get('/questions/@id', 'QuestionController@show').name('question'),
    RouteGroup(
        [
            get('/logout', 'LoginController@logout'),
            get('/ask', 'QuestionController@create').name('ask'),

            # Question Routes
            RouteGroup([
                post('', 'QuestionController@store').name('list'),
                post('/@id/answers', 'AnswerController@store').name('answers'),
                post('/@id/answers/@answer_id/accept',
                     'QuestionController@accept_answer').name('accept'),
                get('/@id/upvote', 'QuestionController@upvote').name('upvote'),
                get('/@id/downvote',
                    'QuestionController@downvote').name('downvote'),
            ],
                       prefix='/questions',
                       name='question.'),

            # Me Routes
            RouteGroup([
                get('/questions',
                    'QuestionController@questions').name('questions'),
                get('/answers', 'AnswerController@answers').name('answers'),
            ],
                       prefix='/me',
                       name='me.')
        ],
        middleware=('auth', )),
]
Пример #15
0
    def test_route_groups_middleware(self):
        group = RouteGroup([ResourceJsonTest('/api').routes()],
                           middleware=('auth', ))

        assert group[0].list_middleware == ['auth']
Пример #16
0
from masonite.routes import Get, Post, RouteGroup
# from masonite.helpers.routes import get, post
from masonite.routes import Redirect

from app.http.controllers.WelcomeController import WelcomeController
from app.http.controllers.BlogController import BlogController
from app.http.controllers.ResumeController import ResumeController
from app.http.controllers.DisplayBlogController import DisplayBlogController

ROUTES = [
    #Get().route('/', 'WelcomeController@show').name('welcome'),
    RouteGroup([
        Get().route('/', DisplayBlogController.show),
        Get().route('/@a', DisplayBlogController.show),
        Get().route('/@a/@b', DisplayBlogController.show),
        Get().route('/@a/@b/@c', DisplayBlogController.show),
    ],
               prefix='/blog'),
    RouteGroup([
        RouteGroup([
            Get().route('/toppage', DisplayBlogController.get_toppage),
            Get().route('/series', DisplayBlogController.get_series),
            Get().route('/articles/@series_id:int',
                        DisplayBlogController.get_articles),
            Get().route('/article/@timestamp:int',
                        DisplayBlogController.get_article),
            Get().route('/diaries', DisplayBlogController.get_diaries),
            Get().route('/articlesByKeyword',
                        DisplayBlogController.get_articles_by_keyword),
            Get().route('/articlesByTagId/@tag_id:int',
Пример #17
0
"""Web Routes."""

from masonite.routes import Get, Post, RouteGroup

ROUTES = [
    RouteGroup(
        [
            RouteGroup(
                [
                    Get("/", "ListController@index").name("list"),
                ],
                namespace="user",
                name="user.",
                prefix="user",
            ),
        ],
        namespace="api.v1",
        name="api.v1.",
        prefix="/api/v1/",
        add_methods=["OPTIONS"],
    ),
    Get("/", "WelcomeController@show").name("welcome"),
]
Пример #18
0
"""Web Routes."""

from masonite.routes import Get, Post, Put, Patch, Delete, RouteGroup

from app.http.controllers.PdfController import PdfController

ROUTES = [
    Get('/', 'WelcomeController@show').name('welcome'),
    RouteGroup([
        Get('/index', PdfController.index),
        Get('/create', PdfController.create),
        Post('/store', PdfController.store),
        Get('/download/@filename', PdfController.show),
    ], prefix='/pdfs', name='pdfs.')
]

ROUTES = ROUTES + [
    Get().route('/login', 'LoginController@show').name('login'),
    Get().route('/logout', 'LoginController@logout').name('logout'),
    Post().route('/login', 'LoginController@store'),
    Get().route('/register', 'RegisterController@show').name('register'),
    Post().route('/register', 'RegisterController@store'),
    Get().route('/home', 'HomeController@show').name('home'),
    Get().route('/email/verify', 'ConfirmController@verify_show').name('verify'),
    Get().route('/email/verify/@id:signed', 'ConfirmController@confirm_email'),
    Get().route('/email/verify/@id:signed', 'ConfirmController@confirm_email'),
    Get().route('/password', 'PasswordController@forget').name('forgot.password'),
    Post().route('/password', 'PasswordController@send'),
    Get().route('/password/@token/reset', 'PasswordController@reset').name('password.reset'),
    Post().route('/password/@token/reset', 'PasswordController@update'),
]
Пример #19
0
"""Web Routes."""

from masonite.routes import Get, Post, RouteGroup
from masonite.helpers.routes import get, post, put, patch, delete, match

ROUTES = [
    #Get().route('/', 'WelcomeController@show').name('welcome'),

    RouteGroup([
        Get().route('/', 'WelcomeController@show').name('welcome'),
        match(['OPTIONS', 'HEAD'], '/', 'WelcomeController@match'),
    ])
]
Пример #20
0
"""Web Routes."""

from masonite.routes import Get, Post, RouteGroup
from app.http.controllers.CompetitionController import CompetitionController
ROUTES = [
    Get('/', 'WelcomeController@show').name('welcome'),
    RouteGroup([
        RouteGroup([
            Get('/competitions', CompetitionController.show),
            Post('/competition', CompetitionController.store)
        ],
                   prefix="/v1.0.0")
    ],
               prefix="/api")
]
Пример #21
0
from masonite.app import App
from masonite.exceptions import InvalidHTTPStatusCode, RouteException
from masonite.helpers.routes import flatten_routes
from masonite.helpers.time import cookie_expire_time
from masonite.request import Request
from masonite.response import Response
from masonite.routes import Get, RouteGroup
from masonite.testsuite.TestSuite import generate_wsgi

from app.http.test_controllers.TestController import TestController
from config import application, providers

WEB_ROUTES = flatten_routes([
    Get('/test', 'Controller@show').name('test'),
    RouteGroup([
        Get('/account', 'Controller@show').name('a_account'),
    ],
               prefix='/a')
])

wsgi_request = generate_wsgi()


class TestRequest(unittest.TestCase):
    def setUp(self):
        self.app = App()
        self.request = Request(wsgi_request).key(
            'NCTpkICMlTXie5te9nJniMj9aVbPM6lsjeq5iDZ0dqY=').load_app(self.app)
        self.app.bind('Request', self.request)
        self.response = Response(self.app)
        self.app.simple(Response)
Пример #22
0
"""Web Routes."""

from masonite.routes import Get, RouteGroup

ROUTES = [
    RouteGroup([
        Get('/social/@provider/login', 'WelcomeController@auth'),
        Get('/social/@provider/callback', 'WelcomeController@callback'),
    ]),
    Get('/', 'WelcomeController@show').name('welcome'),
]
Пример #23
0
 RouteGroup(
     [
         Post("/auth/sign_in", "AuthController@sign_in"),
         RouteGroup(
             [
                 Get("/@user", "AccountController@user_by_id"),
                 Get("/gov_id/@user", "AccountController@user_by_gov_id"),
                 Post("/", "AccountController@register"),
                 Patch("/gov_id/@user",
                       "AccountController@grant_edit_permissions"),
                 Put("/gov_id/@user",
                     "AccountController@revoke_edit_permissions"),
             ],
             prefix="/accounts",
             middleware=("auth", ),
         ),
         RouteGroup(
             [
                 Patch("/@patient_id", "PatientRecordsController@store"),
                 Get("/@patient_id", "PatientRecordsController@show"),
                 Get("/", "PatientRecordsController@index"),
             ],
             middleware=("auth", ),
             prefix="/records",
         ),
         RouteGroup(
             [
                 Get("/@account_id", "TransactionsController@show"),
                 Get("/roles", "TransactionsController@all_roles"),
                 Get("/permissions/@role",
                     "TransactionsController@role_permissions"),
             ],
             middleware=("auth", ),
             prefix="/transactions",
         ),
         RouteGroup(
             [Get("/@gov_id", "ConsentController@show")],
             prefix="/consent",
             middleware=("auth", ),
         ),
     ],
     prefix="/api",
 ),
Пример #24
0
"""Web Routes."""

from masonite.routes import Get, Post, RouteGroup

ROUTES = [
    Get('/', 'WelcomeController@show').name('welcome'),
    Get('/projects', 'ProjectController@index').name('projects.index'),
    Get('/projects/@id', 'ProjectController@show').name(
        'projects.show').middleware('helloworld'),
    RouteGroup([
        Get('/', 'PostController@index').name('index'),
        Get('/@id', 'PostController@show').name('show'),
        Get('/create', 'PostController@create').name('create'),
        Post('/store', 'PostController@store').name('store')
    ],
               prefix='/blog',
               name='blog.')
]

ROUTES = ROUTES + [
    Get().route('/login', 'LoginController@show').name('login'),
    Get().route('/logout', 'LoginController@logout').name('logout'),
    Post().route('/login', 'LoginController@store'),
    Get().route('/register', 'RegisterController@show').name('register'),
    Post().route('/register', 'RegisterController@store'),
    Get().route('/home', 'HomeController@show').name('home'),
    Get().route('/email/verify',
                'ConfirmController@verify_show').name('verify'),
    Get().route('/email/verify/send', 'ConfirmController@send_verify_email'),
    Get().route('/email/verify/@id:signed', 'ConfirmController@confirm_email'),
    Get().route('/password',
Пример #25
0
    RouteGroup([
        # Authentication
        Post('/users/login', 'AuthController@login'),

        # User
        Post('/users', 'UserController@create'),
        Get('/user', 'UserController@current_user').middleware('auth'),
        Put('/user', 'UserController@update').middleware('auth'),

        # Profiles
        RouteGroup([
            Get('', 'ProfileController@show'),
            Post('follow', 'ProfileController@follow'),
            Delete('follow', 'ProfileController@unfollow'),
        ], middleware=('auth',), prefix='/profiles/@username'),

        # Articles
        Get('/articles', 'ArticleController@index'),

        RouteGroup([
            Post('', 'ArticleController@create'),
            Get('/feed', 'ArticleController@feed'),
            Put('/@slug', 'ArticleController@update'),
            Delete('/@slug', 'ArticleController@delete'),
            Post('/@slug/favorite', 'ArticleController@favorite'),
            Delete('/@slug/favorite', 'ArticleController@unfavorite'),
        ], prefix='/articles', middleware=('auth',)),

        Get('/articles/@slug', 'ArticleController@show'),
        # Comments
        RouteGroup([
            Get('/comments', 'CommentController@index'),
            Post('/comments', 'CommentController@create').middleware('auth'),
            Delete('/comments/@id', 'CommentController@delete').middleware('auth'),
        ], prefix='/articles/@slug'),

        # Tags
        Get('/tags', 'TagController@index'),
    ], prefix='/api')