Commit Graph

5578 Commits

Author SHA1 Message Date
meejah
f9e3fdfaee use % instead of format 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
355c78f0d4 irrelevant comment 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
98d8c52916 comment 2020-04-18 01:52:18 -06:00
meejah
db7939f766 irrelevant comment 2020-04-18 01:52:18 -06:00
meejah
b81589ca22 irrelevant comment 2020-04-18 01:52:18 -06:00
meejah
965fadb0df irrelevant comment 2020-04-18 01:52:18 -06:00
meejah
956d67b9b8 irrelevant comment 2020-04-18 01:52:17 -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
65ec212779 unused imports 2020-04-18 01:52:17 -06:00
meejah
757bcc5309 cleanup 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
203066e8fd better error-code 2020-04-18 01:52:17 -06:00
meejah
9732955eba spelling 2020-04-18 01:52:17 -06:00
meejah
25096715fb flake8 2020-04-18 01:52:17 -06:00
meejah
74ce166463 use twisted-web APIs, not nevow 2020-04-18 01:52:17 -06:00
meejah
044d1cfbea correct error 2020-04-18 01:52:17 -06:00
meejah
6415873f0b undo change 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
83a70bb6f3 some fixes 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
8268f764aa quote output, render GET 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
45bfe743d4 improve comment wording 2020-04-18 01:52:17 -06:00
meejah
c4f49bb377 children must be None on error 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
98005bab1f addSlash isn't a thing in twisted.web 2020-04-18 01:52:17 -06:00
meejah
a29f1bec9d doubly-quoted 2020-04-18 01:52:17 -06:00
meejah
800b69047c the error-message changed 2020-04-18 01:52:17 -06:00
meejah
effaa6500c filename goes in the dict 2020-04-18 01:52:17 -06:00
meejah
19baba226a Resource needs to be new-style 2020-04-18 01:52:17 -06:00
meejah
dc4669b5e7 fix name decoding 2020-04-18 01:52:17 -06:00
meejah
66f392f7d0 remove debug 2020-04-18 01:52:17 -06:00
meejah
410f0133ab correctly register top-level directory node page 2020-04-18 01:52:17 -06:00
meejah
921926239a Revert "fix getchild for directory"
This reverts commit 8f00f4d4ab2e7edd0ad60a6144e858ece4a4be1f.
2020-04-18 01:52:17 -06:00
meejah
247fc54f8c explicit pack/unpack test 2020-04-18 01:52:17 -06:00
meejah
b4d9bfea15 fix deep-stats results 2020-04-18 01:52:17 -06:00
meejah
7a36bdc523 delete 'move to different dir' because it also doesn't work on trunk 2020-04-18 01:52:17 -06:00
meejah
e2304326fd fix rename-form 2020-04-18 01:52:17 -06:00
meejah
d12078abe2 fix form 2020-04-18 01:52:17 -06:00
meejah
8b7e1c30ab remove debug 2020-04-18 01:52:17 -06:00
meejah
d381d3e92b better style 2020-04-18 01:52:17 -06:00
meejah
f4c8eb5e2f not required 2020-04-18 01:52:17 -06:00
meejah
71c97369f0 fix getchild for directory 2020-04-18 01:52:17 -06:00
meejah
8f32936c7a /file works 2020-04-18 01:52:17 -06:00
meejah
c2ff7e260b more ctx -> req 2020-04-18 01:52:17 -06:00
meejah
79c3f919ba cleanup 2020-04-18 01:52:17 -06:00
meejah
b51f144f87 another thing works 2020-04-18 01:52:17 -06:00
meejah
66c0c71a0d a thing works 2020-04-18 01:52:17 -06:00
meejah
ace73a9215 whitespace 2020-04-18 01:52:17 -06:00
meejah
9e0e25cbed WIP FIXME porting directory, need child_ refactor thing 2020-04-18 01:52:17 -06:00
meejah
fd4d2709a5 search-replace "n:" -> "t:" 2020-04-18 01:52:17 -06:00
Sajith Sasidharan
15131a9f71 Handle just POST requests in IncidentReporter 2020-04-17 15:44:39 -04:00
Sajith Sasidharan
a14cee5cce Remove nevow from allmydata.web.root.IncidentReporter
This change calls for an explanation:

- `RenderMixin` doesn't seem to be adding anything here, so it is
   gone.

- The web browser was unhappy without a charset in the response
  (Firefox 74 was anyway), so `content-type` header also gets a
  `charset=UTF-8`.

- Returning a Unicode string made nevow appserver unhappy, so it is
  just a `str`.  The precise error message was:

  exceptions.TypeError: ('Could not adapt', u'An incident report has been saved to logs/incidents/ in the node directory.', <InterfaceClass nevow.inevow.IResource>)

Fixes: ticket:3294
2020-04-17 15:44:39 -04: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
3e7dea7dda Wrap renderer results in tags 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
9c7357bc61 Remove an extraneous directive
`t:data` is not really a Twisted template directive.  Added my
mistake, removing now.
2020-04-17 15:25:42 -04:00
Sajith Sasidharan
bae32179bf Remove StorageStatus.renderHTTP
This was added to please the test suite. Pleased to remove it!
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
6c3256517a Use slots to render storage stats table 2020-04-17 15:25:42 -04:00
Sajith Sasidharan
0cbe2871fd Give the suite the precise string it wants 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
7625d959bc Use <t:transparent> to render node nickname and id
CI did not like the old way, but it passed in my system.  Odd.
2020-04-17 15:25:42 -04:00
Sajith Sasidharan
36a486426e Mark format_recovered as static method 2020-04-17 15:25:42 -04:00
Sajith Sasidharan
0382b1ec63 Use Unicode strings to render space 2020-04-17 15:25:42 -04:00
Sajith Sasidharan
aab940f65f Remove redundant None-checks on self.storage
When no storage is up, `storage_running()` renderer will return a big
honking `no storage server running` message, and no further renderers
will be invoked.  Therefore the extra defense is probably not
required.

(I tested this hypothesis.  The extra defense is not required, unless
there's something I have not seen.)
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
7a053ddeff Use explicit None-check on self.storage 2020-04-17 15:25:42 -04:00
Sajith Sasidharan
9b51bdf7fa Return result from renderHTTP
Bogus renderHTTP, but test failures are now down to three. We just
need to handle requests for JSON now.
2020-04-17 15:25:42 -04:00
Sajith Sasidharan
6e9a4e30d7 Add a docstring 2020-04-17 15:25:42 -04:00
Sajith Sasidharan
f22417e51b Rename function for clarity 2020-04-17 15:25:42 -04:00
Sajith Sasidharan
227d06fe64 Add docstrings to StorageStatusElement 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
b1c78244ab Use parentheses in import statement 2020-04-17 15:25:42 -04:00
Sajith Sasidharan
2df2ae92d5 Fix test_storage.WebStatus.test_no_server failure 2020-04-17 15:25:42 -04:00
Sajith Sasidharan
b14f36082c Use <t:transparent /> within table cells 2020-04-17 15:25:42 -04:00
Sajith Sasidharan
d46df30bd0 Use render_space methods to render space 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
Sajith Sasidharan
c88c97aad5 Use right syntax for twisted.web.template tags 2020-04-17 15:25:42 -04:00
Sajith Sasidharan
4e81a3a0a2 Check storage server status before using it 2020-04-17 15:25:42 -04:00
Sajith Sasidharan
c019c7e955 Second version of renderSynchronously 2020-04-17 15:25:42 -04:00
Sajith Sasidharan
d3790a4d42 Add missing flattenString import 2020-04-17 15:25:42 -04:00
Sajith Sasidharan
b29652e0f0 Add StorageStatus::renderSynchronously
Related to ticket:3247

test_storage.py wants a `StorageStatus::renderSynchronously()` method
and a `StorageStatus::renderHTTP()` method.  Let us begin with the
goofy first-cut.

Both these methods are not only wrong, but they will also not please
the test suite.  However error messages produced in CI can be shared,
and that way I can hopefully get unstuck.
2020-04-17 15:25:42 -04:00
Sajith Sasidharan
d142ccb159 Use twisted.web.template in web/storage.py
Related to ticket:3247.  Nevow usage has been removed, and generated
page looks the same as its former self, but tests are failing because
test_storage.py assumes that we're using nevow.
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
Jean-Paul Calderone
c73953d94a
Capture and report Foolscap Tub Listener creation stack on error 2020-04-14 08:40:48 -04:00
Jean-Paul Calderone
6f1f30e4bf
pyflakes cleanups 2020-02-13 12:15:09 -05:00
Jean-Paul Calderone
ef73e18f3d
Remove the greater part of the implementation 2020-02-13 10:43:50 -05:00
Jean-Paul Calderone
f032cd50d0
Merge pull request #678 from tahoe-lafs/2239.remove-tahoesvc-and-pkgresutil
Remove tahoesvc and pkgresutil

Fixes: ticket:2239
2020-02-11 13:29:46 -05:00
Sajith Sasidharan
26c7282365 Remove characteristic dependency
Fixes: ticket:3279
2020-01-27 13:44:28 -05:00
Jean-Paul Calderone
c1644734f1
Merge pull request #684 from tahoe-lafs/2098.remove-pyutil
Remove the direct pyutil dependency

Fixes: ticket:2098
2020-01-20 13:56:22 -05:00
Jean-Paul Calderone
3de23ddf9d
Merge pull request #686 from tahoe-lafs/2771.remove-channel-use
Remove `Request.channel` use

Fixes: ticket:2771
2020-01-20 11:45:24 -05:00
Jean-Paul Calderone
c4b6ca1c7d
Merge pull request #683 from tahoe-lafs/1827.remove-tahoe-rm
Remove "tahoe rm"

Fixes: ticket:1827
2020-01-20 11:09:30 -05:00
Jean-Paul Calderone
5e1c3df336
Merge pull request #677 from tahoe-lafs/2266.remove-repeatable-random
Remove repeatable random test helper

Fixes: ticket:2266
2020-01-20 10:08:16 -05:00
Jean-Paul Calderone
5dd355fbfa Stop accessing the maybe-deprecated Request.channel attribute 2020-01-17 11:45:08 -05:00
Jean-Paul Calderone
6da18ad608 Remove another test for "tahoe rm" 2020-01-17 10:00:55 -05:00
Jean-Paul Calderone
abe25cb00a Remove the mention
Also delete the dirnode benchmark which has, sadly, bitrotted to the point of
uselessness.
2020-01-17 09:59:59 -05:00
Jean-Paul Calderone
e2fb2d0f4e remove "rm" uses from test suite 2020-01-17 09:45:39 -05:00
Jean-Paul Calderone
6d83b9c1e1 remove "tahoe rm" 2020-01-17 09:14:36 -05:00
Jean-Paul Calderone
d07edff33d Update monkey-patch to follow moved code 2020-01-15 15:26:08 -05:00
Jean-Paul Calderone
595295e88d Update monkey-patches to reflect moved code 2020-01-15 15:08:33 -05:00
Jean-Paul Calderone
8a808ba5c6 update imports for moved code 2020-01-15 15:06:43 -05:00
Jean-Paul Calderone
f134f77f2e deprecate start, stop, restart, daemonize 2020-01-15 14:21:29 -05:00
Jean-Paul Calderone
173a9a5256 Factor process management scripts so "run" does not depend on "daemonize" 2020-01-15 14:19:26 -05:00
Jean-Paul Calderone
1cbe21b899 start to deprecate the daemonization-related commands 2020-01-15 13:54:01 -05:00
Jean-Paul Calderone
0004782cfc Remove the helper module 2020-01-13 15:34:34 -05:00
Jean-Paul Calderone
9c1250364f Remove the cleanup too 2020-01-13 15:34:30 -05:00
Jean-Paul Calderone
f6e7721dad Remove tahoesvc and pkgresutil 2020-01-13 15:33:21 -05:00
Jean-Paul Calderone
4ae6cc9775 Remove it 2020-01-13 15:29:27 -05:00
meejah
67bd9c0b2f refactor capability-checks 2019-12-21 16:01:23 -07:00
meejah
a21e31aed8 irrelevant comment/assignment 2019-12-21 03:57:00 -07:00
meejah
bffc2f9f2c already new-style, better docstring 2019-12-21 03:57:00 -07:00
meejah
14a39821be use hyperlink, better unicode 2019-12-21 03:57:00 -07:00
meejah
8f5e9089ca timedelta, not int 2019-12-21 03:57:00 -07:00
meejah
dfc032bca5 use beautifulsoup 2019-12-21 03:57:00 -07:00
meejah
3099b188ae check NoNetworkGrid for startup errors 2019-12-21 03:56:13 -07:00
meejah
7ccfe44be6 port manifest to twisted.web.template 2019-12-21 03:56:13 -07:00
meejah
4a73f8055c imports whitespace 2019-12-21 03:56:13 -07:00
Jean-Paul Calderone
ae2abd1b2e try making it frozen instead of fiddling with cmp 2019-12-18 15:23:07 -05:00
Jean-Paul Calderone
2037cd9be1 New-style the new class 2019-11-26 08:43:05 -05:00
Jean-Paul Calderone
e7d166f262 Use hyperlink instead of a string 2019-11-26 08:33:56 -05:00
Jean-Paul Calderone
bbc9c635b0 docstring 2019-11-26 07:49:25 -05:00
Jean-Paul Calderone
1fef619819 Add a test for persistent state and make it pass 2019-11-19 12:56:38 -05:00
Jean-Paul Calderone
8e6aeb49e0 Add some state to the test storage plugin 2019-11-19 12:56:26 -05:00
Jean-Paul Calderone
c80c753e5d Late bind storage so init_storage can run after init_web 2019-11-08 14:12:38 -05:00
Jean-Paul Calderone
c2257685c2 Merge remote-tracking branch 'origin/master' into integration/storage-economics 2019-11-08 10:42:26 -05:00
meejah
b92478f89c
Merge pull request #655 from meejah/ticket3252-port-uri-handler
3257: port uri handler
2019-11-05 05:01:08 +00:00
meejah
3b07a2873e
Merge pull request #659 from tahoe-lafs/3255.python3-porting-done-oracle
Add a Python 3 porting-done oracle to the test suite
2019-11-05 05:00:25 +00:00
Jean-Paul Calderone
ff30dbcf85 Delete test_version_no_noise
Python will write to stdout and stderr what it wants when it wants.  It is
futile to believe this can be controlled without a massively greater effort.

Also, Lucid and `distribute` are long dead.
2019-10-29 08:56:14 -04:00
Jean-Paul Calderone
d909b1ed5b Run the child process with -Wignore
This test is not equipped to say anything about what warnings are or are not
emitted.
2019-10-29 08:55:42 -04:00
Jean-Paul Calderone
a55719cdc4 Raise UnknownConfigError when a server is configured with an unknown storage plugin 2019-10-16 19:56:29 -04:00
Chris Wood
9fc697d798 Re-apply fix for frozen builds 2019-10-04 12:46:07 -04:00
Jean-Paul Calderone
8c1f536ba4 Merge remote-tracking branch 'origin/master' into integration/storage-economics 2019-10-04 12:02:00 -04:00
Chris Wood
7e20a14a2e Remove fix; temporarily break PyInstaller builds..
For the purposes of fail-testing the newly-added PyInstaller CI jobs
2019-10-04 11:59:33 -04:00
Chris Wood
710af066d2 Skip pkg_resources.get_distribution call if frozen
Fixes: ticket:3259
2019-10-03 14:07:24 -04:00
meejah
2b4b8e11ce urls are bytes in Twisted 2019-09-27 12:41:14 -06:00
meejah
27e7e5e868 invalid 2019-09-27 11:51:03 -06:00
meejah
e7043f1b03 unused 2019-09-27 11:51:03 -06:00
meejah
18e24a8008 unused 2019-09-27 11:51:03 -06:00
meejah
4a226c7633 use Twisted API, and some hypothesis tests 2019-09-27 11:51:03 -06:00
meejah
fc32d1e377 simple error-case for URIHandler.render_GET 2019-09-27 11:51:03 -06:00
meejah
3adaf5a956 simple test of URIHandler.render_GET 2019-09-27 11:51:03 -06:00
meejah
dc19e7379e validate capability before doing anything 2019-09-27 11:51:03 -06:00
meejah
119de2be8e formatting fixes 2019-09-27 11:51:03 -06:00
meejah
488e40ce86 unused import 2019-09-27 11:51:03 -06:00
meejah
da882df23b comment 2019-09-27 11:51:03 -06:00
meejah
a7c8407127 use hyperlink.URL instead of custom code 2019-09-27 11:51:03 -06:00
meejah
24faca46a9 more-correct URI 2019-09-27 11:51:03 -06:00
meejah
c507971e62 unused import 2019-09-27 11:51:03 -06:00
meejah
6195b2680b fix up ctx/req and add docstrings 2019-09-27 11:51:03 -06:00
meejah
2897b5767e do the weird redirect thing properly 2019-09-27 11:51:03 -06:00
meejah
0f6fc706ed port URIHandler to twisted.web 2019-09-27 11:51:03 -06:00
Jean-Paul Calderone
8a1fa9a41e remove unused imports 2019-09-17 11:35:37 -04:00
Jean-Paul Calderone
98b3a644da add some tests 2019-09-17 11:35:37 -04:00
hab
029695399a
Merge pull request #652 from habnabit/move-to-twt--info
Port allmydata.web.info to twisted.web.template
2019-09-17 12:22:22 +01:00
meejah
5f14297526
Merge pull request #639 from meejah/ticket3227-remove-child-attributes-nevow
Ticket3227 remove child_ attributes/method use (nevow port)
2019-08-29 18:04:40 +00:00
meejah
9050fdcea6 explicitly save refs to webish and operations (instead of using Service methods) 2019-08-24 12:31:08 -06:00
meejah
747e9af19f fixup; remove fragile root tests 2019-08-24 12:21:56 -06:00
Jean-Paul Calderone
d4b5de2e08
Merge pull request #653 from tahoe-lafs/3248.pass-config-to-get_storage_client
Pass the full _Config to IFoolscapStoragePlugin.get_storage_client

Fixes: ticket:3248
2019-08-23 09:04:23 -04:00
Jean-Paul Calderone
debefdc977
Merge pull request #648 from tahoe-lafs/3241.refactor-mutable-share-write-implementation
Refactor mutable share write implementation

Fixes: ticket:3241
2019-08-23 08:45:48 -04:00
Jean-Paul Calderone
25c476aaa8
Merge pull request #654 from tahoe-lafs/3250.synchronous-get_storage_client
Synchronous IFoolscapStoragePlugin.get_storage_client

Fixes: ticket:3250
2019-08-23 08:44:52 -04:00
Jean-Paul Calderone
8faf2838f3 Pull make_broker up to module scope since it does not need the TestCase 2019-08-23 08:14:01 -04:00
Jean-Paul Calderone
7eb17f199c Clarify this docstring 2019-08-23 08:11:38 -04:00
Jean-Paul Calderone
e62d2a5a27 In reality we cannot handle a Deferred here
... yet?  This code is invoked from an `__init__` where async is always
tricky.  Maybe we can invert the relationship someday.
2019-08-20 09:28:05 -04:00
Jean-Paul Calderone
2c9e724996
Merge pull request #650 from tahoe-lafs/3242.pass-config-object-to-storage-plugin-client-resource
Pass _Config object to storage plugin client resource

Fixes: ticket:3242
2019-08-20 09:09:34 -04:00
meejah
168bf33e1c remove comment 2019-08-20 00:18:14 -06:00
meejah
0a5aa61a70 must be new-style class (and I guess Resource isn't?) 2019-08-20 00:18:14 -06:00
meejah
ec70fa7090 fail gracefully on invalid URLs 2019-08-20 00:17:28 -06:00
meejah
a307adb7f5 there's no download timeline anymore 2019-08-20 00:17:28 -06:00
meejah
67010a9954 remove ignored html 2019-08-20 00:17:28 -06:00
meejah
0f2376ae23 more docstrings 2019-08-20 00:17:28 -06:00
meejah
5db3909478 actual str-ports string 2019-08-20 00:17:28 -06:00
meejah
ba9a4e590b remove debug 2019-08-20 00:17:28 -06:00
meejah
baa773588e comment 2019-08-20 00:17:28 -06:00
meejah
c8ba9f7004 docstrings 2019-08-20 00:17:28 -06:00
meejah
9952002a49 test docs 2019-08-20 00:17:28 -06:00
meejah
093863b1cd docs 2019-08-20 00:17:28 -06:00
meejah
3f8954be08 refactor download status to get rid of a 'def child_' 2019-08-20 00:17:28 -06:00
meejah
738641249b test accesses child_operations 2019-08-20 00:17:28 -06:00
meejah
569454b1a3 get rid of child_operations from root 2019-08-20 00:17:28 -06:00
meejah
191087ef0a cleanup 2019-08-20 00:17:28 -06:00
meejah
385df39981 get rid of .remember() / IOpHandleTable 2019-08-20 00:17:28 -06:00
meejah
217e32e385 make '/operations' work again 2019-08-20 00:17:28 -06:00
meejah
9e999d0c68 work around lack of getChild in nevow.rend.Page 2019-08-20 00:17:28 -06:00
meejah
d873a041bf remove some child_ usage 2019-08-20 00:17:28 -06:00
meejah
48cb51097f keep using Page 2019-08-20 00:17:28 -06:00
meejah
5cdf5a667a more hacky test 2019-08-20 00:17:28 -06:00
meejah
3a2182309d whitespace 2019-08-20 00:17:28 -06:00
meejah
5fa2347897 add magic-folders to test 2019-08-20 00:17:28 -06:00
meejah
32a0841c0b a basic unit-test for rendering (root page) 2019-08-20 00:17:28 -06:00
Jean-Paul Calderone
9940beaae1 Thread a _Config all the way down 2019-08-19 16:09:26 -04:00
Jean-Paul Calderone
6a9f1ac1f1 Update test plugin to reflect interface change 2019-08-19 15:11:13 -04:00
Jean-Paul Calderone
64197f4ba4 Change the interface 2019-08-19 15:09:34 -04:00
hab
77e6803f3c Add some docstrings. 2019-08-19 19:57:45 +01:00
hab
a01c375327 Port info.xhtml to twt. 2019-08-19 19:57:45 +01:00
Jean-Paul Calderone
4053b6c56f make it new-style 2019-08-19 11:26:32 -04:00
Jean-Paul Calderone
a47463e032 Pass _Config instead of a smaller dict to get_client_resource 2019-08-19 11:21:03 -04:00
Jean-Paul Calderone
21bf7fc25c Merge remote-tracking branch 'origin/master' into integration/storage-economics 2019-08-16 15:39:31 -04:00
hab
985f659afe Merge remote-tracking branch 'upstream/master' into move-to-twt--introducer 2019-08-16 17:52:05 +01:00
hab
a5dfcd0d8c Add another docstring. 2019-08-16 17:49:39 +01:00
hab
e670bb5d3b Add more docstrings; add a test hook.
In place of nevow's renderSynchronously, I think it'll be good enough
to return the Element directly so it can be flattened. It still gets
flattened with a None request, which might need to change.
2019-08-16 17:43:31 +01:00
hab
e2c2c30574 Add more docstrings. 2019-08-16 17:36:48 +01:00
hab
4e6ff4c7c7 Style fixups; be explicit about literals. 2019-08-16 16:59:15 +01:00
Jean-Paul Calderone
de8199d3b0 Improve the behavior of get_slot_leases when no shares exist 2019-08-15 11:08:04 -04:00
Jean-Paul Calderone
f1c817e3ab
Merge pull request #647 from tahoe-lafs/3240.run-sftp-test-suite
Run the SFTP test suite again

Fixes: ticket:3240
2019-08-15 08:01:05 -04:00
hab
46cc5ab8ed Remove unused imports. 2019-08-14 20:35:15 +01:00
hab
258dde98ed Correct the documentation for these new classes.
The old documentation was copy-pasted or didn't exist.

Also, I forgot that tag() doesn't copy a tag, even if as written this
_did_ work for my purposes.
2019-08-14 20:25:06 +01:00
hab
8ce18541c6 Tidy up introweb.
Fix imports; make all parameter names the same; use " for string
literals.
2019-08-14 20:24:35 +01:00
hab
e2aba7f4bb Use beautifulsoup4+html5lib for web tests.
Assertions about the rendered template will be easier to write and
don't rely on perfect substring matches.
2019-08-14 19:45:16 +01:00
hab
b6d9d58449 Remove all nevow from introweb.
These were the last references to it, and I think it's still working
fine without. I'm not _entirely_ positive but I think t.w.Static's
File has caught up to the features that were added to nevow's File.
2019-08-14 19:05:37 +01:00
hab
be735208a3 Kludge JSON/multi-format support back in.
I need to fix these docstrings but this is the right idea at
least. Maybe MultiFormatResource could use a name less easily confused
with its predecessor MultiFormatPage.
2019-08-14 19:05:37 +01:00
hab
4e8e35a7d6 Sequence headers are always shown.
I wasn't sure if that was the case, but I've checked nevow now.
2019-08-14 19:05:37 +01:00
hab
c96de2c4ed Remove unused methods. 2019-08-14 19:05:36 +01:00
hab
ae1f41af98 Preliminary port of introweb to t.w.template.
It doesn't do JSON yet, so this is more of a proof of a concept than
anything usable yet.
2019-08-14 19:05:36 +01:00
Jean-Paul Calderone
fce9657ce3 it doesn't matter if any writes happen, only if the test vectors pass 2019-08-14 13:03:58 -04:00
Jean-Paul Calderone
bba8af6be1 note in the docstring about mutable shares 2019-08-14 12:29:26 -04:00
Jean-Paul Calderone
b3741ed3b5 Factor all of the logic into a helper with a flag controlling leases 2019-08-14 12:28:05 -04:00
Jean-Paul Calderone
6d414b0794 docstrings 2019-08-14 11:54:03 -04:00
Jean-Paul Calderone
74cb121b49 Add a test for uncovered remove-not-present-share case
Also fix the implementation to not blow up if the bucket for such a share
never existed.
2019-08-14 11:44:12 -04:00
Jean-Paul Calderone
42f6a5609f Use the better variable name 2019-08-14 09:23:11 -04:00
Jean-Paul Calderone
dcc8f93b4e Refactor remote_slot_testv_and_readv_and_writev into some bite-sized pieces 2019-08-14 09:18:24 -04:00
Jean-Paul Calderone
0723a2f4d2
Merge pull request #645 from tahoe-lafs/3239.python2-new-style-regression-test
Fix the new-style class regression test

Fixes: ticket:3239
2019-08-14 09:08:35 -04:00
Jean-Paul Calderone
f435b54a8a Make this test suite contingent on the availability of Conch 2019-08-14 09:03:36 -04:00
Jean-Paul Calderone
36521d2d50 Some more Windows exclusions. 2019-08-14 08:16:34 -04:00
Jean-Paul Calderone
9231638d89 Add a couple more platform-specific exceptions 2019-08-13 19:07:44 -04:00
Jean-Paul Calderone
f5e2365be9 This no longer matters.
The requirements are in setup.py and they're only parsed by setuptools.
2019-08-13 18:57:50 -04:00
Jean-Paul Calderone
5ddb3a4aaf factor out the repeated call 2019-08-13 18:56:52 -04:00
Jean-Paul Calderone
e2ec4d3fa4 Get rid of _auto_deps.{install_requires,setup_requires} 2019-08-13 18:54:16 -04:00
Jean-Paul Calderone
66c7ff7383 use pkg_resources instead of _auto_deps.install_requires 2019-08-13 18:54:00 -04:00
Jean-Paul Calderone
3d2d61f853 Merge remote-tracking branch 'origin/master' into 3239.python2-new-style-regression-test 2019-08-13 18:27:23 -04:00
Jean-Paul Calderone
097690caa8 Remove prints 2019-08-13 18:26:15 -04:00
Jean-Paul Calderone
b7e3633056 Fix a lot of classic classes in Tahoe-LAFS 2019-08-13 16:55:40 -04:00
Jean-Paul Calderone
43e19e6e51 Fix the test to really assert what it means to 2019-08-13 16:55:25 -04:00
Jean-Paul Calderone
a8a9c85e5e Skip this pending fixes elsewhere 2019-08-13 15:43:03 -04:00
Jean-Paul Calderone
d69cde293a Revert my changes, this is a much bigger job. 2019-08-13 15:38:33 -04:00
Jean-Paul Calderone
132cc4605d Only consider classes defined in the module we're looking at.
Classes can lie about their __module__, of course, but I hope none of Tahoe's
do.
2019-08-13 15:32:09 -04:00
Jean-Paul Calderone
b1c7556239 importPackages only fixes the problem for "packages"
So just call load on every module before trying to iterate its attributes.
2019-08-13 15:19:05 -04:00
Jean-Paul Calderone
13409a2449 Move the remaining package checking machinery to its own module. 2019-08-13 15:11:01 -04:00
Jean-Paul Calderone
2df3f9805b Remove another unused piece of support code. 2019-08-13 14:16:38 -04:00
Jean-Paul Calderone
6623ed3e4b Remove import-time dependency version checks. 2019-08-13 14:10:36 -04:00
Jean-Paul Calderone
8876cab1dd Remove transitive dependencies. 2019-08-13 13:53:49 -04:00
meejah
eb0a582d1c add a --helper command-line option to 'tahoe create-node' 2019-08-08 17:41:57 -06:00
meejah
0f6002b935 raise not except 2019-08-07 14:08:23 -06:00
meejah
358f0c9ead error if --coverage but no coverage package 2019-08-07 13:59:40 -06:00
meejah
3b3626244e cleanup 2019-08-07 12:39:29 -06:00
meejah
8e4b05214a add --coverage for integration tests 2019-08-06 16:47:43 -06:00
Jean-Paul Calderone
e66ffacc9e a docstring for the matcher's match method 2019-08-03 06:39:31 -04:00
Jean-Paul Calderone
21d735ece9 whitespace more conforming to PEP8 2019-08-03 06:39:31 -04:00
Jean-Paul Calderone
3152a35618 Some additional documentation 2019-08-03 06:39:31 -04:00
Jean-Paul Calderone
d69de15664 implement the feature
improve the test slightly, too, to verify the configuration supplied to the
plugin is as expected.
2019-08-03 06:39:31 -04:00
Jean-Paul Calderone
326e5829b0 Add a basic test for the existence of any plugin-supplied resource 2019-08-03 06:39:31 -04:00
Jean-Paul Calderone
375f917607 Be explicit that we expect to be operating on bytes here 2019-08-03 06:39:31 -04:00
Jean-Paul Calderone
9842447a07 Don't start or announce anonymous access if config says not to 2019-08-03 06:39:31 -04:00
Jean-Paul Calderone
6fd27097a9 Factor out some repetition of this dummy value 2019-08-03 06:39:31 -04:00
Jean-Paul Calderone
e0157ab174 Give me a tool to match announcements w/o anonymous storage furl 2019-08-03 06:39:31 -04:00
Jean-Paul Calderone
853cf62530 Allow [storage]anonymous through the validator
And provide a helpful accessor for reading it
2019-08-03 06:39:31 -04:00
Jean-Paul Calderone
311afa8a75 Test & fix supplying plugin configuration 2019-08-03 06:39:31 -04:00
Jean-Paul Calderone
57160f65c6 Pass get_rref in to get_storage_client
plugins don't otherwise have a way to talk to the server.
2019-08-03 06:39:31 -04:00
Jean-Paul Calderone
2616c66a49 Fix confusion between IStorageServer and the thing above it
IStorageServer is what uses a connection.  You need a thing above it to _get_
a connection.
2019-08-03 06:39:31 -04:00
Jean-Paul Calderone
59546944ce Factor duplicate furl value out and add it where needed 2019-08-03 06:39:31 -04:00
Jean-Paul Calderone
9743a1ab4e docstring 2019-08-03 06:39:31 -04:00
Jean-Paul Calderone
bee3ee8ff1 docstrings 2019-08-03 06:39:31 -04:00
Jean-Paul Calderone
11418a9f87 Fix test_add_rref users by making them supply coherent values
... of the right type
2019-08-03 06:39:31 -04:00
Jean-Paul Calderone
166c5ab53f there is only a NativeStorageServer
though it is used by the client
2019-08-03 06:39:31 -04:00
Jean-Paul Calderone
c752fc76f1 pass the new config to StorageFarmBroker 2019-08-03 06:39:31 -04:00
Jean-Paul Calderone
48b8bd6eb0 pass config down and use it to make the client plugin 2019-08-03 06:39:31 -04:00
Jean-Paul Calderone
3c3ebc368a note about some logging we should do 2019-08-03 06:39:31 -04:00
Jean-Paul Calderone
2e0e9f0cad remove duplication of NativeStorageServer instantiation 2019-08-03 06:39:31 -04:00
Jean-Paul Calderone
bbd1c706e4 teach StorageConfigClient to load storage client plugins 2019-08-03 06:39:31 -04:00
Jean-Paul Calderone
b5a2c70a4a create a StorageClientConfig object
Make it easier to pass more storage configuration down into StorageFarmBroker
and beyond
2019-08-03 06:39:31 -04:00