From b7c18d6505b107fa5b77a31ac26968247e4afe17 Mon Sep 17 00:00:00 2001
From: Brian Warner <warner@lothar.com>
Date: Mon, 17 Sep 2007 01:53:46 -0700
Subject: [PATCH] webish: improve test coverage

---
 src/allmydata/test/test_web.py | 8 ++++++++
 src/allmydata/webish.py        | 5 +++--
 2 files changed, 11 insertions(+), 2 deletions(-)

diff --git a/src/allmydata/test/test_web.py b/src/allmydata/test/test_web.py
index 82bb61b4..fae96aba 100644
--- a/src/allmydata/test/test_web.py
+++ b/src/allmydata/test/test_web.py
@@ -1445,6 +1445,14 @@ class Web(WebMixin, unittest.TestCase):
         d.addCallback(_check2)
         return d
 
+    def test_PUT_NEWFILE_URI_only_PUT(self):
+        d = self.PUT("/uri?t=bogus", "")
+        d.addBoth(self.shouldFail, error.Error,
+                  "PUT_NEWFILE_URI_only_PUT",
+                  "400 Bad Request",
+                  "/uri only accepts PUT and PUT?t=mkdir")
+        return d
+
     def test_PUT_NEWDIR_URI(self):
         d = self.PUT("/uri?t=mkdir", "")
         def _check(uri):
diff --git a/src/allmydata/webish.py b/src/allmydata/webish.py
index 9b6639e2..a1e99338 100644
--- a/src/allmydata/webish.py
+++ b/src/allmydata/webish.py
@@ -23,7 +23,8 @@ class IClient(Interface):
     pass
 class ILocalAccess(Interface):
     def local_access_is_allowed():
-        pass
+        """Return True if t=upload&localdir= is allowed, giving anyone who
+        can talk to the webserver control over the local (disk) filesystem."""
 
 
 # we must override twisted.web.http.Request.requestReceived with a version
@@ -1050,7 +1051,7 @@ class URIPUTHandler(rend.Page):
 
         req.setResponseCode(http.BAD_REQUEST)
         req.setHeader("content-type", "text/plain")
-        return "/uri only accepts PUT"
+        return "/uri only accepts PUT and PUT?t=mkdir"
 
 
 class Root(rend.Page):
-- 
2.45.2