Tests: Python targets.

This commit is contained in:
Oisin Canty
2021-05-20 13:03:12 +00:00
parent f60389a782
commit e50bb120e2
7 changed files with 295 additions and 32 deletions

View File

@@ -1,19 +1,19 @@
import os
async def application(scope, receive, send):
async def handler(prefix, scope, receive, send):
if scope['type'] == 'lifespan':
with open('version', 'w+') as f:
with open(prefix + 'version', 'w+') as f:
f.write(
scope['asgi']['version'] + ' ' + scope['asgi']['spec_version']
)
while True:
message = await receive()
if message['type'] == 'lifespan.startup':
os.remove('startup')
os.remove(prefix + 'startup')
await send({'type': 'lifespan.startup.complete'})
elif message['type'] == 'lifespan.shutdown':
os.remove('shutdown')
os.remove(prefix + 'shutdown')
await send({'type': 'lifespan.shutdown.complete'})
return
@@ -25,3 +25,11 @@ async def application(scope, receive, send):
'headers': [(b'content-length', b'0'),],
}
)
async def application(scope, receive, send):
return await handler('', scope, receive, send)
async def application2(scope, receive, send):
return await handler('app2_', scope, receive, send)

View File

@@ -0,0 +1,54 @@
async def application_201(scope, receive, send):
assert scope['type'] == 'http'
await send(
{
'type': 'http.response.start',
'status': 201,
'headers': [(b'content-length', b'0')],
}
)
async def application_200(scope, receive, send):
assert scope['type'] == 'http'
await send(
{
'type': 'http.response.start',
'status': 200,
'headers': [(b'content-length', b'0')],
}
)
def legacy_application_200(scope):
assert scope['type'] == 'http'
return legacy_app_http_200
async def legacy_app_http_200(receive, send):
await send(
{
'type': 'http.response.start',
'status': 200,
'headers': [(b'content-length', b'0')],
}
)
def legacy_application_201(scope, receive=None, send=None):
assert scope['type'] == 'http'
return legacy_app_http_201
async def legacy_app_http_201(receive, send):
await send(
{
'type': 'http.response.start',
'status': 201,
'headers': [(b'content-length', b'0')],
}
)

View File

@@ -0,0 +1,8 @@
def wsgi_target_a(env, start_response):
start_response('200', [('Content-Length', '1')])
return [b'1']
def wsgi_target_b(env, start_response):
start_response('200', [('Content-Length', '1')])
return [b'2']