Skip to content

Commit 1543495

Browse files
Tyler LubeckEmanuele Palazzetti
authored andcommitted
Add a test suite
1 parent f7887ba commit 1543495

File tree

1 file changed

+45
-1
lines changed

1 file changed

+45
-1
lines changed

tests/contrib/pyramid/test_pyramid.py

Lines changed: 45 additions & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -8,7 +8,11 @@
88
from pyramid.response import Response
99
from pyramid.config import Configurator
1010
from pyramid.renderers import render_to_response
11-
from pyramid.httpexceptions import HTTPInternalServerError
11+
from pyramid.httpexceptions import (
12+
HTTPInternalServerError,
13+
HTTPFound,
14+
HTTPNoContent
15+
)
1216
import webtest
1317
from nose.tools import eq_
1418

@@ -59,6 +63,36 @@ def test_404(self):
5963
eq_(s.meta.get('http.status_code'), '404')
6064
eq_(s.meta.get('http.url'), '/404')
6165

66+
def test_302(self):
67+
self.app.get('/redirect', status=302)
68+
69+
writer = self.tracer.writer
70+
spans = writer.pop()
71+
eq_(len(spans), 1)
72+
s = spans[0]
73+
eq_(s.service, 'foobar')
74+
eq_(s.resource, 'GET raise_redirect')
75+
eq_(s.error, 0)
76+
eq_(s.span_type, 'http')
77+
eq_(s.meta.get('http.method'), 'GET')
78+
eq_(s.meta.get('http.status_code'), '302')
79+
eq_(s.meta.get('http.url'), '/redirect')
80+
81+
def test_204(self):
82+
self.app.get('/nocontent', status=204)
83+
84+
writer = self.tracer.writer
85+
spans = writer.pop()
86+
eq_(len(spans), 1)
87+
s = spans[0]
88+
eq_(s.service, 'foobar')
89+
eq_(s.resource, 'GET raise_no_content')
90+
eq_(s.error, 0)
91+
eq_(s.span_type, 'http')
92+
eq_(s.meta.get('http.method'), 'GET')
93+
eq_(s.meta.get('http.status_code'), '204')
94+
eq_(s.meta.get('http.url'), '/nocontent')
95+
6296
def test_exception(self):
6397
try:
6498
self.app.get('/exception', status=500)
@@ -241,16 +275,26 @@ def json(request):
241275
def renderer(request):
242276
return render_to_response('template.pt', {'foo': 'bar'}, request=request)
243277

278+
def raise_redirect(request):
279+
raise HTTPFound
280+
281+
def raise_no_content(request):
282+
raise HTTPNoContent
283+
244284
config.add_route('index', '/')
245285
config.add_route('error', '/error')
246286
config.add_route('exception', '/exception')
247287
config.add_route('json', '/json')
248288
config.add_route('renderer', '/renderer')
289+
config.add_route('raise_redirect', '/redirect')
290+
config.add_route('raise_no_content', '/nocontent')
249291
config.add_view(index, route_name='index')
250292
config.add_view(error, route_name='error')
251293
config.add_view(exception, route_name='exception')
252294
config.add_view(json, route_name='json', renderer='json')
253295
config.add_view(renderer, route_name='renderer', renderer='template.pt')
296+
config.add_view(raise_redirect, route_name='raise_redirect')
297+
config.add_view(raise_no_content, route_name='raise_no_content')
254298
return config.make_wsgi_app()
255299

256300

0 commit comments

Comments
 (0)