Mercurial > hg > simpypi
view tests/test_ttw.txt @ 68:e62d2fddb275
use the actual paths i mean
author | Jeff Hammel <jhammel@mozilla.com> |
---|---|
date | Fri, 02 Mar 2012 09:36:58 -0800 |
parents | cf03c3f2f98e |
children | 10f343c483ee |
line wrap: on
line source
Test Through The Web ==================== Test ``simpypi`` through the web with a test server. The obligatory imports:: >>> import os >>> import shutil >>> import subprocess >>> import tempfile >>> import urllib2 >>> from simpypi.factory import factory Create a WSGI app:: >>> app = factory(directory=directory) Now wrap it in a server:: >>> port = 64321 >>> server = testserver(app, 'localhost', port) >>> server.start() >>> url = 'http://localhost:%d/' % port Get the home page:: >>> resource = urllib2.urlopen(url) >>> contents = resource.read() >>> 'Python Package Index' in contents True Get the index page:: >>> resource = urllib2.urlopen(url + 'index') >>> contents = resource.read() >>> 'Simple Index' in contents True There should be no files to start out with:: >>> os.listdir(directory) [] Upload a file:: >>> path = os.path.join(here, 'HelloWorld-0.0.tar.gz') >>> upload = MultiPartForm() >>> upload.add_file('package', path) >>> response = upload.post(url) Let's see if its in the right place:: >>> os.listdir(directory) ['HelloWorld'] >>> os.listdir(os.path.join(directory, 'HelloWorld')) ['HelloWorld-0.0.tar.gz'] Make a virtualenv to install it in:: >>> tmpdir = tempfile.mkdtemp() >>> venv = create_virtualenv(tmpdir) >>> code = subprocess.call([venv.python, '-c', 'import helloworld'], stdout=subprocess.PIPE, stderr=subprocess.PIPE) >>> code 1 >>> shutil.rmtree(tmpdir) Shut down the server:: >>> server.stop()