6b7e0dd700
add a test for the negative case
2019-08-03 06:39:31 -04:00
e8b38d8cd6
move some testing helpers into the common module
2019-08-03 06:39:27 -04:00
3b6e1e344b
Don't blow up the web status if we get an unrecognized announcement
2019-08-03 06:19:01 -04:00
4133febad6
news fragment
2019-08-03 06:19:01 -04:00
895cf37a84
docstrings
2019-08-03 06:19:01 -04:00
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
07bf8a3b8c
Change this helper to reflect the fact that old announcements are irrelevant
2019-08-03 06:19:01 -04:00
624591e412
Change the tests to match against the announcement we need
2019-08-03 06:19:01 -04:00
016e18ac9c
news fragment
2019-08-03 06:19:01 -04:00
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
6068b6c1b2
don't reach through the tahoe-lafs config object
2019-08-03 06:19:01 -04:00
d2e16df5cc
link to a ticket about implementing better missing-plugin behavior
2019-08-03 06:19:01 -04:00
251eda0b80
rename introducer_factory parameter to be private
2019-08-03 06:19:01 -04:00
8516459fa3
Python 3 syntax compatibility
2019-08-03 06:19:01 -04:00
58db131787
remove unused imports
2019-08-03 06:19:01 -04:00
e825e63590
This returned to being synchronous
2019-08-03 06:19:01 -04:00
deb3109f43
please report all errors
2019-08-03 06:19:01 -04:00
1c68157c1f
verify behavior if there is a poorly behaved plugin
2019-08-03 06:19:01 -04:00
fd9ae24149
fix indentation
2019-08-03 06:19:01 -04:00
756c21c251
actually provide validating client-config-from-string function
2019-08-03 06:19:01 -04:00
23e1631259
switch from node to client for config loading
...
apparently clients are the things with storage
2019-08-03 06:19:01 -04:00
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
6cf48f7d4f
Separate async initialization from _Client.__init__
2019-08-03 06:19:01 -04:00
3bc21e1b72
Re-synchronize the fake with the real implementation
2019-08-03 06:19:01 -04:00
a6959d111c
Log init_storage and its result (particularly failures)
2019-08-03 06:19:01 -04:00
7919cf205e
Test the actual interface
...
get_storage_server is supposed to return a Deferred
2019-08-03 06:19:01 -04:00
a45e2bebfe
Allow the new plugins item in the [storage] section
2019-08-03 06:19:01 -04:00
f606beb065
Test and support plugins without any configuration
2019-08-03 06:19:01 -04:00
e2982c0129
Support multiple plugins
2019-08-03 06:19:01 -04:00
646cd452b9
Add tests for announcements for plugins
...
And a basic implementation
2019-08-03 06:19:01 -04:00
9608404b6e
Factor plugin helper behavior into its own fixture
2019-08-03 06:19:01 -04:00
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
212f96dfe7
Baseline tests for anonymous storage server announcements
2019-08-03 05:34:21 -04:00
49abfbb62a
storage server plugin configuration
2019-08-03 05:34:21 -04:00
a9687259a6
news fragment
2019-08-03 05:34:21 -04:00
0f0ca5598a
at least minimally test the other implementation
2019-08-03 05:34:21 -04:00
87b37a7e27
be more data-type-y
2019-08-03 05:34:21 -04:00
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
8060be556e
news fragment
2019-08-03 05:34:21 -04:00
f19b94a43d
remove unused import
2019-08-03 05:34:21 -04:00
b737c6f5c5
Use the client config helper to read/test client config
2019-08-03 05:34:21 -04:00
7e17ffb75d
Also update the introducer's use of read_config
2019-08-03 05:34:21 -04:00
fb4c5cf91f
Allow for dynamic configuration validation rules
2019-08-03 05:34:21 -04:00
4216bd6ed1
news fragment
2019-08-03 05:33:01 -04:00
de1b488f64
news fragment
2019-08-03 05:33:01 -04:00
2c49c97fcd
more unicode literals
2019-08-03 05:33:01 -04:00
8a22764fb1
Combine human_name and id
2019-08-03 05:33:01 -04:00
e10a032fc3
Add the basic plugin interfaces and some documentation
2019-08-03 05:33:01 -04:00
bb385d45f7
teach tox about the new --package option
2019-08-02 18:29:04 -06:00
856b3782ea
add a --package option to run-deprecations so we can restrict to our own errors
2019-08-02 18:28:36 -06:00