1
# Copyright (c) 2009 Twisted Matrix Laboratories.
2
# See LICENSE for details.
5
Tests for L{twisted.web.script}.
10
from twisted.trial.unittest import TestCase
11
from twisted.web.http import NOT_FOUND
12
from twisted.web.script import ResourceScriptDirectory, PythonScript
13
from twisted.web.test._util import _render
14
from twisted.web.test.test_web import DummyRequest
17
class ResourceScriptDirectoryTests(TestCase):
19
Tests for L{ResourceScriptDirectory}.
21
def test_render(self):
23
L{ResourceScriptDirectory.render} sets the HTTP response code to I{NOT
26
resource = ResourceScriptDirectory(self.mktemp())
27
request = DummyRequest([''])
28
d = _render(resource, request)
29
def cbRendered(ignored):
30
self.assertEqual(request.responseCode, NOT_FOUND)
31
d.addCallback(cbRendered)
35
def test_notFoundChild(self):
37
L{ResourceScriptDirectory.getChild} returns a resource which renders an
38
response with the HTTP I{NOT FOUND} status code if the indicated child
39
does not exist as an entry in the directory used to initialized the
40
L{ResourceScriptDirectory}.
44
resource = ResourceScriptDirectory(path)
45
request = DummyRequest(['foo'])
46
child = resource.getChild("foo", request)
47
d = _render(child, request)
48
def cbRendered(ignored):
49
self.assertEqual(request.responseCode, NOT_FOUND)
50
d.addCallback(cbRendered)
55
class PythonScriptTests(TestCase):
57
Tests for L{PythonScript}.
59
def test_notFoundRender(self):
61
If the source file a L{PythonScript} is initialized with doesn't exist,
62
L{PythonScript.render} sets the HTTP response code to I{NOT FOUND}.
64
resource = PythonScript(self.mktemp(), None)
65
request = DummyRequest([''])
66
d = _render(resource, request)
67
def cbRendered(ignored):
68
self.assertEqual(request.responseCode, NOT_FOUND)
69
d.addCallback(cbRendered)