Mercurial > summit-idp
changeset 67:8be999c3d066
made smoke test more robust
author | Atul Varma <avarma@mozilla.com> |
---|---|
date | Tue, 29 Jun 2010 20:26:18 -0700 |
parents | a63f69858b68 |
children | 5c3f592522ea |
files | tests/test_easy.py |
diffstat | 1 files changed, 30 insertions(+), 9 deletions(-) [+] |
line wrap: on
line diff
--- a/tests/test_easy.py Tue Jun 29 16:51:09 2010 -0700 +++ b/tests/test_easy.py Tue Jun 29 20:26:18 2010 -0700 @@ -4,18 +4,39 @@ import json from summitidp.easy import make_wsgi_app - -def fake_send_email(*args, **kwargs): - pass +from webtest import TestApp def test_ensure_easy_does_not_smoke(): - dirname = tempfile.mkdtemp(prefix="testing") + NUM_USERS = 5 + + users = ['%d@test.com' % i for i in range(NUM_USERS)] - f = open(os.path.join(dirname, 'attendees.json'), 'w') - f.write(json.dumps(['bob@foo.com'])) + tempdir = tempfile.mkdtemp(prefix='smoosh') + f = open(os.path.join(tempdir, 'attendees.json'), 'w') + f.write(json.dumps(users)) f.close() - app = make_wsgi_app(dirname, fake_send_email) - assert callable(app) + tokens = [] + + def send_email(email, token): + tokens.append(token) + + try: + wsgiapp = make_wsgi_app(tempdir, send_email) + app = TestApp(wsgiapp) - shutil.rmtree(dirname) + def post_json(url, obj, **kwargs): + return app.post(url, json.dumps(obj), + {'Content-Type': 'application/json'}, + **kwargs) + + for i in range(NUM_USERS): + post_json('/challenge/request', {'email': '%d@test.com' % i}) + resp = post_json('/challenge/respond', {'token': tokens[-1]}) + token = resp.json['token'] + post_json('/profile', {'token': token, + 'contents': {'stuff': 'o' * 1024}}) + for i in range(5): + resp = app.get('/profile?token=%s' % token) + finally: + shutil.rmtree(tempdir)