From bd1cbde27329a6a2a898612ae79c7377c8450394 Mon Sep 17 00:00:00 2001 From: meejah Date: Fri, 27 Dec 2019 19:00:20 -0700 Subject: [PATCH] re/string checks -> soup --- src/allmydata/test/web/test_web.py | 62 +++++++++++++++++------------- 1 file changed, 36 insertions(+), 26 deletions(-) diff --git a/src/allmydata/test/web/test_web.py b/src/allmydata/test/web/test_web.py index af6252441..9a3276bc9 100644 --- a/src/allmydata/test/web/test_web.py +++ b/src/allmydata/test/web/test_web.py @@ -1892,31 +1892,40 @@ class Web(WebMixin, WebErrorMixin, testutil.StallMixin, testutil.ReallyEqualMixi d.addBoth(self.should404, "test_GET_FILEURL_uri_missing") return d - def _check_upload_and_mkdir_forms(self, html): - # We should have a form to create a file, with radio buttons that allow - # the user to toggle whether it is a CHK/LIT (default), SDMF, or MDMF file. - self.failUnless(re.search('', html), html) - self.failUnless(re.search('', html), html) - self.failUnless(re.search(' tags") + assert_soup_has_favicon(self, soup) + @inlineCallbacks def test_GET_DIRECTORY_html(self): - d = self.GET(self.public_url + "/foo", followRedirect=True) - def _check(html): - self.failUnlessIn('
  • Return to Welcome page
  • ', html) - self._check_upload_and_mkdir_forms(html) - self.failUnlessIn("quux", html) - d.addCallback(_check) - return d + data = yield self.GET(self.public_url + "/foo", followRedirect=True) + soup = BeautifulSoup(data, 'html5lib') + self._check_upload_and_mkdir_forms(soup) + toolbars = soup.find_all(u"li", {u"class": u"toolbar-item"}) + self.assertTrue(any(li.text == u"Return to Welcome page" for li in toolbars)) + self.failUnlessIn("quux", data) def test_GET_DIRECTORY_html_filenode_encoding(self): d = self.GET(self.public_url + "/foo", followRedirect=True) @@ -1936,10 +1945,11 @@ class Web(WebMixin, WebErrorMixin, testutil.StallMixin, testutil.ReallyEqualMixi d.addCallback(_check) return d + @inlineCallbacks def test_GET_root_html(self): - d = self.GET("/") - d.addCallback(self._check_upload_and_mkdir_forms) - return d + data = yield self.GET("/") + soup = BeautifulSoup(data, 'html5lib') + self._check_upload_and_mkdir_forms(soup) def test_GET_DIRURL(self): # the addSlash means we get a redirect here