summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authorIan Bicking <ian@ianbicking.org>2005-08-22 22:56:15 +0000
committerIan Bicking <ian@ianbicking.org>2005-08-22 22:56:15 +0000
commitd5f204fc3738733a27c4796d0108c1455597d69f (patch)
tree870c6d8ea7980a5e3fde31de3c69975de1fc8849
parentbce09cafb4c5161d459e2935a60bcdc6c5757acc (diff)
downloadpaste-git-d5f204fc3738733a27c4796d0108c1455597d69f.tar.gz
Removed and moved last of paste.tests
-rwxr-xr-xpaste/doctest_webapp.py (renamed from paste/tests/doctest_webapp.py)0
-rw-r--r--paste/tests/__init__.py1
-rwxr-xr-xpaste/tests/echotest.py109
3 files changed, 0 insertions, 110 deletions
diff --git a/paste/tests/doctest_webapp.py b/paste/doctest_webapp.py
index a8a63c9..a8a63c9 100755
--- a/paste/tests/doctest_webapp.py
+++ b/paste/doctest_webapp.py
diff --git a/paste/tests/__init__.py b/paste/tests/__init__.py
deleted file mode 100644
index 792d600..0000000
--- a/paste/tests/__init__.py
+++ /dev/null
@@ -1 +0,0 @@
-#
diff --git a/paste/tests/echotest.py b/paste/tests/echotest.py
deleted file mode 100755
index 885d571..0000000
--- a/paste/tests/echotest.py
+++ /dev/null
@@ -1,109 +0,0 @@
-"""
-Tests a WSGI stack, using urllib. Queries the echo application.
-"""
-
-import unittest
-import urlparse
-import urllib
-import os
-import sys
-
-class EchoTest(unittest.TestCase):
-
- def url(self):
- if not os.environ.get('ECHO_URL'):
- print 'You must set $ECHO_URL'
- sys.exit(1)
- url = URL(os.environ['ECHO_URL'])
- return url
-
-class TestEnviron(EchoTest):
-
- def setUp(self):
- self.page = self.url().fetch(environ='true')
- self.environ = parse_environ(self.page)
-
- def testRequiredKeys(self):
- environ = self.environ
- url = self.url()
- required_keys = 'REQUEST_METHOD SCRIPT_NAME PATH_INFO QUERY_STRING SERVER_NAME SERVER_PORT wsgi.errors wsgi.input wsgi.multiprocess wsgi.multithread wsgi.version'
- for key in required_keys.split():
- assert environ.has_key(key), "Key %r missing from %r" % (key, environ)
- self.assertEqual(environ['PATH_INFO'], '')
- self.assertEqual(environ['SCRIPT_NAME'], url.path)
- self.assertEqual(environ['REQUEST_METHOD'], 'GET')
- self.assertEqual(environ['QUERY_STRING'], 'environ=true')
- self.assertEqual(environ['SERVER_PORT'], str(url.port))
- self.assertEqual(environ['SERVER_NAME'], url.host)
- self.assertEqual(environ['HTTP_HOST'], url.location)
- assert environ['HTTP_USER_AGENT'].startswith('Python-urllib/'), \
- "HTTP_USER_AGENT should start with 'Python-urllib/': %r" % environ['HTTP_USER_AGENT']
-
- def testPathInfo(self):
- sub = self.url() / ''
- environ = parse_environ(sub.fetch(environ='true'))
- self.assertEqual(environ['PATH_INFO'], '/')
- self.assertEqual(environ['SCRIPT_NAME'], self.url().path)
- sub = self.url() / 'test'
- environ = parse_environ(sub.fetch(environ='true'))
- self.assertEqual(environ['PATH_INFO'], '/test')
- self.assertEqual(environ['SCRIPT_NAME'], self.url().path)
-
- def test_message(self):
- data = self.url().fetch(message='test')
- self.assertEqual(data, 'test')
- data = self.url().fetch(message='')
- self.assertEqual(data, '')
-
-############################################################
-## Utility functions
-############################################################
-
-def parse_environ(page):
- """
- Parses the environment that echo prints (not perfect, but good
- enough).
- """
- environ = {}
- for line in page.splitlines():
- if '=' not in line:
- # ignore second line of long lines
- continue
- name, value = line.split('=', 1)
- environ[name] = value
- return environ
-
-class URL:
-
- def __init__(self, url_string):
- self.url_string = url_string
- (self.scheme, self.location, self.path, self.query,
- self.fragment) = urlparse.urlsplit(url_string)
- if ':' in self.location:
- self.host, self.port = location.split(':', 1)
- else:
- self.host = self.location
- if self.scheme == 'http':
- self.port = '80'
- elif self.scheme == 'https':
- self.port = '443'
- else:
- assert 0, "Unknown scheme: %r" % scheme
- self.port = int(self.port)
-
- def fetch(self, **kw):
- query = '&'.join(['%s=%s' % (urllib.quote(k), urllib.quote(v))
- for k, v in kw.items()])
- url = self.url_string
- if query:
- url += '?' + query
- f = urllib.urlopen(url)
- page = f.read()
- f.close()
- return page
-
- def __div__(self, path_part):
- return self.__class__(self.url_string + '/' + path_part)
-
-if __name__ == '__main__':
- unittest.main()