Commit Graph

8228 Commits

Author SHA1 Message Date
Itamar Turner-Trauring
722f8e9598 Expand docs. 2022-03-14 11:17:06 -04:00
Itamar Turner-Trauring
b6073b11c2 Refactor to check HTTP content-type of request body. 2022-03-14 11:16:09 -04:00
Itamar Turner-Trauring
fef332754b Switch to shared utility so server can use it too. 2022-03-14 11:09:40 -04:00
Itamar Turner-Trauring
13fd3b3685 Get rid of Python 2 crud. 2022-03-14 11:01:20 -04:00
Itamar Turner-Trauring
1e108f8445 Don't use a custom parser. 2022-03-14 11:01:09 -04:00
Itamar Turner-Trauring
b8ab3dd6a7 Server handles Accept headers. 2022-03-14 10:53:22 -04:00
Itamar Turner-Trauring
e55c3e8acf Check for CBOR content-encoding header in client. 2022-03-14 10:35:39 -04:00
Itamar Turner-Trauring
5baf63219d Always use UTF-8 for corruption reports. 2022-03-10 17:41:28 -05:00
Itamar Turner-Trauring
7e25b43dba Direct unit tests for advising share is corrupt. 2022-03-10 11:28:48 -05:00
Itamar Turner-Trauring
922ee4feb1 Sketch of advise_corrupt_share support for immutables. 2022-03-10 11:09:45 -05:00
Itamar Turner-Trauring
f736683347 Finish testing and implementing lease renewal. 2022-03-09 13:35:50 -05:00
Itamar Turner-Trauring
aee0f7dc69 Sketch of lease renewal implementation. 2022-03-09 13:10:13 -05:00
Itamar Turner-Trauring
636ab017d4 Disconnection is purely a Foolscap concern. 2022-03-09 12:47:14 -05:00
Itamar Turner-Trauring
e598fbbc85 Get rid of redundant code. 2022-03-09 12:42:24 -05:00
Itamar Turner-Trauring
5d51aac0d3 Clarify. 2022-03-09 12:41:40 -05:00
Itamar Turner-Trauring
edb9eda53b Clarify. 2022-03-09 12:41:10 -05:00
Itamar Turner-Trauring
ac271cfb3d Merge remote-tracking branch 'origin/master' into 3877-immutable-storage-apis-continued 2022-03-09 11:23:02 -05:00
Itamar Turner-Trauring
86769c19bf Finish abort logic and tests. 2022-03-09 11:19:23 -05:00
Itamar Turner-Trauring
ef4f912a68 Less error-prone testing assertion, and fix a testing bug. 2022-03-09 11:11:39 -05:00
Itamar Turner-Trauring
4fc7ef7528 Basic HTTP test for aborts. 2022-03-09 10:57:05 -05:00
Itamar Turner-Trauring
f47741afb1 Correct behavior on timed out immutable uploads. 2022-03-09 10:45:21 -05:00
Itamar Turner-Trauring
92b952a5fe Authenticate writes! 2022-03-09 10:45:08 -05:00
Itamar Turner-Trauring
c642218173 Sketch of aborting uploads. 2022-03-08 10:41:56 -05:00
Itamar Turner-Trauring
5203873995 Refactor to unify data structure logic. 2022-03-08 10:13:37 -05:00
Itamar Turner-Trauring
5be7cbc171
Merge pull request #1182 from tahoe-lafs/3876-per-bucket-upload-secret
Allow per-bucket upload secret

Fixes ticket:3876
2022-03-08 10:10:48 -05:00
Itamar Turner-Trauring
7721c134f2 Change the semantics of HTTP bucket creation so that it's possible to have a
different upload secret per upload.
2022-03-07 09:28:21 -05:00
Itamar Turner-Trauring
40e5ab1661
Merge pull request #1178 from tahoe-lafs/3860-http-more-immutables
More immutable support for HTTP storage API

Fixes ticket:3860
2022-03-07 09:12:56 -05:00
Itamar Turner-Trauring
87ab56426a Validate another edge case of bad storage index. 2022-03-07 08:46:05 -05:00
Itamar Turner-Trauring
4efa65d3db Typo. 2022-03-07 08:29:26 -05:00
Itamar Turner-Trauring
60bcd5fe9f Address review comments. 2022-03-07 08:25:12 -05:00
Itamar Turner-Trauring
9f4f6668c0 Tweaks. 2022-03-07 08:21:58 -05:00
Itamar Turner-Trauring
7146cff227 Sketch of TLS listening and furl construction for the HTTP storage server. 2022-03-02 10:40:39 -05:00
Itamar Turner-Trauring
32cbc7b9df Function for getting SPKI hash. 2022-03-02 10:35:41 -05:00
Itamar Turner-Trauring
f81cd6e595 Use an option also available on PyPy3. 2022-02-23 10:57:36 -05:00
meejah
2928a480ff RSA key-size is not configurable, it's 2048bits 2022-02-16 21:46:24 -07:00
meejah
5cd95920b6 Merge branch 'master' into 3828.key-length.1 2022-02-16 21:18:50 -07:00
Itamar Turner-Trauring
5aa00abc3d Use the correct API (since direct returns break Python 2 imports) 2022-02-11 15:02:14 -05:00
Itamar Turner-Trauring
abf3048ab3 More passing HTTP IStorageServer tests. 2022-02-10 17:07:21 -05:00
Itamar Turner-Trauring
7466ee25a8 Don't send header if it makes no sense to do so. 2022-02-10 13:57:57 -05:00
Itamar Turner-Trauring
b049d4a792 Fix get_version with new API. 2022-02-10 13:52:47 -05:00
Itamar Turner-Trauring
fa2f142bc9 Another ticket. 2022-02-10 13:50:09 -05:00
Itamar Turner-Trauring
aa68be645f Return Content-Range in responses. 2022-02-10 13:48:33 -05:00
Itamar Turner-Trauring
416af7328c Support lack of Range header. 2022-02-10 13:31:09 -05:00
Itamar Turner-Trauring
7db1ddd875 Implement Range header validation. 2022-02-10 13:15:48 -05:00
Itamar Turner-Trauring
5d9e0c9bca Not found tests and implementation. 2022-02-09 13:14:27 -05:00
Itamar Turner-Trauring
45ee5e3346 Done elsewhere. 2022-02-09 13:08:34 -05:00
Itamar Turner-Trauring
bae5d58ab9 Another test. 2022-02-09 13:07:34 -05:00
Itamar Turner-Trauring
faacde4e32 Conflicting writes. 2022-02-09 12:41:32 -05:00
Itamar Turner-Trauring
8c739343f3 Reduce duplication. 2022-02-09 12:38:32 -05:00
Itamar Turner-Trauring
95d7548629 Upload to non-existent place. 2022-02-09 12:30:38 -05:00
Itamar Turner-Trauring
72bac785ee Done elsewhere. 2022-02-09 12:27:08 -05:00
Itamar Turner-Trauring
ecb1a3c5a0 Just require content-range for simplicity. 2022-02-09 12:25:47 -05:00
Itamar Turner-Trauring
d38183335e Handle bad Content-Range headers. 2022-02-08 10:46:55 -05:00
Itamar Turner-Trauring
7107a85fba Refactor client, separating low-level and high-level concerns. 2022-02-08 10:19:37 -05:00
Itamar Turner-Trauring
ce2468cdff Validate inputs automatically as part of parsing. 2022-02-04 10:35:38 -05:00
Itamar Turner-Trauring
e6f32e33bc Merge branch '3871-http-list-storage-index-shares' into 3860-http-more-immutables 2022-02-04 09:30:17 -05:00
Itamar Turner-Trauring
5e3a31166d Better explanation. 2022-02-04 09:26:58 -05:00
Itamar Turner-Trauring
7454929be0 Less code duplication. 2022-02-04 09:26:25 -05:00
Itamar Turner-Trauring
52322c25d3 Merge remote-tracking branch 'origin/master' into 3871-http-list-storage-index-shares 2022-02-04 09:19:51 -05:00
Itamar Turner-Trauring
6b3722d3f6 Avoid using possibly-private API. 2022-02-03 12:50:29 -05:00
Itamar Turner-Trauring
23c8bde9d5 Nicer cleanup. 2022-02-03 12:44:55 -05:00
Itamar Turner-Trauring
1dfc0bde36 Use better method to listen on random port. 2022-02-03 12:43:49 -05:00
Itamar Turner-Trauring
39fe48b174 More passing IStorageServer tests. 2022-02-02 12:55:41 -05:00
Itamar Turner-Trauring
bceed6e199 More bucket allocation logic. 2022-02-02 12:41:25 -05:00
Itamar Turner-Trauring
aebb5056de Don't use real reactor in these tests. 2022-02-02 11:00:16 -05:00
Itamar Turner-Trauring
70d0bd0597 Test and document what happens for non-existent storage index. 2022-02-01 10:41:12 -05:00
Itamar Turner-Trauring
35bbcad4de Merge branch '3868-istorageserver-tests-http' into 3871-http-list-storage-index-shares 2022-02-01 10:36:55 -05:00
Itamar Turner-Trauring
0fbf746e27 Skip on Python 2. 2022-02-01 10:30:27 -05:00
Itamar Turner-Trauring
48a9bf7457 Hook up more IStorageServer tests that can now pass with HTTP. 2022-02-01 10:25:13 -05:00
Itamar Turner-Trauring
c72e7b0585 Implement HTTP share listing endpoint. 2022-02-01 10:20:23 -05:00
Itamar Turner-Trauring
c2e524ddb8 Make mypy happy. 2022-02-01 09:55:13 -05:00
Itamar Turner-Trauring
5dfaa82ed2 Skip tests that don't pass. 2022-02-01 09:47:51 -05:00
Itamar Turner-Trauring
66abe5dfca First passing immutable-API-over-HTTP IStorageServer tests. 2022-01-31 12:02:52 -05:00
Itamar Turner-Trauring
ef56435578 Merge branch '3855-immutable-http-apis-part-1' into 3868-istorageserver-tests-http 2022-01-31 11:36:28 -05:00
Itamar Turner-Trauring
e672029e6d First HTTP test passes. 2022-01-31 10:49:43 -05:00
Itamar Turner-Trauring
77f6f5d176 Merge remote-tracking branch 'origin/master' into 3855-immutable-http-apis-part-1 2022-01-31 10:36:54 -05:00
Jean-Paul Calderone
640bb05a57 Merge remote-tracking branch 'origin/master' into 3788.refactor-src.test.mutable 2022-01-28 13:07:48 -05:00
Itamar Turner-Trauring
d23fdcdb8a Sketch of first IStorageServer test with HTTP server/client. 2022-01-28 12:03:17 -05:00
Itamar Turner-Trauring
2583236ad8 Fix unused import. 2022-01-25 10:56:45 -05:00
Itamar Turner-Trauring
609bd819bb Merge remote-tracking branch 'origin/master' into 3855-immutable-http-apis-part-1 2022-01-25 10:42:04 -05:00
Itamar Turner-Trauring
e1f9f7de94 Note for future improvement. 2022-01-25 10:06:23 -05:00
Itamar Turner-Trauring
0346dfea60 Note we can do this now. 2022-01-25 09:56:54 -05:00
Itamar Turner-Trauring
b64e6552a4 Fix assertion. 2022-01-24 11:30:41 -05:00
Itamar Turner-Trauring
d2e3b74098 Some progress towards upload progress result from the server. 2022-01-21 12:36:58 -05:00
Itamar Turner-Trauring
a4cb4837e6 It's a secret, compare it securely. 2022-01-21 11:43:36 -05:00
Itamar Turner-Trauring
e8e3a3e663 Expand. 2022-01-21 11:37:46 -05:00
Itamar Turner-Trauring
c4d71a4636 Use abstractions for generating headers on client, note another place we should
generate headers.
2022-01-20 13:12:25 -05:00
Itamar Turner-Trauring
65787e5603 Get rid of inlineCallbacks. 2022-01-20 12:57:52 -05:00
Itamar Turner-Trauring
4b5c71ffbc Bit more info. 2022-01-20 12:50:36 -05:00
Itamar Turner-Trauring
b952e738dd Try to clarify. 2022-01-20 12:43:01 -05:00
Itamar Turner-Trauring
2a2ab1ead7 Use a set, not a list, for share numbers. 2022-01-20 12:39:25 -05:00
Itamar Turner-Trauring
587a510b06 Note a better way to implement this. 2022-01-20 12:38:01 -05:00
Itamar Turner-Trauring
9a0a19c15a Reminder we might want to support JSON too. 2022-01-20 12:07:58 -05:00
Itamar Turner-Trauring
5fa8c78f97 Don't use reactor, since it's not necessary. 2022-01-20 12:04:20 -05:00
Itamar Turner-Trauring
f09aa8c796 Use pre-existing parser for Range and Content-Range headers. 2022-01-20 11:16:06 -05:00
Itamar Turner-Trauring
d5bac8e186 Make sure upload secret semantics are still supporting the security goals. 2022-01-20 10:56:08 -05:00
Itamar Turner-Trauring
1bf2b2ee5f Note follow-up issue. 2022-01-20 10:52:44 -05:00
Itamar Turner-Trauring
23368fc9d9 Move tests back into unittest module. 2022-01-20 10:34:09 -05:00
Itamar Turner-Trauring
406a06a508 Make sure we don't violate the Foolscap interface definition for this method. 2022-01-17 14:38:06 -05:00
Itamar Turner-Trauring
28dbdbe019 Make sure return type is consistent. 2022-01-17 14:31:29 -05:00
Itamar Turner-Trauring
7aed7dbd8a Make module import on Python 2 (so tests can pass). 2022-01-17 14:24:28 -05:00
Itamar Turner-Trauring
79cd9a3d6d Fix lint. 2022-01-17 14:22:15 -05:00
Itamar Turner-Trauring
d4ae7c89aa First end-to-end immutable upload then download test passes. 2022-01-17 14:20:40 -05:00
Itamar Turner-Trauring
25e2100219 Immutable writing now knows when it's finished. 2022-01-17 14:06:21 -05:00
Itamar Turner-Trauring
4ea6bf2381 A test and some progress to making it pass. 2022-01-15 12:59:23 -05:00
Itamar Turner-Trauring
3bed067828 Implement more of the writing logic. 2022-01-14 08:34:17 -05:00
Itamar Turner-Trauring
f5437d9be7 Some progress towards bucket allocation endpoint, and defining the protocol better. 2022-01-12 11:51:56 -05:00
Itamar Turner-Trauring
018f53105e Pass correct arguments. 2022-01-12 11:16:39 -05:00
Itamar Turner-Trauring
2bccb01be4 Fix bug wrapping endpoints. 2022-01-12 11:16:21 -05:00
Itamar Turner-Trauring
6e2aaa8391 Refactor more integration-y tests out. 2022-01-12 09:14:58 -05:00
Itamar Turner-Trauring
004e5fbc9d Get to point where we get failing HTTP response. 2022-01-11 15:47:32 -05:00
Itamar Turner-Trauring
2369de6873 Simple upload/download test for immutables. 2022-01-11 15:45:15 -05:00
Itamar Turner-Trauring
040569b47a Sketch of tests to write for basic HTTP immutable APIs. 2022-01-11 15:11:16 -05:00
Itamar Turner-Trauring
db68defe88 Sketch of basic immutable server-side logic. 2022-01-11 14:50:29 -05:00
Itamar Turner-Trauring
57405ea722 Finish sketch of minimal immutable HTTP client code. 2022-01-11 14:37:32 -05:00
meejah
db5c65e530 Merge branch 'master' into 3854.mime-parsing-bug 2022-01-07 12:16:25 -07:00
meejah
9644532916 don't depend on order 2022-01-07 11:28:55 -07:00
meejah
a49baf44b6 actually-reproduce 3852 2022-01-07 10:59:13 -07:00
meejah
11f2097591 docstring 2022-01-07 10:58:58 -07:00
meejah
983f90116b check differently, don't depend on order 2022-01-06 13:15:31 -07:00
Itamar Turner-Trauring
2864ff872d Another MIME type that needs to be handled by FieldStorage. 2022-01-06 13:34:56 -05:00
Itamar Turner-Trauring
9f5d7c6d22 Fix a bug where we did unnecessary parsing. 2022-01-06 13:09:25 -05:00
Itamar Turner-Trauring
2f94fdf372 Extra testing coverage, including reproducer for #3854. 2022-01-06 13:09:19 -05:00
Itamar Turner-Trauring
90a25d0109 Reorganize into shared file. 2022-01-06 12:36:46 -05:00
Itamar Turner-Trauring
9c20ac8e7b Client API sketch for basic immutable interactions. 2022-01-05 16:06:29 -05:00
Itamar Turner-Trauring
5f4db487f7 Sketch of required business logic. 2022-01-04 13:43:19 -05:00
meejah
5be5714bb3 fix; get rid of sorting 2021-12-22 15:32:40 -07:00
meejah
94b540215f args are bytes 2021-12-22 15:32:30 -07:00
meejah
e9aaaaccc4 test for json welcome page 2021-12-22 15:31:09 -07:00
Itamar Turner-Trauring
58a71517c1 Correct way to skip with testtools. 2021-12-22 13:16:43 -05:00
Itamar Turner-Trauring
7a0c83e71b Split up test. 2021-12-22 11:52:13 -05:00
Itamar Turner-Trauring
8b4d166a54 Use hypothesis for another test. 2021-12-22 11:44:45 -05:00
Itamar Turner-Trauring
776f19cbb2 Even more hypothesis, this time for secrets' contents. 2021-12-21 12:34:02 -05:00
Itamar Turner-Trauring
b1f4e82adf Switch to using hypothesis. 2021-12-21 11:55:16 -05:00
Itamar Turner-Trauring
2bda2a0127 Switch to using a fixture. 2021-12-21 11:10:53 -05:00
Itamar Turner-Trauring
1721865b20 No longer TODO. 2021-12-20 13:46:19 -05:00
Itamar Turner-Trauring
291b4e1896 Use more secure comparison to prevent timing-based side-channel attacks. 2021-12-20 11:17:27 -05:00
Itamar Turner-Trauring
a529ba7d5e More skipping on Python 2. 2021-12-17 09:14:09 -05:00
Itamar Turner-Trauring
81b95f3335 Ensure secret was validated. 2021-12-16 11:53:31 -05:00
Itamar Turner-Trauring
428a9d0573 Lint fix. 2021-12-16 11:47:40 -05:00
Itamar Turner-Trauring
fb0be6b894 Enforce length of lease secrets. 2021-12-16 11:46:35 -05:00
Itamar Turner-Trauring
816dc0c73f X-Tahoe-Authorization can be validated and are passed to server methods. 2021-12-16 11:42:06 -05:00
Itamar Turner-Trauring
da52a9aede Test for server-side secret handling. 2021-12-16 11:17:32 -05:00
Itamar Turner-Trauring
87fa9ac2a8 Infrastructure for sending secrets. 2021-12-16 11:17:11 -05:00
Itamar Turner-Trauring
b32374c8bc Secret header parsing. 2021-12-16 10:39:58 -05:00
Itamar Turner-Trauring
2b6e1285e7 Merge remote-tracking branch 'origin/master' into 3849-refactor-out-foolscap-in-storage-server 2021-12-09 13:37:37 -05:00
meejah
c3e574b2ee Merge remote-tracking branch 'origin/master' into release-1.17.0 2021-12-06 11:27:34 -07:00
Jean-Paul Calderone
5f6579d446 hew closer to security/master version of these lines 2021-12-06 12:52:31 -05:00
meejah
50cdd9bd96 unused 2021-12-04 17:20:10 -07:00
meejah
5bb6fbc51f merge errors 2021-12-04 10:14:31 -07:00
Itamar Turner-Trauring
c8f429c496 Merge remote-tracking branch 'origin/master' into 3849-refactor-out-foolscap-in-storage-server 2021-12-03 13:52:42 -05:00
Itamar Turner-Trauring
90f8480cf0 Make more of the unittests pass again with the StorageServer factoring. 2021-12-03 13:39:53 -05:00
Itamar Turner-Trauring
314b202914 Ignore another field which can change. 2021-12-03 12:58:12 -05:00
meejah
18891d9e77 Merge remote-tracking branch 'security/master' 2021-12-02 14:44:59 -07:00
Itamar Turner-Trauring
439e5f2998 Insofar as possible, switch to testing without the Foolscap API. 2021-12-02 10:52:03 -05:00
Itamar Turner-Trauring
8c3d61a94e Bit more backwards compatible. 2021-12-02 10:49:23 -05:00
Itamar Turner-Trauring
476c41e49e Split out Foolscap code from BucketReader/Writer. 2021-12-02 10:29:52 -05:00
Itamar Turner-Trauring
f7cb4d5c92 Hook up the new FoolscapStorageServer, and fix enough bugs, such that almost all
end-to-end and integration tests pass.
2021-12-02 10:07:14 -05:00
Itamar Turner-Trauring
6b8a42b043 Make the test more robust. 2021-12-02 09:35:37 -05:00
Jean-Paul Calderone
82099f04c4 Merge remote-tracking branch 'origin/master' into 3758.refactor.web-tests-grid-logs-root 2021-12-02 08:36:35 -05:00
meejah
4bc0df7cc1 file, not path 2021-12-02 00:14:15 -07:00
meejah
40e7be6d8d needs reason 2021-12-01 23:46:10 -07:00
meejah
e0092ededa fine, just skip tests on windows 2021-12-01 20:52:22 -07:00
Jean-Paul Calderone
8626043f61
Merge pull request #1163 from tahoe-lafs/3847.eliot-anybytes-always
Use the "any bytes" encoder even on Python 2

Fixes: ticket:3847
2021-12-01 15:47:16 -05:00
Jean-Paul Calderone
eee1f0975d note about how to clean this up later 2021-12-01 15:16:16 -05:00
Jean-Paul Calderone
90d1e90a14 rewrite the Eliot interaction tests to make expected behavior clearer
and to have explicit assertions about that behavior
2021-12-01 15:05:29 -05:00
meejah
940c6343cf consistency 2021-12-01 12:02:42 -07:00
meejah
7080ee6fc7 oops 2021-12-01 12:02:06 -07:00
meejah
25ca767095 an offering to the windows godesses 2021-12-01 11:49:52 -07:00
Itamar Turner-Trauring
f7975b9772
Merge pull request #1161 from tahoe-lafs/3843-start-http-storage-server
A start at a HTTP-based storage server and client

Fixes ticket:3843
Fixes ticket:3762
2021-12-01 10:18:36 -05:00
Itamar Turner-Trauring
50e21a9034 Split StorageServer into generic part and Foolscap part. 2021-12-01 09:55:44 -05:00
Itamar Turner-Trauring
6e1f6f68ca Merge branch '3843-start-http-storage-server' into 3849-refactor-out-foolscap-in-storage-server 2021-12-01 09:41:21 -05:00
Itamar Turner-Trauring
18a5966f1d Don't bother running HTTP server tests on Python 2, since it's going away any
day now.
2021-12-01 09:38:56 -05:00
meejah
85fa8fe32e py2/py3 glue code for json dumping 2021-11-30 23:00:59 -07:00
meejah
b47381401c flake8 2021-11-30 19:01:09 -07:00
meejah
679c464517 tests 2021-11-30 18:43:06 -07:00
meejah
fc9671a812 simplify, flake9 2021-11-30 18:25:32 -07:00
meejah
0a4bc385c5 fix tests to use migrate command 2021-11-30 18:00:58 -07:00
meejah
1b8ae8039e no auto-migrate; produce error if pickle-files exist 2021-11-30 16:01:15 -07:00
meejah
3fd1ca8acb it's an error to have pickle-format files 2021-11-30 16:00:35 -07:00
meejah
49f2489321 explicit 'migrate pickle files' command 2021-11-30 15:59:27 -07:00
Jean-Paul Calderone
c1a2964788 Merge remote-tracking branch 'origin/master' into 3527.test_create-no-mock 2021-11-30 15:06:17 -05:00
Jean-Paul Calderone
7626a02bdb remove redundant assertion 2021-11-29 13:43:27 -05:00
Jean-Paul Calderone
20e0626e42 add capture_logging that parameterizes JSON encoder 2021-11-29 13:43:27 -05:00
Jean-Paul Calderone
3eb1a5e7cb Add a MemoryLogger that prefers our encoder
and use it instead of Eliot's
2021-11-29 13:43:27 -05:00
Jean-Paul Calderone
f40da7dc27 Put the choice of JSON encoder for Eliot into its own module
and use it in a few places
2021-11-29 13:43:27 -05:00
Jean-Paul Calderone
66a0c6f3f4 add a direct test for the non-utf-8 bytestring behavior 2021-11-29 13:43:27 -05:00
Jean-Paul Calderone
c02d8cab3a change one more assertTrue to assertEquals 2021-11-29 08:56:05 -05:00
fenn-cs
118e323b9e Merge branch 'master' of github.com:tahoe-lafs/tahoe-lafs into 3788.refactor-src.test.mutable 2021-11-27 00:59:50 +01:00
fenn-cs
54c032d0d7 change assertTrue -> assertEquals for non bools
Signed-off-by: fenn-cs <fenn25.fn@gmail.com>
2021-11-27 00:59:13 +01:00
meejah
5855a30e34 add docstrings 2021-11-23 14:01:43 -07:00
meejah
b0309331a5 Merge branch 'master' into 3825.json-pickle 2021-11-23 13:53:41 -07:00
Itamar Turner-Trauring
a593095dc9 Explain why it's a conditional import. 2021-11-23 10:39:53 -05:00
Itamar Turner-Trauring
c921b153f4 A better name for the API. 2021-11-23 10:39:15 -05:00
Itamar Turner-Trauring
c341a86abd Correct the comment. 2021-11-23 10:01:03 -05:00
Jean-Paul Calderone
d1839187f1 "misplaced type annotation" 2021-11-22 08:45:10 -05:00
Jean-Paul Calderone
b92343c664 some more docstrings 2021-11-22 08:36:12 -05:00
Jean-Paul Calderone
e0c0c32c13 Merge remote-tracking branch 'remediate/master' into LFS-01-010.mutable 2021-11-22 07:59:43 -05:00
Jean-Paul Calderone
04e45f065a document compare_leases_without_timestamps 2021-11-22 07:59:01 -05:00
Itamar Turner-Trauring
4c11177387 Fix a problem with typechecking.
Using remote_write() isn't quite right given move to HTTP, but can fight that
battle another day.
2021-11-18 15:58:55 -05:00