Mercurial > hg > simpypi
annotate tests/test_ttw.txt @ 67:cf03c3f2f98e
this one fails too; something is rotten in the state of virtualenv
author | Jeff Hammel <jhammel@mozilla.com> |
---|---|
date | Thu, 01 Mar 2012 19:40:10 -0800 |
parents | a2ba66be2e31 |
children | e62d2fddb275 |
rev | line source |
---|---|
60 | 1 Test Through The Web |
2 ==================== | |
3 | |
4 Test ``simpypi`` through the web with a test server. | |
5 | |
6 The obligatory imports:: | |
7 | |
65
83327bc715be
make the virtualenv convenience method return more stuff
Jeff Hammel <jhammel@mozilla.com>
parents:
62
diff
changeset
|
8 >>> import os |
66
a2ba66be2e31
tests mysteriously fail now
Jeff Hammel <jhammel@mozilla.com>
parents:
65
diff
changeset
|
9 >>> import shutil |
a2ba66be2e31
tests mysteriously fail now
Jeff Hammel <jhammel@mozilla.com>
parents:
65
diff
changeset
|
10 >>> import subprocess |
a2ba66be2e31
tests mysteriously fail now
Jeff Hammel <jhammel@mozilla.com>
parents:
65
diff
changeset
|
11 >>> import tempfile |
62 | 12 >>> import urllib2 |
60 | 13 >>> from simpypi.factory import factory |
14 | |
15 Create a WSGI app:: | |
16 | |
17 >>> app = factory(directory=directory) | |
61 | 18 |
19 Now wrap it in a server:: | |
20 | |
62 | 21 >>> port = 64321 |
22 >>> server = testserver(app, 'localhost', port) | |
61 | 23 >>> server.start() |
62 | 24 >>> url = 'http://localhost:%d/' % port |
25 | |
26 Get the home page:: | |
27 | |
28 >>> resource = urllib2.urlopen(url) | |
29 >>> contents = resource.read() | |
30 >>> 'Python Package Index' in contents | |
31 True | |
32 | |
33 Get the index page:: | |
34 | |
35 >>> resource = urllib2.urlopen(url + 'index') | |
36 >>> contents = resource.read() | |
37 >>> 'Simple Index' in contents | |
38 True | |
61 | 39 |
65
83327bc715be
make the virtualenv convenience method return more stuff
Jeff Hammel <jhammel@mozilla.com>
parents:
62
diff
changeset
|
40 |
83327bc715be
make the virtualenv convenience method return more stuff
Jeff Hammel <jhammel@mozilla.com>
parents:
62
diff
changeset
|
41 There should be no files to start out with:: |
83327bc715be
make the virtualenv convenience method return more stuff
Jeff Hammel <jhammel@mozilla.com>
parents:
62
diff
changeset
|
42 |
83327bc715be
make the virtualenv convenience method return more stuff
Jeff Hammel <jhammel@mozilla.com>
parents:
62
diff
changeset
|
43 >>> os.listdir(directory) |
83327bc715be
make the virtualenv convenience method return more stuff
Jeff Hammel <jhammel@mozilla.com>
parents:
62
diff
changeset
|
44 [] |
83327bc715be
make the virtualenv convenience method return more stuff
Jeff Hammel <jhammel@mozilla.com>
parents:
62
diff
changeset
|
45 |
83327bc715be
make the virtualenv convenience method return more stuff
Jeff Hammel <jhammel@mozilla.com>
parents:
62
diff
changeset
|
46 Upload a file:: |
83327bc715be
make the virtualenv convenience method return more stuff
Jeff Hammel <jhammel@mozilla.com>
parents:
62
diff
changeset
|
47 |
83327bc715be
make the virtualenv convenience method return more stuff
Jeff Hammel <jhammel@mozilla.com>
parents:
62
diff
changeset
|
48 >>> path = os.path.join(here, 'HelloWorld-0.0.tar.gz') |
83327bc715be
make the virtualenv convenience method return more stuff
Jeff Hammel <jhammel@mozilla.com>
parents:
62
diff
changeset
|
49 >>> upload = MultiPartForm() |
83327bc715be
make the virtualenv convenience method return more stuff
Jeff Hammel <jhammel@mozilla.com>
parents:
62
diff
changeset
|
50 >>> upload.add_file('package', path) |
83327bc715be
make the virtualenv convenience method return more stuff
Jeff Hammel <jhammel@mozilla.com>
parents:
62
diff
changeset
|
51 >>> response = upload.post(url) |
83327bc715be
make the virtualenv convenience method return more stuff
Jeff Hammel <jhammel@mozilla.com>
parents:
62
diff
changeset
|
52 |
83327bc715be
make the virtualenv convenience method return more stuff
Jeff Hammel <jhammel@mozilla.com>
parents:
62
diff
changeset
|
53 Let's see if its in the right place:: |
83327bc715be
make the virtualenv convenience method return more stuff
Jeff Hammel <jhammel@mozilla.com>
parents:
62
diff
changeset
|
54 |
83327bc715be
make the virtualenv convenience method return more stuff
Jeff Hammel <jhammel@mozilla.com>
parents:
62
diff
changeset
|
55 >>> os.listdir(directory) |
83327bc715be
make the virtualenv convenience method return more stuff
Jeff Hammel <jhammel@mozilla.com>
parents:
62
diff
changeset
|
56 ['HelloWorld'] |
83327bc715be
make the virtualenv convenience method return more stuff
Jeff Hammel <jhammel@mozilla.com>
parents:
62
diff
changeset
|
57 >>> os.listdir(os.path.join(directory, 'HelloWorld')) |
83327bc715be
make the virtualenv convenience method return more stuff
Jeff Hammel <jhammel@mozilla.com>
parents:
62
diff
changeset
|
58 ['HelloWorld-0.0.tar.gz'] |
83327bc715be
make the virtualenv convenience method return more stuff
Jeff Hammel <jhammel@mozilla.com>
parents:
62
diff
changeset
|
59 |
66
a2ba66be2e31
tests mysteriously fail now
Jeff Hammel <jhammel@mozilla.com>
parents:
65
diff
changeset
|
60 Make a virtualenv to install it in:: |
a2ba66be2e31
tests mysteriously fail now
Jeff Hammel <jhammel@mozilla.com>
parents:
65
diff
changeset
|
61 |
a2ba66be2e31
tests mysteriously fail now
Jeff Hammel <jhammel@mozilla.com>
parents:
65
diff
changeset
|
62 >>> tmpdir = tempfile.mkdtemp() |
a2ba66be2e31
tests mysteriously fail now
Jeff Hammel <jhammel@mozilla.com>
parents:
65
diff
changeset
|
63 >>> venv = create_virtualenv(tmpdir) |
67
cf03c3f2f98e
this one fails too; something is rotten in the state of virtualenv
Jeff Hammel <jhammel@mozilla.com>
parents:
66
diff
changeset
|
64 >>> code = subprocess.call([venv.python, '-c', 'import helloworld']) |
cf03c3f2f98e
this one fails too; something is rotten in the state of virtualenv
Jeff Hammel <jhammel@mozilla.com>
parents:
66
diff
changeset
|
65 >>> code |
cf03c3f2f98e
this one fails too; something is rotten in the state of virtualenv
Jeff Hammel <jhammel@mozilla.com>
parents:
66
diff
changeset
|
66 1 |
66
a2ba66be2e31
tests mysteriously fail now
Jeff Hammel <jhammel@mozilla.com>
parents:
65
diff
changeset
|
67 >>> shutil.rmtree(tmpdir) |
a2ba66be2e31
tests mysteriously fail now
Jeff Hammel <jhammel@mozilla.com>
parents:
65
diff
changeset
|
68 |
61 | 69 Shut down the server:: |
70 | |
71 >>> server.stop() |