66 Commits

Author SHA1 Message Date
Itamar Turner-Trauring
70c0607789 Enable BytesWarning across all tests ported to Python 3, fixing problems that caught. 2021-02-24 14:36:15 -05:00
Jason R. Coombs
6522221166 Suppress error on SpyHandler interface. 2020-12-26 13:12:11 -05:00
Jason R. Coombs
574613a892 Merge branch 'master' into 3399.mypy 2020-12-26 12:45:09 -05:00
Jason R. Coombs
01147f4627 Add reference to ticket for ambiguous MRO 2020-12-26 12:33:22 -05:00
Jean-Paul Calderone
8e6c52b61e pre-assign a listening socket to the main tub to avoid the error 2020-12-17 10:20:22 -05:00
Itamar Turner-Trauring
0cf9be18d7 Merge remote-tracking branch 'origin/master' into 3544.furls-not-bytes-maybe 2020-12-08 16:08:12 -05:00
Jean-Paul Calderone
eddf7fd8f9 Remove the pre-generated key/certificate 2020-12-08 10:34:25 -05:00
Itamar Turner-Trauring
dcd865897e
Merge branch 'master' into 3544.furls-not-bytes-maybe 2020-12-08 10:30:00 -05:00
Jean-Paul Calderone
d83e4790c3 Let subscribed_to get initialized right 2020-12-07 13:14:00 -05:00
Jean-Paul Calderone
d415bda72a
Merge branch 'master' into 3521.test_storage_client-no-mock 2020-12-07 12:03:50 -05:00
Jean-Paul Calderone
8278fa9c62 Name the pem so it gets installed
Also use the new_tub helper that reads the pem so we don't have to generate a
new cert in this test
2020-12-06 10:39:25 -05:00
Jean-Paul Calderone
386f30fa79 Remove Mock from test_threshold_reached 2020-12-06 10:30:08 -05:00
Itamar Turner-Trauring
17ec22ab84 Even more debytification of furls. 2020-11-30 17:55:37 -05:00
Itamar Turner-Trauring
67694889da Some progress towards ripping out furls-as-bytes. 2020-11-30 17:20:39 -05:00
Jason R. Coombs
53ff740f0e Suppress type check error on NativeStorageServerWithVersion 2020-11-29 16:14:10 -05:00
Jean-Paul Calderone
a78c8056fb Get rid of the first mock use in test_threshold_reached 2020-11-24 14:51:51 -05:00
Jean-Paul Calderone
9f4be1fbf0 Speed the tests back up 2020-11-24 14:23:20 -05:00
Jean-Paul Calderone
34b5068f5c Just use a real Tub for this case 2020-11-24 14:18:04 -05:00
Jean-Paul Calderone
7b2d76c7ec Another effort to make this simultaneously Py2/Py3 friendly 2020-11-14 16:12:07 -05:00
Itamar Turner-Trauring
d407cb5005 Port to Python 3. 2020-11-04 13:19:16 -05:00
Itamar Turner-Trauring
f6eb4aef57 Work consistently across Python 2 and 3. 2020-11-03 10:41:13 -05:00
Itamar Turner-Trauring
e3a0f61dca More passing tests. 2020-11-03 10:04:24 -05:00
Itamar Turner-Trauring
92a4a5afcc Closer to more passing tests, maybe. 2020-10-30 15:04:00 -04:00
Itamar Turner-Trauring
45a2fcc3f2 Fix for Python 2. 2020-10-30 14:49:25 -04:00
Itamar Turner-Trauring
d52f6747f6 Some progress towards passing tests. 2020-10-30 14:21:16 -04:00
Jean-Paul Calderone
e7d166f262 Use hyperlink instead of a string 2019-11-26 08:33:56 -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
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
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
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
9940beaae1 Thread a _Config all the way down 2019-08-19 16:09:26 -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
311afa8a75 Test & fix supplying plugin configuration 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
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
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
0f0ca5598a at least minimally test the other implementation 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
Brian Warner
c56a0a4ba9 fix unicode handling in server_id from YAML
YAML, like JSON, is all-unicode. StorageFarmBroker.set_static_servers()
is defined to take an all-unicode dictionary (the "storage:" key from
private/servers.yaml), so the server_id keys it gets will be unicode.
NativeStorageServer is defined to accept server_ids which are bytes (at
least it is now). The tests were only passing bytes into
set_static_servers(), whereas a real launch passed unicode in, causing a
problem when NativeStorageServer tried to base32.a2b() the pubkey and
choked on the unicode it received.

This fixes set_static_servers() to convert the server_id to bytes, and
changes NativeStorageServer to assert that it gets bytes. It also fixes
the test to match real usage more closely.
2016-08-28 02:42:51 -07:00
Brian Warner
cac99569e9 factor out "Tub maker"
This adds Node._create_tub(), which knows how to make a Tub with all the
right options and connection handlers that were specified in
tahoe.cfg (the connection handlers are disabled for now, but they'll get
implemented soon).

The new Node.create_main_tub() calls it. This main Tub is used:

* to connect to the Introducer
* to host the Helper (if enabled)
* to host the Storage Server (if enabled)

Node._create_tub() is also passed into the StorageFarmBroker, which
passes it into each NativeStorageServer, to create the (separate) Tub
for each server connection. _create_tub knows about the options, and
NativeStorageServer can override the connection handlers. This way we
don't need to pass tub options or default handlers into Client,
StorageFarmBroker, or NativeStorageServer.

A number of tests create NativeStorageServer objects: these were updated
to match the new arguments. test_storage_client was simplified because
we no longer need to mock out the Tub() constructor.
2016-08-27 17:36:55 -07:00
Brian Warner
8cf53d2d12 derive permutation seed from pubkey/server_id 2016-08-27 13:08:18 -07:00
Brian Warner
663e39593b static servers: tolerate missing nickname/versions
A minimally-defined static server only specifies server_id,
anonymous-storage-FURL, and permutation-seed-base32. But the WUI Welcome
page wouldn't render (it raised an exception) without also defining
nickname and version. This allows those values to be missing.
2016-08-27 11:34:32 -07:00