webish: improve test coverage further

This commit is contained in:
Brian Warner 2007-07-17 12:28:29 -07:00
parent 3197e1d39b
commit a7f04616bf
2 changed files with 17 additions and 6 deletions

View File

@ -373,6 +373,11 @@ class Web(unittest.TestCase):
d.addCallback(self.failUnlessIsBarDotTxt) d.addCallback(self.failUnlessIsBarDotTxt)
return d return d
def test_GET_FILEURL_download(self): # YES
d = self.GET("/vdrive/global/foo/bar.txt?t=download")
d.addCallback(self.failUnlessIsBarDotTxt)
return d
def test_GET_FILEURL_missing(self): # YES def test_GET_FILEURL_missing(self): # YES
d = self.GET("/vdrive/global/foo/missing") d = self.GET("/vdrive/global/foo/missing")
d.addBoth(self.should404, "test_GET_FILEURL_missing") d.addBoth(self.should404, "test_GET_FILEURL_missing")
@ -697,6 +702,18 @@ class Web(unittest.TestCase):
d.addCallback(_check) d.addCallback(_check)
return d return d
def test_GET_DIRURL_localdir_nonabsolute(self): # YES
localdir = "web/nonabsolute/dirpath"
fileutil.make_dirs("web/nonabsolute")
d = self.GET("/vdrive/global/foo?t=download&localdir=%s" % localdir)
d.addBoth(self.shouldFail, error.Error, "localdir non-absolute",
"403 Forbidden",
"localfile= or localdir= requires an absolute path")
def _check(res):
self.failIf(os.path.exists(localdir))
d.addCallback(_check)
return d
def touch(self, localdir, filename): def touch(self, localdir, filename):
path = os.path.join(localdir, filename) path = os.path.join(localdir, filename)
f = open(path, "w") f = open(path, "w")

View File

@ -275,9 +275,6 @@ LOCALHOST = "127.0.0.1"
class NeedLocalhostError: class NeedLocalhostError:
implements(inevow.IResource) implements(inevow.IResource)
def locateChild(self, ctx, segments):
return rend.NotFound
def renderHTTP(self, ctx): def renderHTTP(self, ctx):
req = inevow.IRequest(ctx) req = inevow.IRequest(ctx)
req.setResponseCode(http.FORBIDDEN) req.setResponseCode(http.FORBIDDEN)
@ -287,9 +284,6 @@ class NeedLocalhostError:
class NeedAbsolutePathError: class NeedAbsolutePathError:
implements(inevow.IResource) implements(inevow.IResource)
def locateChild(self, ctx, segments):
return rend.NotFound
def renderHTTP(self, ctx): def renderHTTP(self, ctx):
req = inevow.IRequest(ctx) req = inevow.IRequest(ctx)
req.setResponseCode(http.FORBIDDEN) req.setResponseCode(http.FORBIDDEN)