Commit Graph

3106 Commits

Author SHA1 Message Date
Sajith Sasidharan
7e26dd42e9 Remove redundant render_json() method 2020-07-09 16:05:30 -04:00
Sajith Sasidharan
0af744610f Avoid using nevow FakeRequest in storage test.
Use twisted.web.server.Request instead, with a DummyChannel.

There's still one line of inevitable nevow now, because of code in
web/common.py; but that should be easily replaceable once we switch
that over.
2020-07-09 16:05:30 -04:00
Sajith Sasidharan
a6e6c5cee0 Get rid of WebRenderingMixin in storage test 2020-07-09 16:05:30 -04:00
Sajith Sasidharan
8d31791940 Use a helper to exercise render() in storage test cases 2020-07-09 16:05:30 -04:00
Sajith Sasidharan
7126d3247c Prefix member variable with "_" 2020-07-09 16:05:30 -04:00
Sajith Sasidharan
1469af0f3b Use BeautifulSoup to check favicon in storage page 2020-07-09 16:05:30 -04:00
Sajith Sasidharan
db0e6407dc Use successResultOf in renderSynchronously
Get rid of [].append trick when dealing with the deferred.
2020-07-09 16:05:30 -04:00
Sajith Sasidharan
ee8e730727 Move renderSynchronously to test suite 2020-07-09 16:05:30 -04:00
Sajith Sasidharan
ac9a73eddb Use parentheses in test suite's import statement 2020-07-09 16:05:30 -04:00
Sajith Sasidharan
dbc6b2afa0 Drop unused ctx argument from render_space methods 2020-07-09 16:05:30 -04:00
Sajith Sasidharan
d5af7c0d2e Refactor so that test_util pass 2020-07-09 16:05:30 -04:00
meejah
1f4b619fda unused imports 2020-07-09 16:05:29 -04:00
meejah
77a2f11694 more-testtools-y asserts 2020-07-09 16:05:29 -04:00
meejah
1ce760b237 testtool's asserts 2020-07-09 16:05:29 -04:00
meejah
26d7a3a957 Get rid of ?replace= handling entirely and more-correctly support /uri variants 2020-07-09 16:05:29 -04:00
meejah
eaf96b22fe replciate Tahoe's behavior for replace=true/false 2020-07-09 16:05:29 -04:00
meejah
9d5e438c2d use real parser 2020-07-09 16:05:29 -04:00
meejah
683c8d3e4f actually returns CREATED for new data 2020-07-09 16:05:29 -04:00
meejah
b01995f158 use hypothesis -- which doesn't know about Deferred, so need testtools too 2020-07-09 16:05:29 -04:00
meejah
0cc020b5f2 copyright, header 2020-07-09 16:05:29 -04:00
meejah
18b62bf746 unused imports 2020-07-09 16:05:29 -04:00
meejah
05140a5881 simple test of testing/web 2020-07-09 16:05:29 -04:00
Sajith Sasidharan
7444d6b7a9 Correct arguments to super()
This was incidentally found when looking at some test failures:
super(type, object) is the right invocation, and not the other way
around.
2020-07-09 16:05:29 -04:00
Sajith Sasidharan
2e160c1526 Test for failure caused by invalid path
A hyphen is expected when rendering /status page child nodes:
"/status/up" is wrong; "/status/up-0" is right.
2020-07-09 14:37:37 -04:00
Itamar Turner-Trauring
0cf1117165 Move the tests for deferredutil into their own module. 2020-07-09 14:20:12 -04:00
Itamar Turner-Trauring
e108ecb4b0 Fix lint. 2020-07-09 13:56:25 -04:00
Itamar Turner-Trauring
af86066eab Delete some dead code. 2020-07-09 13:52:06 -04:00
Itamar Turner-Trauring
12d5131568 Fix pyflakes issues. 2020-07-09 13:12:30 -04:00
Sajith Sasidharan
7bee9ff540 Untabify again 2020-07-08 13:56:52 -04:00
Sajith Sasidharan
4d22390b59 Untabify 2020-07-08 13:29:01 -04:00
Sajith Sasidharan
112cfc1da5 Test if download status page can be rendered partially 2020-07-08 13:08:35 -04:00
Sajith Sasidharan
c187e2752b Parameterize FakeDownloadResults and FakeDownloadStatus 2020-07-08 13:08:35 -04:00
Itamar Turner-Trauring
9e3bc3e888 These tests are no longer necessary, since we are no longer implementing this
code ourselves.

Before deleting the tests I ensured they either passed, or the failure were due
to slightly different string formatting in pyutil's assertutil.

As such I believe pyutil has the same behavior.
2020-07-08 12:16:26 -04:00
Sajith Sasidharan
81216f18bf Remove some whitespace 2020-07-08 10:15:33 -04:00
Sajith Sasidharan
d6ea30b935 Test more markup rendered by DownloadStatusElement 2020-07-07 22:20:49 -04:00
Sajith Sasidharan
0db56f99cf Add some tests for DownloadStatusElement 2020-07-07 20:49:58 -04:00
Itamar Turner-Trauring
3d0e4df5ce Lint fixes. 2020-07-07 11:30:01 -04:00
Itamar Turner-Trauring
e06d41442a Merge remote-tracking branch 'origin/master' into 3324-humanreadable-python-3 2020-07-07 11:03:33 -04:00
Sajith Sasidharan
a3bf4e0269 Remove an unused import 2020-07-06 20:18:22 -04:00
Sajith Sasidharan
e6eb387707 Remove status.RateAndTimeMixin
Both UploadResultsRenderer and DownloadResultsRenderer do not use
RateAndTimeMixin anymore: safe to remove it now.

Tests for methods formerly in RateAndTimeMixin have been moved to
test.web.test_util: specifically test_abbreviate_rate() and
test_abbreviate_time().
2020-07-06 17:11:30 -04:00
Sajith Sasidharan
4a47e8311f Merge 'origin/master' into 3288.status-download-nevow-to-twisted-web 2020-07-06 16:38:23 -04:00
Sajith Sasidharan
25f5e659fc
Merge pull request #721 from sajith/3287.status-upload-nevow-to-twisted-web
Replace nevow with twisted.web.template in status.UploadStatusPage

Fixes: ticket:3287
2020-07-06 16:20:40 -04:00
Sajith Sasidharan
61aef4caef
Merge pull request #690 from sajith/3247.storage-py-neovw-to-twt
Use twisted.web.template in web/storage.py

Fixes: ticket:3247
2020-07-06 16:18:34 -04:00
Itamar Turner-Trauring
f548593f37 Fix test_python3, and mark these two modules as being ported as well. 2020-07-06 14:18:18 -04:00
Itamar Turner-Trauring
b990334104 Add the builtins import to make Python 2 builtins match Python 3's. 2020-07-06 14:00:02 -04:00
Itamar Turner-Trauring
83b9bbf743 Switch definitely to _python3.py for listing modules, but also note if a module
has been ported in its docstring.
2020-07-03 13:28:36 -04:00
Itamar Turner-Trauring
140cb80ff7 Clarify comment. 2020-07-03 13:15:57 -04:00
Itamar Turner-Trauring
12691eb597 Only install module mappings once. 2020-07-02 14:31:33 -04:00
Itamar Turner-Trauring
70a029fb81 Tests pass on both Python 2 and Python 3. 2020-07-02 14:26:35 -04:00
Itamar Turner-Trauring
c207a0c932 Port test_humanreadable.py to Python 3. 2020-07-02 14:10:38 -04:00
Itamar Turner-Trauring
b7f88b278f Split out tests for humanreadable into their own module, so we can port just
humanreadable.py in isolation.
2020-07-02 13:40:40 -04:00
meejah
ffd24b9c7f
Merge pull request #728 from meejah/ticket3317-verified-fakes
Ticket 3317: start of verified fakes
2020-06-30 19:40:39 +00:00
meejah
aedc58ef51 unused imports 2020-06-19 17:22:42 -06:00
meejah
f0ac5a2cef more-testtools-y asserts 2020-06-19 17:19:30 -06:00
meejah
57eb875354 testtool's asserts 2020-06-19 17:16:39 -06:00
meejah
ef71fc2bfc Get rid of ?replace= handling entirely and more-correctly support /uri variants 2020-06-19 17:15:01 -06:00
meejah
02a543515f replciate Tahoe's behavior for replace=true/false 2020-06-13 01:55:14 -06:00
meejah
fa597e1735 use real parser 2020-06-12 22:57:38 -06:00
meejah
949b09ce27 actually returns CREATED for new data 2020-06-12 22:08:36 -06:00
meejah
776ee5f91c use hypothesis -- which doesn't know about Deferred, so need testtools too 2020-06-12 22:04:12 -06:00
meejah
05ea0a2fe9 copyright, header 2020-06-12 22:04:03 -06:00
meejah
00e7d01a1a unused imports 2020-06-11 15:34:40 -06:00
meejah
86a90084bb simple test of testing/web 2020-06-11 14:14:42 -06:00
Sajith Sasidharan
cf4b3ba008 Correct arguments to super()
This was incidentally found when looking at some test failures:
super(type, object) is the right invocation, and not the other way
around.
2020-05-29 09:20:18 -04:00
Sajith Sasidharan
b0e3325d03 Move time formatter tests
UploadResultsRendererMixin no longer has render_time(); moving tests
for render_time() as tests for abbreviate_time() to a more appropriate
place.
2020-05-22 20:49:34 -04:00
Sajith Sasidharan
ab4811eaa0 Move tests for abbreviate time/rate methods to utils tests
RateAndTimeMixin.render_time() is really abbreviate_time(), and
RateAndTimeMixin.render_rate() is really abbreviate_rate().  This
change moves the tests to their rightful place, and exercises them
using the right names.

We're also trying to avoid use of mixins.  RateAndTimeMixin will
eventually go.
2020-05-14 16:09:54 -04:00
meejah
466369dd69
Merge pull request #669 from meejah/make-pypy-work
Make pypy work
2020-05-13 12:44:23 -06:00
meejah
2418e90bf0 CacheDirectoryManager is unused 2020-05-06 15:22:22 -06:00
meejah
d4f29e7d6c restore old code, run the GC 2020-05-05 13:57:17 -06:00
meejah
b54dc1e5d5 whitespace (1 line per import) 2020-05-05 13:56:59 -06:00
Sajith Sasidharan
5e4f2d88f1
Merge pull request #710 from sajith/3305.root-from-nevow-to-twisted-web
Move root.Root from nevow to twisted.web.template

Fixes: ticket:3305
2020-05-05 15:56:21 -04:00
Sajith Sasidharan
ab298dab9c Make ErrorBoom a new style class
ErrorBoom won't pass PythonTwoRegressions.test_new_style_classes()
check otherwise.
2020-05-05 12:56:19 -04:00
Sajith Sasidharan
edd4cab42b Replace nevow with twisted.web in test.web.test_grid 2020-05-05 11:51:28 -04:00
meejah
1e039d8364 certs big enough to make pypy happy 2020-05-04 21:59:15 -06:00
meejah
00373fc211 special-case pypy 2020-05-04 21:59:15 -06:00
meejah
13350d60c2 assertFailure instead of bespoke code 2020-05-04 21:59:15 -06:00
meejah
bddd2cc996 disable system tests on PyPy 2020-05-04 21:59:15 -06:00
meejah
29563b8f2d assert proper errors 2020-05-04 21:59:15 -06:00
meejah
f8117320cb tests which rely on memory-reclamation need gc.collect() on pypy 2020-05-04 21:59:15 -06:00
meejah
8965c77d63 look for correct error-string 2020-05-04 21:59:15 -06:00
meejah
9bcc465f76 unused import 2020-05-04 21:59:15 -06:00
meejah
4928d62d66 use set instead of WeakKeyDictionary 2020-05-04 21:59:15 -06:00
meejah
5175a6c6a0 asserts for systemexit 2020-05-04 21:59:15 -06:00
meejah
5071ddf124 add more 'with' statements 2020-05-04 21:59:15 -06:00
meejah
a348d3d507 relying on memory/gc bad 2020-05-04 21:59:15 -06:00
meejah
ca5e1ebe52 look at correct mock-call object 2020-05-04 21:59:15 -06:00
meejah
4b0c730adf use 'with open' correctly 2020-05-04 21:59:15 -06:00
Sajith Sasidharan
88b369a0c2 Remove unused variables 2020-05-04 11:48:52 -04:00
Sajith Sasidharan
58a06cb57d Update test that exercises empty nick and version 2020-05-04 09:45:36 -04:00
Sajith Sasidharan
88b7784f39 Use BeautifulSoup in test.test_system.SystemTest.test_filesystem 2020-04-30 15:09:10 -04:00
Sajith Sasidharan
6aebab28a9 Use BeautifulSoup to check rendered document 2020-04-30 10:17:48 -04:00
Sajith Sasidharan
e5733b6c90 Remove unused test code 2020-04-28 19:09:00 -04:00
Sajith Sasidharan
98322effe6 Update test to exercise services renderer 2020-04-28 19:07:57 -04:00
meejah
c385e958a8 Merge branch 'master' into ticket3252-port-web-directory.remaining.1 2020-04-23 12:24:00 -06:00
Sajith Sasidharan
b3feaae644 Use an inner JSONRequest class with renderJSON
Once nevow is removed from web/common.py, we can simplify
renderJSON(), like so:

  def renderJSON():
      req = Request()
      req.args = {"t": ["json"]}
      req.fields = {}
      return resource.render(req)

But for now we have to live with an inner class that implements the
nevow.inevow.IRequest interface.
2020-04-21 10:29:28 -04:00
Sajith Sasidharan
201c08dbe5 Declare JSON request interface using @implementer
"zope.interface.implements(IRequest)" is deprectated in favor of
"@zope.interface.implementer(IRequest)" decorator.
2020-04-20 16:54:51 -04:00
meejah
8df1ed1ba6 link to tickets 2020-04-18 02:49:14 -06:00
meejah
349aefeacc fail() takes a message, not Exception 2020-04-18 01:52:18 -06:00
meejah
018e161f19 don't allow trailing slashes
This makes /uri/xxx URIs invalid if they have a trailing slash.
It seems that the former Nevow implementation would allow this, and
some tests (and, notable, "tahoe backup") did rely on using URIs
of this style.
2020-04-18 01:52:18 -06:00
meejah
8f35f78194 temporary fix for hypothesis test 2020-04-18 01:52:18 -06:00
meejah
c246b3e049 self.assertEqual not assert 2020-04-18 01:52:18 -06:00
meejah
701915783c make unpack/pack test use Hypothesis 2020-04-18 01:52:18 -06:00
meejah
3d3feec059 encode for fail() / Exception 2020-04-18 01:52:18 -06:00
meejah
d533becc07 native strings only 2020-04-18 01:52:18 -06:00
meejah
ef5e18b6c7 unused 2020-04-18 01:52:18 -06:00
meejah
fdb3399edb just delete test_welcome 2020-04-18 01:52:18 -06:00
meejah
b44980ca01 get rid of assert_ 2020-04-18 01:52:18 -06:00
meejah
e4d556b49e assert about connected storage servers 2020-04-18 01:52:18 -06:00
meejah
f9956f4c43 remove asserts for static text 2020-04-18 01:52:18 -06:00
meejah
9ccbe562d7 add break 2020-04-18 01:52:18 -06:00
meejah
d12fd573d3 assert for noreferrer 2020-04-18 01:52:18 -06:00
meejah
48f859f5d4 document internal callback 2020-04-18 01:52:18 -06:00
meejah
685aaf14bf soup, not re 2020-04-18 01:52:17 -06:00
meejah
af35483fbf soup not re 2020-04-18 01:52:17 -06:00
meejah
b71d4993c6 more soup 2020-04-18 01:52:17 -06:00
meejah
b4fab4403f use soup, not strings 2020-04-18 01:52:17 -06:00
meejah
bd1cbde273 re/string checks -> soup 2020-04-18 01:52:17 -06:00
meejah
76516fe02e use soup, not re 2020-04-18 01:52:17 -06:00
meejah
c489c61404 refactor 2020-04-18 01:52:17 -06:00
meejah
d5ef65d326 beautifulsoup, not re 2020-04-18 01:52:17 -06:00
meejah
bf3c71c35f change not required 2020-04-18 01:52:17 -06:00
meejah
178c45eb0d remove print 2020-04-18 01:52:17 -06:00
meejah
25096715fb flake8 2020-04-18 01:52:17 -06:00
meejah
044d1cfbea correct error 2020-04-18 01:52:17 -06:00
meejah
d0c47fe1d1 irrelevant comment 2020-04-18 01:52:17 -06:00
meejah
97a3f61c28 irrelevant comment 2020-04-18 01:52:17 -06:00
meejah
bc04c9b3db detech empty pathname components, hopefully the same way as Nevow 2020-04-18 01:52:17 -06:00
meejah
d26ce3beb0 some things that fail, but not in quite the right way .. for reasons 2020-04-18 01:52:17 -06:00
meejah
e894795898 redirects don't have to be absolute 2020-04-18 01:52:17 -06:00
meejah
543a948d32 shadowed test name; reveal both tests 2020-04-18 01:52:17 -06:00
meejah
800b69047c the error-message changed 2020-04-18 01:52:17 -06:00
meejah
247fc54f8c explicit pack/unpack test 2020-04-18 01:52:17 -06:00
Sajith Sasidharan
82cd5a87fe Use DummyRequest in storage tests
Using twisted.web.server.Request causes test_new_style_classes to
fail like so:

  Traceback (most recent call last):
  Failure: testtools.testresult.real._StringException: Traceback (most recent call last):
    File ".tox/coverage/lib/python2.7/site-packages/allmydata/test/test_python2_regressions.py", line 69, in test_new_style_classes
      "Expected to find no classic classes.",
    File ".tox/coverage/lib/python2.7/site-packages/testtools/testcase.py", line 502, in assertThat
      raise mismatch_error
  testtools.matchers._impl.MismatchError: !=:
  reference = set([])
  actual    = set([<class allmydata.test.test_storage.JSONRequest at 0x7fd938040bb0>])
  : Expected to find no classic classes.

Seems that `DummyRequest` is an acceptable new style class.
2020-04-17 15:25:42 -04:00
Sajith Sasidharan
b2b7061980 Refactor storage test helpers
Rewrite `renderSynchronously()` to use `renderDeferred()`
2020-04-17 15:25:42 -04:00
Sajith Sasidharan
72b8f72080 Add docstrings to storage test helpers 2020-04-17 15:25:42 -04:00
Sajith Sasidharan
8b7ef33b3d Remove redundant render_json() method 2020-04-17 15:25:42 -04:00
Sajith Sasidharan
8c92187d92 Avoid using nevow FakeRequest in storage test.
Use twisted.web.server.Request instead, with a DummyChannel.

There's still one line of inevitable nevow now, because of code in
web/common.py; but that should be easily replaceable once we switch
that over.
2020-04-17 15:25:42 -04:00
Sajith Sasidharan
f1fe3a7588 Get rid of WebRenderingMixin in storage test 2020-04-17 15:25:42 -04:00
Sajith Sasidharan
110734daf0 Use a helper to exercise render() in storage test cases 2020-04-17 15:25:42 -04:00
Sajith Sasidharan
554c477cea Prefix member variable with "_" 2020-04-17 15:25:42 -04:00
Sajith Sasidharan
ff019e5b12 Use BeautifulSoup to check favicon in storage page 2020-04-17 15:25:42 -04:00
Sajith Sasidharan
c061f6830e Use successResultOf in renderSynchronously
Get rid of [].append trick when dealing with the deferred.
2020-04-17 15:25:42 -04:00
Sajith Sasidharan
e2fc1fc07e Move renderSynchronously to test suite 2020-04-17 15:25:42 -04:00
Sajith Sasidharan
d3ff578640 Use parentheses in test suite's import statement 2020-04-17 15:25:42 -04:00
Sajith Sasidharan
0993e61046 Drop unused ctx argument from render_space methods 2020-04-17 15:25:42 -04:00
Sajith Sasidharan
c7a63f957d Refactor so that test_util pass 2020-04-17 15:25:42 -04:00
Jean-Paul Calderone
2136ef46a1
Merge pull request #695 from tahoe-lafs/3284.remove-magic-folder
Remove magic-folder, now a stand-alone project

See https://github.com/LeastAuthority/magic-folder

Fixes: ticket:3284
2020-04-16 08:07:38 -04:00
Jean-Paul Calderone
71aa17ab0b
I assume it's utf-8 2020-04-15 09:07:23 -04:00
Jean-Paul Calderone
d4d8ce4e13
missing front matter 2020-04-15 08:55:00 -04:00
Jean-Paul Calderone
72ca4e8c53
move the imports 2020-04-15 08:54:50 -04:00