~noskcaj/ubuntu/vivid/webtest/merge2

« back to all changes in this revision

Viewing changes to tests/test_http.py

  • Committer: Package Import Robot
  • Author(s): Piotr Ożarowski, Jakub Wilk, Piotr Ożarowski
  • Date: 2013-10-02 19:37:14 UTC
  • mfrom: (1.2.1) (14.1.1 experimental)
  • Revision ID: package-import@ubuntu.com-20131002193714-t0na13dhqrskvvff
Tags: 2.0.9-1
[ Jakub Wilk ]
* Use canonical URIs for Vcs-* fields.

[ Piotr Ożarowski ]
* New upstream release
  - bump minimum required Python version to 2.6
  - add python-six, python-waitress and python-bs4 to Depends
  - remove python-pastescript from Depends
  - remove python-simplejson and python-beautifulsoup from Recommends
  - add python-pyquery to Recommends
* Update debian/watch file to check for zip files
* Standards-Version bumped to 3.9.4 (no changes needed)

Show diffs side-by-side

added added

removed removed

Lines of Context:
 
1
# -*- coding: utf-8 -*-
 
2
from tests.compat import unittest
 
3
from webob import Request
 
4
from webtest.debugapp import debug_app
 
5
from webtest import http
 
6
 
 
7
 
 
8
class TestServer(unittest.TestCase):
 
9
 
 
10
    def setUp(self):
 
11
        self.s = http.StopableWSGIServer.create(debug_app)
 
12
 
 
13
    def test_server(self):
 
14
        s = self.s
 
15
        s.wait()
 
16
        self.assertEqual(200,
 
17
                http.check_server(s.adj.host, s.adj.port,
 
18
                                  '/__application__'))
 
19
        self.assertEqual(200,
 
20
                http.check_server(s.adj.host, s.adj.port,
 
21
                                  '/__file__?__file__=' + __file__))
 
22
        self.assertEqual(404,
 
23
                http.check_server(s.adj.host, s.adj.port,
 
24
                                  '/__file__?__file__=XXX'))
 
25
 
 
26
        self.assertEqual(304,
 
27
                http.check_server(s.adj.host, s.adj.port,
 
28
                                  '/?status=304'))
 
29
 
 
30
    def test_wsgi_wrapper(self):
 
31
        s = self.s
 
32
        s.wait()
 
33
        req = Request.blank('/__application__')
 
34
        resp = req.get_response(s.wrapper)
 
35
        self.assertEqual(resp.status_int, 200)
 
36
 
 
37
        req = Request.blank('/__file__?__file__=' + __file__)
 
38
        resp = req.get_response(s.wrapper)
 
39
        self.assertEqual(resp.status_int, 200)
 
40
 
 
41
        req = Request.blank('/__file__?__file__=XXX')
 
42
        resp = req.get_response(s.wrapper)
 
43
        self.assertEqual(resp.status_int, 404)
 
44
 
 
45
        req = Request.blank('/?status=304')
 
46
        resp = req.get_response(s.wrapper)
 
47
        self.assertEqual(resp.status_int, 304)
 
48
 
 
49
    def tearDown(self):
 
50
        self.s.shutdown()
 
51
 
 
52
 
 
53
class TestBrokenServer(unittest.TestCase):
 
54
 
 
55
    def test_shutdown_non_running(self):
 
56
        host, port = http.get_free_port()
 
57
        s = http.StopableWSGIServer(debug_app, host=host, port=port)
 
58
        self.assertFalse(s.wait(retries=-1))
 
59
        self.assertTrue(s.shutdown())
 
60
 
 
61
 
 
62
class TestClient(unittest.TestCase):
 
63
 
 
64
    def test_no_server(self):
 
65
        host, port = http.get_free_port()
 
66
        self.assertEqual(0, http.check_server(host, port, retries=2))