Commit Graph

8767 Commits

Author SHA1 Message Date
Itamar Turner-Trauring
d1deda5fdd Unit tests for _WriteBuffer. 2022-11-23 10:09:53 -05:00
Itamar Turner-Trauring
7f1d7d4f46 Better explanation. 2022-11-23 09:53:07 -05:00
Itamar Turner-Trauring
d86d578034 Refactor to make core data structure easier to test in isolation. 2022-11-22 15:17:56 -05:00
Itamar Turner-Trauring
f638aec0af Refactor to use BytesIO. 2022-11-22 14:22:54 -05:00
Itamar Turner-Trauring
a4787ca45e Batch writes much more aggressively. 2022-11-22 14:12:14 -05:00
Itamar Turner-Trauring
c80469b50b Handle the Windows waker too. 2022-11-22 11:55:56 -05:00
Itamar Turner-Trauring
3a613aee70 Try a different approach to timeouts: dynamic, instead of hardcoded. 2022-11-21 12:24:50 -05:00
Fon E. Noel NFEBE
1d85a2c5cf Refactor more test_storage.py classes
As a follow up to commit fbc8baa238
this refactor continues to remove deprecated methods and ensures
test classes either extend `SyncTestCase` or `AsyncTestCase`

Classes refactored:

- `MutableServer`
- `MDMFProxies`
- `Stats`
- `MutableShareFileTests`

Signed-off-by: Fon E. Noel NFEBE <fenn25.fn@gmail.com>
2022-11-20 15:38:08 +01:00
Fon E. Noel NFEBE
4c18890e84 Merge branch 'master' into 3917-refactor-test-storage-py 2022-11-19 23:35:59 +01:00
Itamar Turner-Trauring
8cfdae2ab4 sigh 2022-11-18 15:26:02 -05:00
Itamar Turner-Trauring
aeaced848d Merge remote-tracking branch 'origin/master' into 3940-http-timeouts 2022-11-18 15:25:44 -05:00
Itamar Turner-Trauring
4c0c75a034 Fix DelayedCall leak in tests. 2022-11-18 13:56:54 -05:00
Itamar Turner-Trauring
9b21f1da90 Increase how many statuses are stored. 2022-11-17 11:35:10 -05:00
Itamar Turner-Trauring
d182a2f186 Add the delay to appropriate test. 2022-11-17 11:01:12 -05:00
Itamar Turner-Trauring
097d918a24 Sigh 2022-11-16 13:37:50 -05:00
Itamar Turner-Trauring
3531737347 Make timeouts less aggressive, CI machines are slow? 2022-11-16 10:36:11 -05:00
Itamar Turner-Trauring
2ab172ffca Try to set more aggressive timeouts when testing. 2022-11-16 10:26:29 -05:00
Itamar Turner-Trauring
9f5f287473 Nope, not helpful. 2022-11-16 09:57:39 -05:00
Itamar Turner-Trauring
a20943e10c As an experiment, see if this fixes failing CI. 2022-11-16 09:33:01 -05:00
Itamar Turner-Trauring
2a5e8e5971 Better cleanup. 2022-11-15 15:05:27 -05:00
Itamar Turner-Trauring
30a9877236 Merge branch '3783-storage-client-http' into 3940-http-timeouts 2022-11-15 14:38:48 -05:00
Itamar Turner-Trauring
f3fc426830 Switch to [storage] force_foolscap. 2022-11-15 14:36:14 -05:00
Itamar Turner-Trauring
fb52b4d302 Delete some garbage. 2022-11-15 14:22:30 -05:00
Itamar Turner-Trauring
8e4ac69032 Stop test mode when done. 2022-11-15 14:21:31 -05:00
Itamar Turner-Trauring
4aeb62b66c Use a constant. 2022-11-15 14:16:41 -05:00
Itamar Turner-Trauring
d700163aec Remove no-longer-relevant comment. 2022-11-15 14:14:29 -05:00
Itamar Turner-Trauring
6c80ad5290 Not necessary. 2022-11-15 14:13:50 -05:00
Itamar Turner-Trauring
d1287df629 The short timeout should be specific to the storage client's needs. 2022-11-15 14:02:19 -05:00
meejah
039c1d8037
Update src/allmydata/grid_manager.py
Co-authored-by: Jean-Paul Calderone <exarkun@twistedmatrix.com>
2022-11-09 10:52:42 -07:00
meejah
b2431f3a89
Update src/allmydata/cli/grid_manager.py
Co-authored-by: Jean-Paul Calderone <exarkun@twistedmatrix.com>
2022-11-09 10:46:31 -07:00
Itamar Turner-Trauring
8d678fe3de Increase timeout. 2022-11-07 11:41:50 -05:00
Itamar Turner-Trauring
65a7945fd9 Don't need a connection timeout since we have request-level timeouts. 2022-11-07 11:39:45 -05:00
Itamar Turner-Trauring
2c911eeac1 Make sure everything is using the same clock. 2022-11-07 11:28:36 -05:00
Itamar Turner-Trauring
f8b9607fc2 Finish up limited_content() timeout code. 2022-11-07 11:26:11 -05:00
Itamar Turner-Trauring
ce59ddc1ea Merge branch '3783-storage-client-http' into 3940-http-timeouts 2022-11-07 11:20:54 -05:00
Itamar Turner-Trauring
c4772482ef WIP 2022-11-07 11:19:00 -05:00
Itamar Turner-Trauring
414b463556 Use built-in treq timeout feature. 2022-11-07 09:23:04 -05:00
Itamar Turner-Trauring
1e50e96e24 Update to new test API. 2022-11-03 15:04:41 -04:00
Itamar Turner-Trauring
8bebb09edd Less test-specific way to make test_rref pass. 2022-11-03 14:38:59 -04:00
Itamar Turner-Trauring
262d9d85b9 Switch to using persistent connections in tests too. 2022-11-03 14:32:43 -04:00
Itamar Turner-Trauring
e05136c238 Less aggressive timeout, to try to make tests pass on CI. 2022-11-02 13:13:21 -04:00
Itamar Turner-Trauring
48ae729c0d Don't reuse basedir across tests. 2022-11-02 10:18:23 -04:00
Itamar Turner-Trauring
73271afa65 Merge remote-tracking branch 'origin/master' into 3783-storage-client-http 2022-11-02 09:23:29 -04:00
Itamar Turner-Trauring
1a3e3a86c3 Require latest pycddl, and work around a regression. 2022-10-14 11:27:04 -04:00
Itamar Turner-Trauring
0febc87456 Don't include reactor in comparison. 2022-10-14 10:03:06 -04:00
Itamar Turner-Trauring
e409262e86 Fix some flakes. 2022-10-14 09:50:07 -04:00
Itamar Turner-Trauring
42d3843343 Run test_system with both Foolscap and HTTP storage protocols, plus some
resulting cleanups.
2022-10-14 09:16:59 -04:00
Itamar Turner-Trauring
0f31e3cd4b Leave HTTP off by default for now. 2022-10-13 14:41:59 -04:00
Itamar Turner-Trauring
b80a215ae1 test_rref passes now. 2022-10-13 14:15:10 -04:00
Itamar Turner-Trauring
0d23237b11 Some progress towards passing test_rref. 2022-10-13 13:44:49 -04:00
Itamar Turner-Trauring
435df4923f
Merge branch 'master' into 2916.grid-manager-proposal.6 2022-10-05 10:18:09 -04:00
Itamar Turner-Trauring
8b0ddf406e Make HTTP and Foolscap match in another edge case. 2022-10-04 11:17:19 -04:00
Itamar Turner-Trauring
8190eea489 Fix bug introduced in previous commit. 2022-10-04 11:02:36 -04:00
Itamar Turner-Trauring
ea1d248611 These objects get stored in a context where they need to be hashed, sometimes. 2022-10-04 10:51:43 -04:00
Itamar Turner-Trauring
1294baa82e LoopingCall may already have been stopped. 2022-10-04 10:30:27 -04:00
Itamar Turner-Trauring
fd07c092ed close() is called while writes are still happening. 2022-10-04 10:30:07 -04:00
Itamar Turner-Trauring
8b2884cf3a Make changes work again. 2022-10-04 09:44:30 -04:00
Itamar Turner-Trauring
1ea716c8bf Merge branch '3902-listen-storage-http' into 3783-storage-client-http 2022-10-04 09:22:49 -04:00
Itamar Turner-Trauring
c13be0c89b Try harder to cleanup. 2022-10-04 09:19:48 -04:00
Itamar Turner-Trauring
58247799c1 Fix remaining references to refactored-out-of-existence API. 2022-10-03 11:27:19 -04:00
Itamar Turner-Trauring
3034f35c7b Document type expectations. 2022-10-03 11:24:53 -04:00
Itamar Turner-Trauring
5d53cd4a17 Nicer API. 2022-10-03 11:16:30 -04:00
Itamar Turner-Trauring
d918135a0d Use parser instead of ad-hoc parser. 2022-10-03 11:10:36 -04:00
Itamar Turner-Trauring
d753bb58da Better type for storage_nurls. 2022-10-03 11:05:56 -04:00
Itamar Turner-Trauring
b0fb72e379 Link to design issue. 2022-10-03 11:02:48 -04:00
Itamar Turner-Trauring
8179ea7738 Merge remote-tracking branch 'origin/master' into 3902-listen-storage-http 2022-10-03 10:56:17 -04:00
Itamar Turner-Trauring
bd74c3d971
Merge pull request #1216 from tahoe-lafs/3904-http-storage-holistic
Address various http storage holistic review comments
2022-10-03 09:13:30 -04:00
meejah
d2dd211420
Merge pull request #1219 from meejah/3926.pid-time-reactor
3926: upgrade PID files to contain start-time, do file-locking and exist on Windows
2022-09-28 11:02:46 -06:00
meejah
bef71978b6 don't need start_new_session 2022-09-28 10:15:03 -06:00
meejah
ca522a5293 sys.argv not inline 2022-09-28 10:14:59 -06:00
meejah
8991509f8c blackslashes.... 2022-09-25 00:16:40 -06:00
meejah
f2cfd96b5e typo, longer timeout 2022-09-23 01:04:58 -06:00
meejah
7fdeb8797e hardcoding bad 2022-09-23 00:26:39 -06:00
meejah
62b92585c6 simplify 2022-09-22 23:57:19 -06:00
meejah
a182a25079 backslashes 2022-09-22 21:43:20 -06:00
meejah
8ebe331c35 maybe a newline helps 2022-09-22 00:11:20 -06:00
meejah
4f5a1ac372 naming? 2022-09-21 23:36:23 -06:00
meejah
8d8b0e6f01 cleanup 2022-09-21 20:40:25 -06:00
meejah
fedea96964 less state 2022-09-21 20:26:14 -06:00
meejah
8474ecf83d typo 2022-09-21 20:15:07 -06:00
meejah
930f4029f3 properly write pid, create-time 2022-09-21 20:07:46 -06:00
meejah
0a09d23525 more docstring 2022-09-21 19:29:40 -06:00
meejah
e111694b3e get rid of find_process= 2022-09-21 19:28:09 -06:00
meejah
56775dde19 refactor: parsing in a function 2022-09-21 19:05:30 -06:00
meejah
ea39e4ca69 docstring 2022-09-21 19:01:28 -06:00
meejah
5973196931 refactor: use filelock and test it 2022-09-21 19:00:27 -06:00
meejah
1f29cc9c29 windows special 2022-09-20 14:50:46 -06:00
meejah
77bc83d341 incorrectly removed 2022-09-20 14:45:19 -06:00
meejah
0eeb11c9cd after shutdown 2022-09-20 14:44:51 -06:00
meejah
6db1476dac comment typo 2022-09-20 14:44:21 -06:00
meejah
81c8e1c57b windows is special 2022-09-20 14:24:02 -06:00
Itamar Turner-Trauring
4b2725df00 Try to prevent leaking timeouts. 2022-09-20 10:09:43 -04:00
Itamar Turner-Trauring
3b3ed9db2b Merge remote-tracking branch 'origin/master' into 3902-listen-storage-http 2022-09-19 10:07:00 -04:00
meejah
fe80126e3f fixups 2022-09-18 22:39:25 -06:00
meejah
254a994eb5 flake8 2022-09-17 16:41:17 -06:00
meejah
8b2cb79070 cleanup via reactor 2022-09-17 16:38:25 -06:00
meejah
aef2e96139 refactor: dispatch with our reactor, pass to tahoe_run 2022-09-17 16:38:24 -06:00
meejah
114d5e1ed8 pidfile on windows now 2022-09-17 16:37:33 -06:00
meejah
228bbbc2fe new pid-file 2022-09-17 16:37:33 -06:00
meejah
82c72ddede cleanup 2022-09-17 16:37:30 -06:00
meejah
642b604753 use stdin-closing for pidfile cleanup too 2022-09-17 16:36:55 -06:00
meejah
6048d1d9a9 in case hypothesis finds the magic 2022-09-17 16:36:26 -06:00
meejah
0e0ebf6687 more testing 2022-09-17 16:36:26 -06:00
meejah
cad162bb8f should have pid-file on windows too, now 2022-09-17 16:36:26 -06:00
meejah
3bfb60c6f4 back to context-manager, simplify 2022-09-17 16:36:25 -06:00
meejah
fb532a71ef own pid-file checks 2022-09-17 16:31:49 -06:00
Itamar Turner-Trauring
444bc724c5 A better approach to MAX_UEB_SIZE: just delete the code since it's not used in practice. 2022-09-16 10:38:29 -04:00
Itamar Turner-Trauring
4a573ede34 Download the actual data we need, instead of relying on bad reading-beyond-the-end semantics. 2022-09-15 11:29:32 -04:00
Itamar Turner-Trauring
b1aa93e022 Switch prefix. 2022-09-15 10:34:59 -04:00
Itamar Turner-Trauring
8d5f08771a Minimal check on parameters' contents. 2022-09-15 09:45:46 -04:00
Itamar Turner-Trauring
373a532829 Detect corrupted UEB length more consistently. 2022-09-15 09:36:56 -04:00
Fon E. Noel NFEBE
fbc8baa238 Refactor Server class in test_storage.py
As a follow up to commit: 48283ea6f8
this refactor adds better methods and cleans up the test to be
consistent with methods that used in classes that extend the `AsyncTestCase`.

Signed-off-by: Fon E. Noel NFEBE <fenn25.fn@gmail.com>
2022-09-14 22:55:34 +01:00
meejah
1058e50c50 close properly 2022-09-08 16:30:30 -06:00
Itamar Turner-Trauring
c82bb5f21c Use a more meaningful constant. 2022-09-08 13:44:22 -04:00
Itamar Turner-Trauring
9975fddd88 Get rid of garbage. 2022-09-08 13:42:19 -04:00
Itamar Turner-Trauring
b72b51d22d Merge remote-tracking branch 'origin/master' into 3915-immutable-size 2022-09-08 13:41:46 -04:00
Fon E. Noel NFEBE
48283ea6f8 Refactor test_storage.py
There are base test classes namely `SyncTestCase` and
`AsyncTestCase` which we would like all test classes in
this code base to extend.

This commit extends the listed classes in test_storage.py
to extend the above mentioned base classes:

  * UtilTests
  * BucketProxy
  * Server

Signed-off-by: Fon E. Noel NFEBE <fenn25.fn@gmail.com>
2022-09-07 22:36:01 +01:00
meejah
711f6d39e7 missing proto 2022-09-01 22:29:19 -06:00
meejah
decb36a8f6 refactor for Windows testing 2022-09-01 22:20:07 -06:00
meejah
00c785ec76 debug windows 2022-09-01 21:47:28 -06:00
meejah
768829e993 more robust 2022-09-01 21:22:45 -06:00
meejah
488a04cb9b exit when stdin closes 2022-09-01 17:42:06 -06:00
Itamar Turner-Trauring
bdb4aac0de Pass in the missing argument. 2022-08-17 13:15:27 -04:00
Itamar Turner-Trauring
92662d802c Don't drop a Deferred on the ground. 2022-08-17 13:15:13 -04:00
Itamar Turner-Trauring
cd81e5a01c Hint for future debugging. 2022-08-17 13:13:22 -04:00
Itamar Turner-Trauring
3464637bbb Fix unit tests. 2022-08-17 12:54:26 -04:00
Itamar Turner-Trauring
9d03c476d1 Make sure we write all the bytes we say we're sending. 2022-08-17 12:49:45 -04:00
Itamar Turner-Trauring
c9084a2a45 Disable assertion we can't, sadly, enable. 2022-08-17 12:49:26 -04:00
Fon E. Noel NFEBE
7aa97336a0 Refactor FakeWebTest & MemoryConsumerTest classes
There are base test classes namely `SyncTestCase` and
`AsyncTestCase` which we would like all test classes in
this code base to extend.

This commit refactors two test classes to use the `SyncTestCase`
with the newer assert methods.

Signed-off-by: Fon E. Noel NFEBE <fenn25.fn@gmail.com>
2022-08-17 16:03:06 +01:00
Itamar Turner-Trauring
d50c98a1e9 Calculate URI extension size upfront, instead of hand-waving with a larger value. 2022-08-16 14:34:40 -04:00
Itamar Turner-Trauring
2e5662aa91 Temporarily enforce requirement that allocated size matches actual size of an immutable. 2022-08-16 13:11:06 -04:00
Itamar Turner-Trauring
c1bcfab7f8 Repeatedly poll status of server. 2022-08-15 11:38:02 -04:00
Itamar Turner-Trauring
6d48c1ca34 Merge branch '3902-listen-storage-http' into 3783-storage-client-http 2022-08-15 10:09:31 -04:00
Itamar Turner-Trauring
555fa6e942 Merge remote-tracking branch 'origin/master' into 3902-listen-storage-http 2022-08-15 10:09:21 -04:00
Itamar Turner-Trauring
71b7e9b643 Support comma-separated multi-location hints. 2022-08-15 10:09:04 -04:00
Itamar Turner-Trauring
78b421462d Merge remote-tracking branch 'origin/master' into 3783-storage-client-http 2022-08-15 09:51:45 -04:00
Itamar Turner-Trauring
b9ac10293a Merge remote-tracking branch 'origin/master' into 2916.grid-manager-proposal.6 2022-08-15 09:51:08 -04:00
Itamar Turner-Trauring
42e818f0a7 Refer to appropriate attributes, hopefully. 2022-08-12 11:47:08 -04:00
Itamar Turner-Trauring
3fbc4d7eea Let's make this a little clearer 2022-08-12 11:45:37 -04:00
Itamar Turner-Trauring
636b8a9e2d Fix a bytes-vs-str bug. 2022-08-12 11:28:08 -04:00
Itamar Turner-Trauring
e8609ac2df test_istorageserver passes with both Foolscap and HTTP again. 2022-08-12 11:24:41 -04:00
Itamar Turner-Trauring
09d778c2cf Allow nodes to disable the HTTPS storage protocol. 2022-08-12 11:13:09 -04:00
Itamar Turner-Trauring
f671fb04a1 A lot closer to working end-to-end. 2022-08-11 16:24:33 -04:00
Itamar Turner-Trauring
9ad4e844e8 Do status change notification. 2022-08-11 16:16:17 -04:00
Itamar Turner-Trauring
94be227aaa Hopefully don't actually need that. 2022-08-11 16:15:21 -04:00
Itamar Turner-Trauring
c3b159a3fd Continue simplified sketch of HTTPNativeStorageServer. 2022-08-11 16:12:57 -04:00
Itamar Turner-Trauring
c3e4158813 Remove duplication. 2022-08-11 15:55:14 -04:00
Itamar Turner-Trauring
709f139c85 Start refactoring to enable HTTP storage client. 2022-08-11 15:51:30 -04:00
Itamar Turner-Trauring
8b3280bf31 Simplify more. 2022-07-29 10:51:17 -04:00
Itamar Turner-Trauring
d4c73f19fe A unittest for the metaclass. 2022-07-29 10:42:56 -04:00
Itamar Turner-Trauring
533d2a7ac9 Note Tor and I2P support. 2022-07-29 10:15:23 -04:00
Itamar Turner-Trauring
1cd2185be7 More cleanups. 2022-07-29 10:12:24 -04:00
Itamar Turner-Trauring
34518f9d0d Fix lints. 2022-07-29 10:01:09 -04:00
Itamar Turner-Trauring
822b652d99 Improve factoring. 2022-07-29 09:57:18 -04:00
Itamar Turner-Trauring
21bb9e50f6 Merge remote-tracking branch 'origin/master' into 3902-listen-storage-http 2022-07-29 09:45:17 -04:00
Itamar Turner-Trauring
4cc5c4d55d Merge remote-tracking branch 'origin/master' into 2916.grid-manager-proposal.6 2022-07-25 11:55:47 -04:00
Itamar Turner-Trauring
94e0568653 Actually we do need it. 2022-07-22 11:57:32 -04:00
Itamar Turner-Trauring
83f9c0788b Use more direct API. 2022-07-22 11:56:18 -04:00
Itamar Turner-Trauring
be963e2324 Docstrings. 2022-07-22 11:55:33 -04:00
Itamar Turner-Trauring
2b3a8ddeec Docstring. 2022-07-22 11:55:00 -04:00
Itamar Turner-Trauring
36b96a8776 Fix typo. 2022-07-22 11:53:28 -04:00
Itamar Turner-Trauring
f671b47a6d Fix typo. 2022-07-22 11:53:12 -04:00
Itamar Turner-Trauring
5cd9ccfc6a Slightly nicer handling for bad edge cases. 2022-07-22 11:52:56 -04:00
Itamar Turner-Trauring
981b693402 Make HTTPS protocols work with the protocol switcher magic. 2022-07-20 15:25:22 -04:00
Itamar Turner-Trauring
11f4ebc0d9 Hook up NURL generation to the new Foolscap/HTTPS protocol switch. 2022-07-20 15:12:29 -04:00
Itamar Turner-Trauring
5e0c32708b Merge remote-tracking branch 'origin/master' into 3902-listen-storage-http 2022-07-20 14:48:26 -04:00
Itamar Turner-Trauring
d85b20b62d Fix lint. 2022-07-20 12:47:18 -04:00
Itamar Turner-Trauring
da8a36fac9 Improve test coverage. 2022-07-20 12:07:46 -04:00
Itamar Turner-Trauring
69739f5f9b Handle case where requested range results in empty response. 2022-07-20 11:42:01 -04:00
Itamar Turner-Trauring
43c6af6fde More error handling for edge cases. 2022-07-20 11:28:14 -04:00
Itamar Turner-Trauring
1b8b71b306 Content-Range headers are now checked (somewhat) and the server now sends
correct headers when reading beyond the end.
2022-07-19 16:10:22 -04:00
Itamar Turner-Trauring
b3aff5c43b More efficient implementations. 2022-07-19 14:37:46 -04:00
Itamar Turner-Trauring
49dfc8445c Implementation of getting length of shares (albeit inefficiently for now). 2022-07-18 14:12:12 -04:00
Itamar Turner-Trauring
1bcca7f630 Python 3 tweaks. 2022-07-18 11:29:20 -04:00
Itamar Turner-Trauring
011b942372 Python 3 tweaks. 2022-07-18 11:26:33 -04:00
Itamar Turner-Trauring
8b0941acd2 Python 3 tweaks. 2022-07-18 11:20:46 -04:00
Itamar Turner-Trauring
07a3d1ecd6 Python 3 tweaks. 2022-07-18 11:15:03 -04:00
Itamar Turner-Trauring
6cf3bc75b6 Some Python 3 cleanups. 2022-07-18 11:09:19 -04:00
Itamar Turner-Trauring
90188ce4d1 More Python 3 tweaks. 2022-07-18 11:05:03 -04:00
Itamar Turner-Trauring
d84d366c72 Some tweaks for Python 3 and modern attrs. 2022-07-18 10:50:04 -04:00
Itamar Turner-Trauring
b4703ace93 Some tweaks for Python 3. 2022-07-18 10:35:28 -04:00
Itamar Turner-Trauring
b3ab2fdb81 Fix grid manager CLI tests. 2022-07-15 15:12:31 -04:00
Itamar Turner-Trauring
1ede0e7786 Merge remote-tracking branch 'meejah/2916.grid-manager-proposal.5' into 2916.grid-manager-proposal.6 2022-07-15 14:06:10 -04:00
Itamar Turner-Trauring
a24aefaebf There can be up to 256 shares. 2022-07-15 11:35:28 -04:00
Itamar Turner-Trauring
87932e3444 Correct type. 2022-07-06 09:50:16 -04:00
Itamar Turner-Trauring
0b5132745d A nicer interface. 2022-07-06 09:47:08 -04:00
Itamar Turner-Trauring
fd8a385d1d Reformat with black. 2022-07-06 09:46:59 -04:00
Itamar Turner-Trauring
dac0080ea2 Make sure we update remaining length, and update test to catch the edge case
this fixes.
2022-07-06 09:40:46 -04:00
Itamar Turner-Trauring
5c5556d915 More robust usage. 2022-07-06 09:38:31 -04:00
Itamar Turner-Trauring
69c4dbf2b5 Fix tests and point to future work. 2022-07-05 17:17:38 -04:00
Itamar Turner-Trauring
6e3ca256b9 Some refactoring to handle edge cases better, in progress. 2022-07-05 15:36:21 -04:00
Itamar Turner-Trauring
3270d24c45 Slight simplification. 2022-07-05 11:30:48 -04:00
Itamar Turner-Trauring
1e6864ac01 Typo. 2022-07-05 11:30:01 -04:00
Itamar Turner-Trauring
97d0ba23eb Switch to hypothesis-based test. 2022-07-05 11:21:46 -04:00
Itamar Turner-Trauring
249f431849 Use MonkeyPatch instead of MockPatch, since we're not mocking. 2022-07-05 11:14:52 -04:00
Itamar Turner-Trauring
f2acf71998 Document next steps: NURL generation. 2022-06-30 15:58:52 -04:00
Itamar Turner-Trauring
70dfc44841 Fix for 3905. 2022-06-30 15:45:30 -04:00
Itamar Turner-Trauring
3db6080f6d Make the factories a class-level attribute. 2022-06-30 15:18:22 -04:00
Itamar Turner-Trauring
1798966f03 Store the tub on the subclass, since we'll want it (or rather its Listeners) for
NURL construction.
2022-06-30 14:53:37 -04:00
Itamar Turner-Trauring
d1bdce9682 A nicer API. 2022-06-30 14:26:36 -04:00
Itamar Turner-Trauring
03c515191e Better docs. 2022-06-30 14:21:43 -04:00
Itamar Turner-Trauring
451e68795c Lints, better explanation. 2022-06-30 13:54:58 -04:00
Itamar Turner-Trauring
bee46fae93 Resource limits on the client side. 2022-06-30 13:48:33 -04:00
Itamar Turner-Trauring
ab80c0f0a1 Set some length limits on various queries lengths. 2022-06-30 13:35:30 -04:00
Itamar Turner-Trauring
0e8f2aa702 More memory usage reductions. 2022-06-29 13:58:05 -04:00
Itamar Turner-Trauring
520456bdc0 Add streaming to CBOR results. 2022-06-29 11:26:25 -04:00
Itamar Turner-Trauring
efe9575d28 Nicer testing infrastructure so you don't have to switch back and forth between
sync and async test APIs.
2022-06-29 11:25:28 -04:00
Itamar Turner-Trauring
6dd2b2d583 More streaming, with tests passing again. 2022-06-27 17:00:24 -04:00
Itamar Turner-Trauring
06eca79263 Minimal streaming implementation. 2022-06-27 14:12:17 -04:00
Itamar Turner-Trauring
bfd54dc6ea Switch to newer attrs API, for consistency across the module. 2022-06-27 11:30:49 -04:00
Itamar Turner-Trauring
1154371d22 Clarifying comments. 2022-06-23 12:51:07 -04:00
Itamar Turner-Trauring
01d8cc7ab6 Put the attribute on the correct object. 2022-06-23 12:49:07 -04:00
Itamar Turner-Trauring
eb1e48bcc3 Add a timeout. 2022-06-23 12:47:33 -04:00
Itamar Turner-Trauring
0c99a9f7b0 Make it more accurate. 2022-06-23 12:44:17 -04:00
Itamar Turner-Trauring
d70f583172 More cleanups. 2022-06-23 12:43:46 -04:00
Itamar Turner-Trauring
026d63cd6a Fix some mypy warnings. 2022-06-23 12:41:47 -04:00
Itamar Turner-Trauring
d86f8519dc Simplify implementation. 2022-06-23 12:41:01 -04:00
Itamar Turner-Trauring
04156db74e Delay Negotiation.connectionMade so we don't create unnecessary timeouts. 2022-06-23 12:32:43 -04:00
Itamar Turner-Trauring
1579530895 Add working HTTP support. 2022-06-23 07:59:43 -04:00
Itamar Turner-Trauring
c5724c1d0a Clarify. 2022-06-22 14:20:42 -04:00
Itamar Turner-Trauring
7577d1e24c Sketch of HTTP support, still untested WIP. 2022-06-22 14:19:29 -04:00
Itamar Turner-Trauring
7910867be6 It actually works(?!) now. 2022-06-22 10:23:23 -04:00
Itamar Turner-Trauring
e1daa192fb Sketch of protocol switcher experiment. 2022-06-21 17:20:08 -04:00
Itamar Turner-Trauring
d37f187c07 Lint fix. 2022-06-08 13:56:23 -04:00
Itamar Turner-Trauring
db42651355 Be more consistent and just always write to the request in read_range. 2022-06-08 13:55:47 -04:00
Itamar Turner-Trauring
00381bc24f Correction now that it does more than what it did before. 2022-06-08 13:52:45 -04:00
Itamar Turner-Trauring
c3a304e1cc Lint and mypy fixes. 2022-06-06 11:04:34 -04:00
Itamar Turner-Trauring
85774ced95 Run shared tests on mutables too, with appropriate fixes to the tests and the server. 2022-06-06 10:57:19 -04:00
Itamar Turner-Trauring
e6efb62fd1 Refactor immutable tests so they can shared with mutables. 2022-06-06 10:25:06 -04:00
Itamar Turner-Trauring
797f34aec3 More tests. 2022-06-06 09:59:12 -04:00
Itamar Turner-Trauring
3e67d2d789 More tests. 2022-06-06 09:50:36 -04:00
Itamar Turner-Trauring
f1384096fa First unit test for mutables. 2022-06-03 13:46:23 -04:00
Itamar Turner-Trauring
fd306b9a61 Share more code across mutable and immutable reads. 2022-06-01 13:54:54 -04:00
Itamar Turner-Trauring
2313195c2b Reduce duplication. 2022-05-20 11:43:42 -04:00
Itamar Turner-Trauring
63624eedec Reduce code duplication. 2022-05-20 11:33:02 -04:00
Itamar Turner-Trauring
12927d50ba Type annotation improvements. 2022-05-20 11:10:18 -04:00
Itamar Turner-Trauring
8c8ea4927f Switch to public API. 2022-05-20 11:07:55 -04:00
Itamar Turner-Trauring
d209065a6e Fix type issue, and modernize slightly. 2022-05-16 11:22:44 -04:00
Itamar Turner-Trauring
a54b443f9d It's not an immutable client anymore. 2022-05-12 09:44:30 -04:00
Itamar Turner-Trauring
f3cf13154d Setup HTTP lease APIs for immutables too. 2022-05-11 12:00:27 -04:00
Itamar Turner-Trauring
b8735c79da Fix docstring. 2022-05-11 11:50:29 -04:00
Itamar Turner-Trauring
821bac3ddf Test another lease edge case. 2022-05-11 11:50:01 -04:00
Itamar Turner-Trauring
17fc9d0064 Merge branch '3891-mutable-http-protocol-part-2' into 3893-mutable-http-protocol-part-3 2022-05-11 11:22:03 -04:00
Itamar Turner-Trauring
457db8f992 Get rid of the "no such storage index" edge case, since it's not really necessary. 2022-05-11 11:17:57 -04:00
Itamar Turner-Trauring
4b62ec082b Match Foolscap behavior for slot_readv of unknown storage index. 2022-05-11 11:11:24 -04:00
Itamar Turner-Trauring
6d412a017c Type annotation. 2022-05-11 11:00:46 -04:00
Itamar Turner-Trauring
07e16b80b5 Better name. 2022-05-11 11:00:05 -04:00
Itamar Turner-Trauring
6f5a0e43eb Implement advise_corrupt_share for mutables. 2022-05-11 10:41:36 -04:00
Itamar Turner-Trauring
b3fed56c00 Move Foolscap compatibility to a better place. 2022-05-05 12:11:09 -04:00
Itamar Turner-Trauring
2833bec80e Unit test the new storage server backend API. 2022-05-05 12:04:45 -04:00