Merge pull request #476 from seemethere/inject_app_into_request
Inject app into request object
This commit is contained in:
@@ -1,3 +1,5 @@
|
||||
import random
|
||||
|
||||
from sanic import Sanic
|
||||
from sanic.response import json
|
||||
from ujson import loads
|
||||
@@ -14,10 +16,28 @@ def test_storage():
|
||||
|
||||
@app.route('/')
|
||||
def handler(request):
|
||||
return json({ 'user': request.get('user'), 'sidekick': request.get('sidekick') })
|
||||
return json({'user': request.get('user'), 'sidekick': request.get('sidekick')})
|
||||
|
||||
request, response = app.test_client.get('/')
|
||||
|
||||
response_json = loads(response.text)
|
||||
assert response_json['user'] == 'sanic'
|
||||
assert response_json.get('sidekick') is None
|
||||
|
||||
|
||||
def test_app_injection():
|
||||
app = Sanic('test_app_injection')
|
||||
expected = random.choice(range(0, 100))
|
||||
|
||||
@app.listener('after_server_start')
|
||||
async def inject_data(app, loop):
|
||||
app.injected = expected
|
||||
|
||||
@app.get('/')
|
||||
async def handler(request):
|
||||
return json({'injected': request.app.injected})
|
||||
|
||||
request, response = app.test_client.get('/')
|
||||
|
||||
response_json = loads(response.text)
|
||||
assert response_json['injected'] == expected
|
||||
|
||||
Reference in New Issue
Block a user