Test "deep check and repair" page

This commit is contained in:
Sajith Sasidharan 2020-07-10 08:00:04 -04:00
parent 427f99621f
commit f9dc2509de

View File

@ -2,6 +2,9 @@
import re import re
import json import json
import os.path, shutil import os.path, shutil
from bs4 import BeautifulSoup
from twisted.trial import unittest from twisted.trial import unittest
from twisted.internet import defer from twisted.internet import defer
@ -26,6 +29,11 @@ from .common import (
EMPTY_CLIENT_CONFIG, EMPTY_CLIENT_CONFIG,
) )
from .web.common import (
assert_soup_has_favicon,
assert_soup_has_tag_with_content,
)
class FakeClient(object): class FakeClient(object):
def get_storage_broker(self): def get_storage_broker(self):
return self.storage_broker return self.storage_broker
@ -40,6 +48,7 @@ class TestRequest(object, Request):
Request.__init__(self, DummyChannel()) Request.__init__(self, DummyChannel())
self.args = args or {} self.args = args or {}
self.fields = fields or {} self.fields = fields or {}
self.prepath = [b""]
class WebResultsRendering(unittest.TestCase): class WebResultsRendering(unittest.TestCase):
@ -336,6 +345,102 @@ class WebResultsRendering(unittest.TestCase):
self.failUnlessEqual(j["storage-index"], "") self.failUnlessEqual(j["storage-index"], "")
_got_lit_results(d) _got_lit_results(d)
def test_deep_check_and_repair_renderer(self):
monitor = Monitor()
status = check_results.DeepCheckAndRepairResults("")
monitor.set_status(status)
elem = web_check_results.DeepCheckAndRepairResultsRendererElement(monitor)
doc = self.render_element(elem)
soup = BeautifulSoup(doc, 'html5lib')
assert_soup_has_favicon(self, soup)
assert_soup_has_tag_with_content(
self, soup, u"title",
u"Tahoe-LAFS - Deep Check Results"
)
assert_soup_has_tag_with_content(
self, soup, u"h1",
u"Deep-Check-And-Repair Results for root SI="
)
assert_soup_has_tag_with_content(
self, soup, u"li",
u"Objects Checked: 0"
)
assert_soup_has_tag_with_content(
self, soup, u"li",
u"Objects Healthy (before repair): 0"
)
assert_soup_has_tag_with_content(
self, soup, u"li",
u"Objects Unhealthy (before repair): 0"
)
assert_soup_has_tag_with_content(
self, soup, u"li",
u"Corrupt Shares (before repair): 0"
)
assert_soup_has_tag_with_content(
self, soup, u"li",
u"Repairs Attempted: 0"
)
assert_soup_has_tag_with_content(
self, soup, u"li",
u"Repairs Attempted: 0"
)
assert_soup_has_tag_with_content(
self, soup, u"li",
u"Repairs Successful: 0"
)
assert_soup_has_tag_with_content(
self, soup, u"li",
"Repairs Unsuccessful: 0"
)
assert_soup_has_tag_with_content(
self, soup, u"li",
u"Objects Healthy (after repair): 0"
)
assert_soup_has_tag_with_content(
self, soup, u"li",
u"Objects Unhealthy (after repair): 0"
)
assert_soup_has_tag_with_content(
self, soup, u"li",
u"Corrupt Shares (after repair): 0"
)
assert_soup_has_tag_with_content(
self, soup, u"h2",
u"Files/Directories That Had Problems:"
)
assert_soup_has_tag_with_content(
self, soup, u"h2",
u"Files/Directories That Still Have Problems:"
)
assert_soup_has_tag_with_content(
self, soup, u"h2",
u"Servers on which corrupt shares were found"
)
assert_soup_has_tag_with_content(
self, soup, u"h2",
u"Remaining Corrupt Shares"
)
class BalancingAct(GridTestMixin, unittest.TestCase): class BalancingAct(GridTestMixin, unittest.TestCase):
# test for #1115 regarding the 'count-good-share-hosts' metric # test for #1115 regarding the 'count-good-share-hosts' metric