Commit Graph

5382 Commits

Author SHA1 Message Date
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
Jean-Paul Calderone
6e3cd2d91c Reflect announcement changes from ticket:3119 2019-08-03 06:39:31 -04:00
Jean-Paul Calderone
f3218e6f62 basic positive path test 2019-08-03 06:39:31 -04:00
Jean-Paul Calderone
09acde41b9 refactor test_ignored_non_enabled_plugin to support more tests 2019-08-03 06:39:31 -04:00
Jean-Paul Calderone
7e9e380912 adjust to the changed parameter name 2019-08-03 06:39:31 -04:00
Jean-Paul Calderone
6b7e0dd700 add a test for the negative case 2019-08-03 06:39:31 -04:00
Jean-Paul Calderone
e8b38d8cd6 move some testing helpers into the common module 2019-08-03 06:39:27 -04:00
Jean-Paul Calderone
3b6e1e344b Don't blow up the web status if we get an unrecognized announcement 2019-08-03 06:19:01 -04:00
Jean-Paul Calderone
895cf37a84 docstrings 2019-08-03 06:19:01 -04:00
Jean-Paul Calderone
53861e2a0f Change the shape of the storage announcement(s)
Instead of generating a sequence of announcements like:

    - anonymous storage server announcement
    - plugin 1 storage server announcement
    - ...
    - plugin N storage server announcement

The client now generates a single announcement like:

    - anonymous storage server details
    - storage-options
      - plugin 1 storage server details
      - ...
      - plugin N storage server details
2019-08-03 06:19:01 -04:00
Jean-Paul Calderone
07bf8a3b8c Change this helper to reflect the fact that old announcements are irrelevant 2019-08-03 06:19:01 -04:00
Jean-Paul Calderone
624591e412 Change the tests to match against the announcement we need 2019-08-03 06:19:01 -04:00
Jean-Paul Calderone
9c240b61ac Persist the furl ourselves rather than relying on Foolscap
Going via our config abstraction here will let us change how config is
persisted more easily, later.
2019-08-03 06:19:01 -04:00
Jean-Paul Calderone
6068b6c1b2 don't reach through the tahoe-lafs config object 2019-08-03 06:19:01 -04:00
Jean-Paul Calderone
d2e16df5cc link to a ticket about implementing better missing-plugin behavior 2019-08-03 06:19:01 -04:00
Jean-Paul Calderone
251eda0b80 rename introducer_factory parameter to be private 2019-08-03 06:19:01 -04:00
Jean-Paul Calderone
8516459fa3 Python 3 syntax compatibility 2019-08-03 06:19:01 -04:00
Jean-Paul Calderone
58db131787 remove unused imports 2019-08-03 06:19:01 -04:00
Jean-Paul Calderone
e825e63590 This returned to being synchronous 2019-08-03 06:19:01 -04:00
Jean-Paul Calderone
deb3109f43 please report all errors 2019-08-03 06:19:01 -04:00
Jean-Paul Calderone
1c68157c1f verify behavior if there is a poorly behaved plugin 2019-08-03 06:19:01 -04:00
Jean-Paul Calderone
fd9ae24149 fix indentation 2019-08-03 06:19:01 -04:00
Jean-Paul Calderone
756c21c251 actually provide validating client-config-from-string function 2019-08-03 06:19:01 -04:00
Jean-Paul Calderone
23e1631259 switch from node to client for config loading
apparently clients are the things with storage
2019-08-03 06:19:01 -04:00
Jean-Paul Calderone
3719a107be Stop putting a useless client section in here
[client] is not a valid common section so this fails if there's validation
2019-08-03 06:19:01 -04:00
Jean-Paul Calderone
6cf48f7d4f Separate async initialization from _Client.__init__ 2019-08-03 06:19:01 -04:00
Jean-Paul Calderone
3bc21e1b72 Re-synchronize the fake with the real implementation 2019-08-03 06:19:01 -04:00
Jean-Paul Calderone
a6959d111c Log init_storage and its result (particularly failures) 2019-08-03 06:19:01 -04:00
Jean-Paul Calderone
7919cf205e Test the actual interface
get_storage_server is supposed to return a Deferred
2019-08-03 06:19:01 -04:00
Jean-Paul Calderone
a45e2bebfe Allow the new plugins item in the [storage] section 2019-08-03 06:19:01 -04:00
Jean-Paul Calderone
f606beb065 Test and support plugins without any configuration 2019-08-03 06:19:01 -04:00
Jean-Paul Calderone
e2982c0129 Support multiple plugins 2019-08-03 06:19:01 -04:00
Jean-Paul Calderone
646cd452b9 Add tests for announcements for plugins
And a basic implementation
2019-08-03 06:19:01 -04:00
Jean-Paul Calderone
9608404b6e Factor plugin helper behavior into its own fixture 2019-08-03 06:19:01 -04:00
Jean-Paul Calderone
25287870ee Add a tool for matching the node key in the announcement
And use it in the recently added test
2019-08-03 06:18:55 -04:00
Jean-Paul Calderone
212f96dfe7 Baseline tests for anonymous storage server announcements 2019-08-03 05:34:21 -04:00
Jean-Paul Calderone
0f0ca5598a at least minimally test the other implementation 2019-08-03 05:34:21 -04:00
Jean-Paul Calderone
87b37a7e27 be more data-type-y 2019-08-03 05:34:21 -04:00
Jean-Paul Calderone
1c6433b43b Factor details of the storage announcement out of NativeStorageClient
A separate object can be responsible for the details of each kind of announcement.
2019-08-03 05:34:21 -04:00
Jean-Paul Calderone
f19b94a43d remove unused import 2019-08-03 05:34:21 -04:00
Jean-Paul Calderone
b737c6f5c5 Use the client config helper to read/test client config 2019-08-03 05:34:21 -04:00
Jean-Paul Calderone
7e17ffb75d Also update the introducer's use of read_config 2019-08-03 05:34:21 -04:00
Jean-Paul Calderone
fb4c5cf91f Allow for dynamic configuration validation rules 2019-08-03 05:34:21 -04:00
Jean-Paul Calderone
2c49c97fcd more unicode literals 2019-08-03 05:33:01 -04:00
Jean-Paul Calderone
8a22764fb1 Combine human_name and id 2019-08-03 05:33:01 -04:00
Jean-Paul Calderone
e10a032fc3 Add the basic plugin interfaces and some documentation 2019-08-03 05:33:01 -04:00
meejah
3f9f4537b9
Merge pull request #633 from meejah/ticket3228-remote-old-js
delete ancient jquery, d3 and the thing that depends on them
2019-07-24 17:11:41 +00:00
Chris Wood
b185ee5079 Add "autobahn" to "package_imports"
This fixes PyInstaller-generated "frozen" binaries which, without
this, fail to run with "allmydata.PackagingError: no version info
for autobahn"

fixes🎫3229
2019-07-16 13:29:18 -04:00
meejah
f9d1c4b06d delete ancient jquery, d3 and the thing that depends on them 2019-07-15 19:40:31 -06:00
meejah
4b7e26ee60 unused import 2019-07-09 09:11:57 -06:00
meejah
c6d41b310a str -> bytes 2019-07-08 14:16:37 -06:00
meejah
c2c2eda52e bytes 2019-07-08 14:16:28 -06:00
meejah
6c9a3cfea1 move import 2019-07-08 14:00:39 -06:00
meejah
4be5a767fd bytes, prefixes 2019-07-08 14:00:11 -06:00
meejah
a4ed8f6372 its decryption not encryption 2019-07-08 13:59:59 -06:00
meejah
3730f1f01b fix docstrings 2019-07-08 13:59:48 -06:00
meejah
8598d98ebe better assert methods 2019-07-08 13:59:36 -06:00
meejah
ec02d47bcc rename 2019-07-08 12:49:07 -06:00
meejah
0ab149248b better docstrings 2019-07-08 12:46:30 -06:00
meejah
5644f421fe get rid of ed25519.bytes_from_* methods 2019-07-08 12:46:22 -06:00
meejah
47633fb01e unused import 2019-06-26 14:55:35 -06:00
meejah
dd55accec8 Merge branch 'master' into 3031-replace-pycryptopp 2019-06-26 14:42:43 -06:00
Jean-Paul Calderone
6d01b995d1 remove unused import 2019-06-26 12:42:53 -04:00
Jean-Paul Calderone
3c7ab91f07 Replace the monkey-patching with attributes on instances 2019-06-26 10:59:39 -04:00
Jean-Paul Calderone
23e360577f
Merge pull request #621 from tahoe-lafs/3051.handle-weird-announcements
Handle weird static server "announcements"

Fixes: ticket:3051
2019-06-26 07:57:33 -04:00
meejah
016413be46 unused import 2019-06-26 01:23:39 -06:00
meejah
56cf188c90 provide IEncryptor and IDecryptor interfaces 2019-06-26 01:21:05 -06:00
meejah
ac583ebc8d unused import 2019-06-25 23:58:39 -06:00
meejah
a22d2d8bcf constant for the padding, too 2019-06-25 22:43:33 -06:00
meejah
745805378c typo 2019-06-25 16:59:41 -06:00
meejah
8b48b3e06e better docs 2019-06-25 15:40:10 -06:00
meejah
3d2b43b688 FilePath not os.path 2019-06-25 14:35:41 -06:00
meejah
5633f3a8ff bytes 2019-06-25 14:35:25 -06:00
meejah
5ce01ad9c1 metter docstrings 2019-06-25 14:35:19 -06:00
meejah
2b0d0d4072 don't need six.text_type 2019-06-24 22:02:16 -06:00
meejah
609d5f255d more things are bytes 2019-06-24 17:00:03 -06:00
meejah
e2717245ce use aliases 2019-06-24 16:57:59 -06:00
meejah
249abbdd1f things are bytes 2019-06-24 16:57:12 -06:00
meejah
f52a6ce9bb more bytes clarification 2019-06-24 16:57:12 -06:00
meejah
238f604bf5 use decrypt aliases 2019-06-24 16:57:12 -06:00
meejah
2c5cbbb095 raise instance, not class 2019-06-24 16:57:12 -06:00
meejah
29d2e32cb0 more bytes clarification 2019-06-24 16:57:12 -06:00
meejah
e670921f56 prefixes are bytes 2019-06-24 16:57:09 -06:00
meejah
05f6b7fea0 refactor ed25519 a little; only _string variants, not _bytes of deserializers and some imports 2019-06-24 15:31:46 -06:00
meejah
e5b892d700 raise instance, not class 2019-06-24 12:29:17 -06:00
meejah
de94a0fd3e fix util, error crypto imports 2019-06-24 12:29:01 -06:00
meejah
74705ba2a5 correct remove_prefix imports 2019-06-24 12:27:31 -06:00
meejah
14a0481d71 string -> comment 2019-06-24 12:27:09 -06:00
meejah
5701bad548 a module for errors 2019-06-24 12:12:10 -06:00
meejah
58e0b27374 better docstring 2019-06-24 11:57:56 -06:00
meejah
fd2934cb79 returns bytes 2019-06-24 11:45:38 -06:00
meejah
f253235c96 the IV is bytes 2019-06-24 11:41:46 -06:00
meejah
b7990264e8 module docstring 2019-06-24 11:41:26 -06:00
meejah
d2ad803b5d add a docstring for allmydata.crypto. 2019-06-24 11:29:34 -06:00
meejah
a88b53825c move utility functions to their own module, better docs on remote_prefix 2019-06-24 11:27:15 -06:00
meejah
bf16cf4c03 fix url 2019-06-23 11:25:59 -06:00
meejah
ce27c2ee24 use public_exponent 17 to match what was in use before 2019-06-23 00:28:41 -06:00
meejah
544ad5bb59 another test 2019-06-23 00:25:14 -06:00
meejah
ec98924b45 more docstrings, more tests 2019-06-23 00:05:49 -06:00
meejah
df0153a73e
Merge pull request #615 from meejah/3041.websocket-streaming-tests
Add websocket streaming tests
(fixes🎫#3041)
2019-06-21 18:11:18 +00:00
Jean-Paul Calderone
e0a31aebf5 Sort the static storage servers for deterministic tests 2019-06-21 08:38:57 -04:00
Jean-Paul Calderone
f5fc38e8a7 remove unused locals 2019-06-21 08:17:53 -04:00
meejah
7e38198c19 fix docstrings 2019-06-18 16:04:05 -06:00
meejah
41dd143872 unused variables 2019-06-17 22:40:44 -06:00
meejah
b6cd77d547 failUnlessEqual -> assertEqual, and some comment fixups 2019-06-17 22:23:24 -06:00
meejah
9e5b6f1d0e better comment, cleanup 2019-06-17 22:16:50 -06:00
meejah
a27a5ce581 test all error-cases, and some fixups 2019-06-17 21:56:06 -06:00
meejah
802f1afde6 fix and clarify docstrings 2019-06-17 19:16:39 -06:00
meejah
a36f2a8dc7 better docstrings 2019-06-17 18:57:42 -06:00
meejah
c2fbbe4f46 add docstrings 2019-06-17 18:55:26 -06:00
meejah
d0296b9ae8 redundant 2019-06-17 17:12:22 -06:00
meejah
310fb60247 move AES to a helper-function style 2019-06-17 15:54:46 -06:00
meejah
47ccdb0177 refactor ed25519 helpers to functional style
eliminates the wrapper classes and uses some more-explicit
names throughout (e.g "sk" -> "signing_key")
2019-06-13 22:19:28 -06:00
meejah
49b7756a8b formatting, and constants-naming 2019-06-13 22:19:28 -06:00
meejah
f261db7018 whitespace 2019-06-13 22:19:28 -06:00
meejah
02bc5c1f42 codechecks fixup 2019-06-13 22:19:28 -06:00
meejah
df4671f90e refactor away from pycryptopp "helper" classes 2019-06-13 22:19:28 -06:00
heartsucker
772d4bad23 remove pycryptopp from tests 2019-06-13 22:19:28 -06:00
heartsucker
1976f99201 fix signature verification 2019-06-13 22:19:28 -06:00
heartsucker
96ba55dd5c autopep8 on hashutil to make it more readable 2019-06-13 22:19:28 -06:00
heartsucker
44b268fee6 removed pycryptopp dependency 2019-06-13 22:19:28 -06:00