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