Skip to content
This repository has been archived by the owner on Jan 21, 2021. It is now read-only.

Commit

Permalink
Added more test conditions to generator_apps
Browse files Browse the repository at this point in the history
  • Loading branch information
Jim Fulton committed Oct 29, 2014
1 parent 3a2b3b0 commit 214edfe
Showing 1 changed file with 99 additions and 6 deletions.
105 changes: 99 additions & 6 deletions src/zc/resumelb/tests.py
Original file line number Diff line number Diff line change
Expand Up @@ -90,16 +90,20 @@ def gsleep(dur=0):
def app():
return bobo.Application(bobo_resources=__name__)

def generator_app(env, start):
start('200 OK', [('Content-type', 'text/plain'), ('Content-length', '2')])
yield 'h'
yield 'i'

def generator_app0(env, start):
start('200 OK', [('Content-type', 'text/plain'), ('Content-length', '0')])
if False:
yield 'hi'

def generator_app1(env, start):
start('200 OK', [('Content-type', 'text/plain'), ('Content-length', '2')])
yield 'hi'

def generator_app2(env, start):
start('200 OK', [('Content-type', 'text/plain'), ('Content-length', '2')])
yield 'h'
yield 'i'

#
###############################################################################

Expand Down Expand Up @@ -420,8 +424,64 @@ def generator_apps():
Let's make sure workers handle this correctly.
An app that yields no data (0 content-length)
>>> worker = zc.resumelb.worker.Worker(
... zc.resumelb.tests.generator_app0, ('127.0.0.1', 0))
>>> worker_socket = gevent.socket.create_connection(worker.addr)
>>> from zc.resumelb.util import read_message, write_message
>>> read_message(worker_socket)
(0, {})
>>> env = newenv('', '/')
>>> write_message(worker_socket, 1, env, '')
>>> print_response(worker_socket, 1)
1 200 OK
Content-length: 0
Content-type: text/plain
<BLANKLINE>
>>> worker.shutdown()
An app that yields it's content as one string:
>>> worker = zc.resumelb.worker.Worker(
... zc.resumelb.tests.generator_app1, ('127.0.0.1', 0))
>>> worker_socket = gevent.socket.create_connection(worker.addr)
>>> read_message(worker_socket)
(0, {})
>>> env = newenv('', '/')
>>> write_message(worker_socket, 1, env, '')
>>> print_response(worker_socket, 1)
1 200 OK
Content-length: 2
Content-type: text/plain
<BLANKLINE>
hi
>>> worker.shutdown()
An app that yields it's content as multiple strings:
>>> worker = zc.resumelb.worker.Worker(
... zc.resumelb.tests.generator_app2, ('127.0.0.1', 0))
>>> worker_socket = gevent.socket.create_connection(worker.addr)
>>> read_message(worker_socket)
(0, {})
>>> env = newenv('', '/')
>>> write_message(worker_socket, 1, env, '')
>>> print_response(worker_socket, 1)
1 200 OK
Content-length: 2
Content-type: text/plain
<BLANKLINE>
hi
>>> worker.shutdown()
Now, the same cases with trace logging:
>>> worker = zc.resumelb.worker.Worker(
... zc.resumelb.tests.generator_app, ('127.0.0.1', 0))
... zc.resumelb.tests.generator_app0, ('127.0.0.1', 0), tracelog='t')
>>> worker_socket = gevent.socket.create_connection(worker.addr)
>>> from zc.resumelb.util import read_message, write_message
>>> read_message(worker_socket)
Expand All @@ -430,11 +490,44 @@ def generator_apps():
>>> write_message(worker_socket, 1, env, '')
>>> print_response(worker_socket, 1)
1 200 OK
Content-length: 0
Content-type: text/plain
<BLANKLINE>
>>> worker.shutdown()
>>> worker = zc.resumelb.worker.Worker(
... zc.resumelb.tests.generator_app1, ('127.0.0.1', 0), tracelog='t')
>>> worker_socket = gevent.socket.create_connection(worker.addr)
>>> read_message(worker_socket)
(0, {})
>>> env = newenv('', '/')
>>> write_message(worker_socket, 1, env, '')
>>> print_response(worker_socket, 1)
1 200 OK
Content-length: 2
Content-type: text/plain
<BLANKLINE>
hi
>>> worker.shutdown()
>>> worker = zc.resumelb.worker.Worker(
... zc.resumelb.tests.generator_app2, ('127.0.0.1', 0), tracelog='t')
>>> worker_socket = gevent.socket.create_connection(worker.addr)
>>> read_message(worker_socket)
(0, {})
>>> env = newenv('', '/')
>>> write_message(worker_socket, 1, env, '')
>>> print_response(worker_socket, 1)
1 200 OK
Content-length: 2
Content-type: text/plain
<BLANKLINE>
hi
>>> worker.shutdown()
"""

def test_classifier(env):
Expand Down

0 comments on commit 214edfe

Please sign in to comment.