Commit Graph

6435 Commits

Author SHA1 Message Date
Sajith Sasidharan
e0c686bb92 Use SlotsSequenceElement to render post-repair problems 2020-06-17 21:18:14 -04:00
Sajith Sasidharan
f168dcd19c Use SlotsSequenceElement to render pre-repair problems 2020-06-17 21:18:14 -04:00
Sajith Sasidharan
c7aa789a22 Fix "class has no children attribute" error 2020-06-17 21:18:14 -04:00
Sajith Sasidharan
cfb1560d15 Render "all objects" table using SlotsSequenceElement 2020-06-17 21:18:14 -04:00
Sajith Sasidharan
3783349ea7 Add span tags to "deep check and repair results" template
Tests expect <span> tags around these numbers, let us add those.
2020-06-17 21:18:14 -04:00
Sajith Sasidharan
c4be4b566c Make TestRequest an object
Wouldn't pass PythonTwoRegressions.test_new_style_classes without
this.
2020-06-17 21:18:14 -04:00
Sajith Sasidharan
048840ac99 Stringify numbers 2020-06-17 21:18:14 -04:00
Sajith Sasidharan
c44a167a66 Remove WebRenderingMixin from WebResultsRendering 2020-06-17 21:18:14 -04:00
Sajith Sasidharan
02cd42c130 Simplify WebResultsRendering.test_literal 2020-06-17 21:18:14 -04:00
Sajith Sasidharan
77120ba70c Update tests for ResultsRenderer classes 2020-06-17 21:18:14 -04:00
Sajith Sasidharan
0d1269264a Stringify numbers in DeepCheckResultsRenderer 2020-06-17 21:18:14 -04:00
Sajith Sasidharan
7237fef630 Add property client to CheckAndRepairResultsRendererElement 2020-06-17 21:18:14 -04:00
Sajith Sasidharan
19db5fb312 Update "deep check and repair results" template 2020-06-17 21:18:14 -04:00
Sajith Sasidharan
e4efcdd925 Make DeepCheckAndRepairResultsRenderer a MultiFormatResource 2020-06-17 21:18:14 -04:00
Sajith Sasidharan
842b2b6be5 Use twisted tags in "deep check and repair results" template 2020-06-17 21:18:14 -04:00
Sajith Sasidharan
27e5ce090a Update deep check results template 2020-06-17 21:18:14 -04:00
Sajith Sasidharan
c33c0a884d Make DeepCheckResultsRenderer a MultiFormatResource 2020-06-17 21:18:14 -04:00
Sajith Sasidharan
9dcaa104c5 Use twisted tags in deep check results template 2020-06-17 21:18:14 -04:00
Sajith Sasidharan
0eea108123 Make CheckAndRepairResultsRenderer a MultiFormatResource 2020-06-17 21:18:14 -04:00
Sajith Sasidharan
d9005fcccc Use twisted tags in check and repair results template 2020-06-17 21:18:14 -04:00
Sajith Sasidharan
80e9f48551 Add line breaks in a comment 2020-06-17 21:18:14 -04:00
Sajith Sasidharan
6f1601aeeb Stringify numbers before wrapping them up in tags 2020-06-17 21:18:14 -04:00
Sajith Sasidharan
d2540b89d3 Use twisted web tags in ResultsBase 2020-06-17 21:18:14 -04:00
Sajith Sasidharan
8e37bb1ebb Make ResultsBase a base class of CheckResultsRendererElement 2020-06-17 21:18:14 -04:00
Sajith Sasidharan
fea4e516f3 Make CheckResultsRenderer a MultiFormatResource 2020-06-17 21:18:14 -04:00
Sajith Sasidharan
9d104f5893 Use twisted tags in check results template file 2020-06-17 21:18:14 -04:00
Sajith Sasidharan
cbc414725c Use "output" as format argument
Nearly everywhere else the query argument for output format is "t";
but here "t" is used for operations, and "output" is used for output
format.

The test suite will fail without this.
2020-06-17 21:18:14 -04:00
Sajith Sasidharan
c15001269f Avoid using a Python keyword as a renderer name 2020-06-17 21:18:14 -04:00
Sajith Sasidharan
3901559e34 Make LiteralCheckResultsRenderer a MultiFormatResource 2020-06-17 21:18:14 -04:00
Sajith Sasidharan
ebf23a4f0e Use twisted web tags in literal check results template 2020-06-17 21:18:14 -04:00
Sajith Sasidharan
950d111793 Use POST target paths without pre-existing query arguments
`action="."` on `/uri/URI:DIR2:$DIRCAP` will render as `/uri/`, which
is not the result we want.
2020-06-17 21:16:38 -04:00
Sajith Sasidharan
55170dcd2b Rearrange imports 2020-06-17 15:45:08 -04:00
Sajith Sasidharan
7a23c8ed6c
Merge pull request #724 from sajith/3312.webui-directory-fix
Fix for "the webapi does not allow empty pathname components"

Fixes: ticket:3312
2020-06-17 10:55:21 -04:00
meejah
6a37f32eef use attr.s 2020-06-13 17:28:28 -06:00
meejah
939f60f620 embetter docstring 2020-06-13 17:22:17 -06:00
meejah
d221787541 better docstring 2020-06-13 02:03:19 -06:00
meejah
02a543515f replciate Tahoe's behavior for replace=true/false 2020-06-13 01:55:14 -06:00
meejah
0cbdbd9ebe symbols, not magic-numbers 2020-06-13 01:14:45 -06:00
meejah
b952ef066c match query args 2020-06-13 00:46:55 -06:00
meejah
24899dae8e assert -> ValueError 2020-06-13 00:41:22 -06:00
meejah
76040b53f5 assert -> raise 2020-06-13 00:39:57 -06:00
meejah
9f6fcde2f1 more docstring 2020-06-13 00:39:12 -06:00
meejah
a38188164f comment 2020-06-12 23:08:04 -06:00
meejah
c64e78634d docstring 2020-06-12 23:06:33 -06:00
meejah
23b17ca02e cleanup, docstrings 2020-06-12 23:05:32 -06:00
meejah
e79534abe8 housekeeping 2020-06-12 23:01:02 -06:00
meejah
fa597e1735 use real parser 2020-06-12 22:57:38 -06:00
meejah
949b09ce27 actually returns CREATED for new data 2020-06-12 22:08:36 -06:00
meejah
776ee5f91c use hypothesis -- which doesn't know about Deferred, so need testtools too 2020-06-12 22:04:12 -06:00
meejah
05ea0a2fe9 copyright, header 2020-06-12 22:04:03 -06:00
meejah
318dc5092d key -> kind 2020-06-11 19:57:21 -06:00
meejah
0e5422c24b handle more inputs in test body-producer 2020-06-11 19:57:11 -06:00
meejah
36d9bf5d09 new-style classes only 2020-06-11 15:34:47 -06:00
meejah
00e7d01a1a unused imports 2020-06-11 15:34:40 -06:00
meejah
86a90084bb simple test of testing/web 2020-06-11 14:14:42 -06:00
meejah
fc2203e421 simplify tahoe web fakes 2020-06-11 13:26:09 -06:00
meejah
3e973197ac synchronous-only up/download tahoe code to keep treq.testing happy 2020-06-03 11:32:22 -06:00
Sajith Sasidharan
4fa2e6ad97 Use twisted web directives in web.operations.ReloadMixin 2020-06-02 11:56:59 -04:00
meejah
1faa81c7c4 actual usable agent 2020-06-01 09:06:46 -06:00
Sajith Sasidharan
dd14da4a55 Decode name before null check
Make the diff against master a tad bit smaller.
2020-05-29 21:48:04 -04:00
Sajith Sasidharan
dce73f7c2f Make "Refresh" link work
This seems to be a subtle difference from nevow: with `href="."`,
rendered link target will be `/uri/`, so clicking "Refresh" will
result in an error message like so: "GET /uri requires uri=".

With `href=""`, the rendered link target will be `/uri/URI:...`, which
is what we need.
2020-05-29 21:44:10 -04:00
Sajith Sasidharan
31eba00d0f Reject trailing empty path piece in URIs 2020-05-29 21:38:43 -04:00
Sajith Sasidharan
0633623ecc Reject URIs that contain empty segments 2020-05-29 21:38:43 -04:00
Sajith Sasidharan
b6e00d09f9 Render self in DirectoryNodeHandler.getChild()
We need self.render_POST() etc. to be invoked when we have a request
such as "POST /uri/URI:DIR:..."; throwing an error here is probably
not the right thing to do.
2020-05-29 09:22:15 -04:00
Sajith Sasidharan
cf4b3ba008 Correct arguments to super()
This was incidentally found when looking at some test failures:
super(type, object) is the right invocation, and not the other way
around.
2020-05-29 09:20:18 -04:00
meejah
d50ca9af55 proof-of-concept verified-fake for testing 2020-05-26 18:33:04 -06:00
Sajith Sasidharan
d3f43d31d9 Remove unused import 2020-05-23 06:17:06 -04:00
Sajith Sasidharan
93d015e468 Document status.Status 2020-05-22 22:24:09 -04:00
Sajith Sasidharan
a6e32135e8 Update status page child route handler and table renderers
Drop nevow-isms and use twisted.web's way of doing things.
2020-05-22 22:15:45 -04:00
Sajith Sasidharan
3357f4c5ce Make Status a MultiFormatResource 2020-05-22 22:12:22 -04:00
Sajith Sasidharan
81dc63b511 Use twisted template tags in status page template 2020-05-22 22:12:22 -04:00
Sajith Sasidharan
03d529c22a Remove unused import 2020-05-22 21:33:30 -04:00
Sajith Sasidharan
9520ad71eb Rearrange imports 2020-05-22 21:24:21 -04:00
Sajith Sasidharan
f8562530be Make Element the superclass of UploadResultsRendererMixin 2020-05-22 21:11:42 -04:00
Sajith Sasidharan
b0e3325d03 Move time formatter tests
UploadResultsRendererMixin no longer has render_time(); moving tests
for render_time() as tests for abbreviate_time() to a more appropriate
place.
2020-05-22 20:49:34 -04:00
Sajith Sasidharan
91f8d939f8 Avoid use of RateAndTimeMixin in UploadResultsRendererMixin 2020-05-22 20:22:59 -04:00
Sajith Sasidharan
aecd90858a Render abbreviated rate and time values 2020-05-22 19:39:32 -04:00
Sajith Sasidharan
7be1883910 Document UploadResultsPage parameter 2020-05-22 19:39:32 -04:00
Sajith Sasidharan
5fdd61b146 Document UploadStatusPage 2020-05-22 19:39:32 -04:00
Sajith Sasidharan
54ac2d224a Remove unused imports 2020-05-22 19:39:32 -04:00
Sajith Sasidharan
7a82fd671f Handle "t=upload" in UploadResultsPage POST handling 2020-05-22 19:39:32 -04:00
Sajith Sasidharan
3bfa5a5c29 Use twisted web template in UploadResultsRendererMixin 2020-05-22 19:39:32 -04:00
Sajith Sasidharan
57b1203d17 Make UploadResultsPage a MultiFormatResource 2020-05-22 19:39:32 -04:00
Sajith Sasidharan
6470718691 Use twisted template tags in upload results page template 2020-05-22 19:39:32 -04:00
Sajith Sasidharan
41300097c8 Make UploadStatusPage a MultiFormatResource 2020-05-22 19:39:32 -04:00
Sajith Sasidharan
aac8dee8a0 Use twisted template tags in upload status page template 2020-05-22 19:39:32 -04:00
Sajith Sasidharan
aec6e5a9d4 Force a CircleCI build 2020-05-18 20:05:16 -04:00
Sajith Sasidharan
c23fedbcfe Add related ticket to comment about refactoring 2020-05-18 16:56:32 -04:00
Sajith Sasidharan
0b3db59742 Add related ticket to comment about unimplemented method 2020-05-18 16:56:32 -04:00
Sajith Sasidharan
993b1e225f Use transparent tags to render values 2020-05-18 11:01:14 -04:00
Sajith Sasidharan
c5342d8ae6 Add comments about events tables 2020-05-14 16:48:43 -04:00
Sajith Sasidharan
ab4811eaa0 Move tests for abbreviate time/rate methods to utils tests
RateAndTimeMixin.render_time() is really abbreviate_time(), and
RateAndTimeMixin.render_rate() is really abbreviate_rate().  This
change moves the tests to their rightful place, and exercises them
using the right names.

We're also trying to avoid use of mixins.  RateAndTimeMixin will
eventually go.
2020-05-14 16:09:54 -04:00
Sajith Sasidharan
88e8854ad4 Wrap renderer results in tags 2020-05-14 16:09:54 -04:00
Sajith Sasidharan
68df408229 Add a note about unimplemented DownloadStatus method 2020-05-14 16:09:54 -04:00
Sajith Sasidharan
1fa77d8983 Avoid use of DownloadResultsRendererMixin 2020-05-14 16:09:54 -04:00
Sajith Sasidharan
1f1f3b5f61 Remove unused render_timeline_link()
As it turns out, nothing is using this method.
2020-05-14 16:09:54 -04:00
Sajith Sasidharan
f3edc8a48c Add a note about rendering download events tables 2020-05-14 16:09:54 -04:00
Sajith Sasidharan
b02cfa5bbe Use more descriptive variable names 2020-05-14 16:09:54 -04:00
Sajith Sasidharan
7e02502268 Add comments to DownloadStatusPage 2020-05-14 16:09:54 -04:00
Sajith Sasidharan
e0241655e5 Update results renderer 2020-05-14 16:09:54 -04:00
Sajith Sasidharan
c5b2073bf0 Avoid use of RateAndTimeMixin methods in DownloadStatusElement 2020-05-14 16:09:54 -04:00
Sajith Sasidharan
c4b63ada55 Update events tables renderer 2020-05-14 16:09:29 -04:00
Sajith Sasidharan
c14c437152 Make DownloadStatusPage a MultiFormatResource 2020-05-14 10:21:19 -04:00
Sajith Sasidharan
8a632b6668 Use twisted tags in download status page template 2020-05-14 10:14:52 -04:00
Sajith Sasidharan
a203f9c8d8 Reformat download status page template 2020-05-14 10:14:52 -04:00
Sajith Sasidharan
538503c0f8
Merge pull request #717 from sajith/3289.status-publish-nevow-to-twisted-web
Replace nevow with twisted.web.template in status.PublishStatusPage

Fixes: ticket:3289
2020-05-14 10:09:57 -04:00
Sajith Sasidharan
78c214b7ff
Merge pull request #716 from sajith/3290.status-retrieve-nevow-to-twisted-web
Replace nevow with twisted.web.template in status.RetrieveStatusPage

Fixes: ticket:3290
2020-05-13 19:39:23 -04:00
Sajith Sasidharan
79a44eac33 Correct docstring to ":param <type> <name>" format 2020-05-13 19:29:41 -04:00
Sajith Sasidharan
9d5d338993 Correct docstring to ":param <type> <name>" format 2020-05-13 19:04:10 -04:00
Sajith Sasidharan
d87dfaf5a0
Merge pull request #714 from sajith/3291.status-mapupdate-nevow-to-twisted-web
Replace nevow with twisted.web.template in status.MapupdatePage

Fixes: ticket:3291
2020-05-13 18:22:16 -04:00
Sajith Sasidharan
ebe80221d5 Add missing "param:" to init method docstring 2020-05-13 17:45:08 -04:00
Sajith Sasidharan
2e0e210c14 Make PublishStatusPage comment a docstring 2020-05-13 17:43:55 -04:00
Sajith Sasidharan
5aa0dd4085 Rename a variable for readability
Noticed in code review: `l` can be confused with `1` for many
typefaces.
2020-05-13 17:12:08 -04:00
Sajith Sasidharan
812f03934a Add missing "param:" to docstring 2020-05-13 17:09:53 -04:00
Sajith Sasidharan
4af2e4b4df Drop an unbalanced quote 2020-05-13 17:08:26 -04:00
Sajith Sasidharan
62760c0997 Make RetrieveStatusPage comment a docstring 2020-05-13 17:07:09 -04:00
Sajith Sasidharan
8e17d203cf Add missing "param:" to docstring 2020-05-13 16:59:52 -04:00
Sajith Sasidharan
c18488872c Make comment on MapupdateStatusPage a docstring 2020-05-13 16:54:39 -04:00
meejah
466369dd69
Merge pull request #669 from meejah/make-pypy-work
Make pypy work
2020-05-13 12:44:23 -06:00
Sajith Sasidharan
3fad9a127c Remove web.common.RenderMixin
Fixes: ticket:3308
2020-05-12 07:40:22 -04:00
Sajith Sasidharan
0ae045ea16 Add comments to PublishStatusPage 2020-05-11 12:47:48 -04:00
Sajith Sasidharan
9e200fc014 Render publish problems only when there are problems 2020-05-11 11:43:04 -04:00
Sajith Sasidharan
0fba615afb Remove RateAndTimeMixin from PublishStatusPage 2020-05-11 11:43:04 -04:00
Sajith Sasidharan
fdf6449ba8 Use MultiFormatResource to implement PublishStatusPage 2020-05-11 11:43:04 -04:00
Sajith Sasidharan
89c4210090 Use twisted tags in publish status template page 2020-05-11 11:43:01 -04:00
Sajith Sasidharan
65cd0e8ecd Reformat publish status template page 2020-05-11 10:38:15 -04:00
Sajith Sasidharan
3aaa87d2ba Add notes to RetrieveStatusPage 2020-05-07 13:15:05 -04:00
Sajith Sasidharan
07f14a19f8 Drop RateAndTimeMixin from RetrieveStatusElement 2020-05-07 11:37:21 -04:00
Sajith Sasidharan
a544e8a55f Stringify tag parameters 2020-05-07 10:55:08 -04:00
Sajith Sasidharan
de41302743 Update RetrieveStatusPage to use twisted renderers 2020-05-07 09:34:42 -04:00
Sajith Sasidharan
5fa7c4c446 Update markup in retrieve status template page 2020-05-07 09:32:01 -04:00
Sajith Sasidharan
d2375e4fe2 Reformat retrieve status page template 2020-05-06 22:42:32 -04:00
meejah
2418e90bf0 CacheDirectoryManager is unused 2020-05-06 15:22:22 -06:00
meejah
1549e7eb18 simplify (for line in f.readlines() -> for line in f) 2020-05-06 15:16:34 -06:00
Sajith Sasidharan
13bbda1529 Render privkey only when there's a privkey 2020-05-06 13:21:26 -04:00
Sajith Sasidharan
008812d6c8 Render abbreviated time in map update results 2020-05-06 13:11:53 -04:00
Sajith Sasidharan
0c6889274d Render problems only when there's a problem list 2020-05-06 13:10:31 -04:00
Sajith Sasidharan
bbbca6c000 Drop a newline
Party for consistency, partly in order to trigger a CircleCI run.
2020-05-06 10:41:58 -04:00
Sajith Sasidharan
8a71567137 Avoid use of RateAndTimeMixin in MapupdateStatusPage 2020-05-06 09:29:57 -04:00
Sajith Sasidharan
86871363ea Add notes to MapupdateStatusPage 2020-05-06 09:06:56 -04:00
Sajith Sasidharan
1602c66250 Render map update status using twisted.web.template
Fixes: ticket:3291
2020-05-06 09:06:56 -04:00
meejah
6eade15b4e put WeakKeyDictionary use back 2020-05-05 14:49:16 -06:00
Sajith Sasidharan
3b0ace1710
Merge pull request #708 from sajith/3293.status-helper-nevow-to-twisted-web
Render helper status page using twisted.web.template

Fixes: ticket:3293
2020-05-05 16:00:24 -04:00
meejah
d4f29e7d6c restore old code, run the GC 2020-05-05 13:57:17 -06:00
meejah
b54dc1e5d5 whitespace (1 line per import) 2020-05-05 13:56:59 -06:00
Sajith Sasidharan
5e4f2d88f1
Merge pull request #710 from sajith/3305.root-from-nevow-to-twisted-web
Move root.Root from nevow to twisted.web.template

Fixes: ticket:3305
2020-05-05 15:56:21 -04:00
Sajith Sasidharan
ab298dab9c Make ErrorBoom a new style class
ErrorBoom won't pass PythonTwoRegressions.test_new_style_classes()
check otherwise.
2020-05-05 12:56:19 -04:00
Sajith Sasidharan
edd4cab42b Replace nevow with twisted.web in test.web.test_grid 2020-05-05 11:51:28 -04:00
Sajith Sasidharan
ccffd78ac4 Add a comma, for consistency's sake 2020-05-05 09:27:09 -04:00
Sajith Sasidharan
f5dacf9547 Drop a comma introduced by mistake 2020-05-05 09:27:09 -04:00
Sajith Sasidharan
96c8c5e953 Link to storage server the way it used to be 2020-05-05 07:43:39 -04:00
meejah
1e039d8364 certs big enough to make pypy happy 2020-05-04 21:59:15 -06:00
meejah
00373fc211 special-case pypy 2020-05-04 21:59:15 -06:00
meejah
13350d60c2 assertFailure instead of bespoke code 2020-05-04 21:59:15 -06:00
meejah
bddd2cc996 disable system tests on PyPy 2020-05-04 21:59:15 -06:00
meejah
29563b8f2d assert proper errors 2020-05-04 21:59:15 -06:00
meejah
f8117320cb tests which rely on memory-reclamation need gc.collect() on pypy 2020-05-04 21:59:15 -06:00
meejah
8965c77d63 look for correct error-string 2020-05-04 21:59:15 -06:00
meejah
4c3d0ea6cc use 'with open' for more file-opens 2020-05-04 21:59:15 -06:00
meejah
9bcc465f76 unused import 2020-05-04 21:59:15 -06:00
meejah
4928d62d66 use set instead of WeakKeyDictionary 2020-05-04 21:59:15 -06:00
meejah
5175a6c6a0 asserts for systemexit 2020-05-04 21:59:15 -06:00
meejah
5071ddf124 add more 'with' statements 2020-05-04 21:59:15 -06:00
meejah
a348d3d507 relying on memory/gc bad 2020-05-04 21:59:15 -06:00
meejah
ca5e1ebe52 look at correct mock-call object 2020-05-04 21:59:15 -06:00
meejah
4b0c730adf use 'with open' correctly 2020-05-04 21:59:15 -06:00
Sajith Sasidharan
7d063995f5 Update copyright years 2020-05-04 15:35:21 -04:00
Sajith Sasidharan
4ebd6250e3 Document root.Root 2020-05-04 14:20:05 -04:00
Sajith Sasidharan
96449bb99b Ensure lists before conversion to dict 2020-05-04 14:05:33 -04:00
Sajith Sasidharan
88b369a0c2 Remove unused variables 2020-05-04 11:48:52 -04:00
Sajith Sasidharan
bf0f8a736a Remove unused imports 2020-05-04 11:48:41 -04:00
Sajith Sasidharan
58a06cb57d Update test that exercises empty nick and version 2020-05-04 09:45:36 -04:00
Sajith Sasidharan
df9b160a3c Mark describe server method as static 2020-05-01 17:42:46 -04:00
Sajith Sasidharan
80a26e26b1 Refactor methods that describe server/connection 2020-05-01 17:41:51 -04:00
Sajith Sasidharan
7b4d81fe28 Rename root.Root variables 2020-05-01 17:38:24 -04:00
Sajith Sasidharan
ade7f613b8 Remove unused renderer 2020-05-01 17:07:08 -04:00
Sajith Sasidharan
df188c75df Wrap footer elements in tags 2020-05-01 16:50:30 -04:00
Sajith Sasidharan
029c99a241 Render introducers table using SlotsSequenceElement 2020-05-01 16:45:34 -04:00
Sajith Sasidharan
1ddf07d59d Render services table using SlotsSequenceElement 2020-05-01 16:45:04 -04:00
Sajith Sasidharan
0d8eda5e76 Rearrange imports 2020-05-01 16:07:30 -04:00
Sajith Sasidharan
053e614221 Import resource_filename from setuptools
Drop the nevow one
2020-05-01 16:07:21 -04:00
Sajith Sasidharan
e9796eb308 Match against root path first 2020-04-30 18:49:05 -04:00
Sajith Sasidharan
cfe4b2925e Remove an unused method and imports 2020-04-30 18:48:06 -04:00
Sajith Sasidharan
cce6f83054 Remove unused renderers 2020-04-30 18:47:13 -04:00
Sajith Sasidharan
88b7784f39 Use BeautifulSoup in test.test_system.SystemTest.test_filesystem 2020-04-30 15:09:10 -04:00
Sajith Sasidharan
6aebab28a9 Use BeautifulSoup to check rendered document 2020-04-30 10:17:48 -04:00
Sajith Sasidharan
80ba700247 Correct usage of fillSlots 2020-04-29 12:18:39 -04:00
Sajith Sasidharan
e5733b6c90 Remove unused test code 2020-04-28 19:09:00 -04:00
Sajith Sasidharan
98322effe6 Update test to exercise services renderer 2020-04-28 19:07:57 -04:00
Sajith Sasidharan
a885f14c43 Pass now_fn to RootElement 2020-04-28 11:47:18 -04:00
Sajith Sasidharan
8ce1512501 Render import path 2020-04-28 07:57:15 -04:00
Sajith Sasidharan
32e0c779b6 Add version renderer 2020-04-28 07:56:27 -04:00
Sajith Sasidharan
d064f6b2b7 Add "rendered at" renderer 2020-04-28 07:55:10 -04:00
Sajith Sasidharan
ed6970b168 Correct fill slots usage in connection status 2020-04-28 07:52:57 -04:00
Sajith Sasidharan
5d84a25f21 Add introducers row renderer 2020-04-28 07:50:03 -04:00
Sajith Sasidharan
5155befedc Rewrite total introducers 2020-04-28 07:48:28 -04:00
Sajith Sasidharan
44f16e77cf Add introducers renderer 2020-04-28 07:47:36 -04:00
Sajith Sasidharan
7ba4b945a4 Use introducers renderer method in root template 2020-04-28 07:43:41 -04:00
Sajith Sasidharan
8d4949f96b Render total introducers correctly 2020-04-28 07:42:57 -04:00
Sajith Sasidharan
a646c7decd Fix typo 2020-04-28 07:42:07 -04:00
Sajith Sasidharan
89980a039c Render total introducers 2020-04-28 07:41:29 -04:00
Sajith Sasidharan
2f53b2a67d Add connected introducers renderer 2020-04-28 07:17:22 -04:00
Sajith Sasidharan
164218cf57 Update service table renderer 2020-04-28 07:14:35 -04:00
Sajith Sasidharan
907e8ccf6b Use services renderer method in root template 2020-04-28 07:13:41 -04:00
Sajith Sasidharan
75d41843d7 Use transparent nodes 2020-04-28 04:59:46 -04:00
Sajith Sasidharan
3c4056a947 Replace nevow.static.File with twisted.web.static.File 2020-04-28 04:47:48 -04:00
Sajith Sasidharan
dcea7ea476 Render connected/known storage server status 2020-04-27 17:22:27 -04:00
Sajith Sasidharan
1713076a9d Render services 2020-04-27 17:19:19 -04:00
Sajith Sasidharan
39d616a971 Render helper furl prefix 2020-04-27 17:11:36 -04:00
Sajith Sasidharan
8b4c7296d7 Move helper state to a separate function 2020-04-27 17:07:09 -04:00
Sajith Sasidharan
332bd75fcc Render helper description 2020-04-27 17:03:52 -04:00
Sajith Sasidharan
622d156278 Render "connected to helpers" status 2020-04-27 17:01:37 -04:00
Sajith Sasidharan
a4f86181f9 Render introducer description 2020-04-27 16:55:10 -04:00
Sajith Sasidharan
c86d4341c8 Render "connected to introducers" status 2020-04-27 16:52:54 -04:00
Sajith Sasidharan
65b6daf990 Rewrite incident button using twisted tags 2020-04-27 16:44:06 -04:00
Sajith Sasidharan
110528f569 Handle path "/" when rendering root path 2020-04-27 16:44:06 -04:00
Sajith Sasidharan
f34cdb81ad Create RootElement 2020-04-27 16:44:06 -04:00
Sajith Sasidharan
1c17bb0674 Rewrite welcome page for twisted.web.template 2020-04-27 16:24:50 -04:00
Sajith Sasidharan
e2c6d288bf
Merge pull request #699 from sajith/3294.incident-reporter-to-nevow
Remove nevow from allmydata.web.root.IncidentReporter
2020-04-27 10:12:27 -04:00
Sajith Sasidharan
f02501eadf Update comment on HelperStatus 2020-04-24 10:08:45 -04:00
meejah
c385e958a8 Merge branch 'master' into ticket3252-port-web-directory.remaining.1 2020-04-23 12:24:00 -06:00
Sajith Sasidharan
18d5d3fc49 Wrap rendered nodes in tags 2020-04-22 18:23:43 -04:00
Sajith Sasidharan
65315c4ed0 Render a message when helper isn't running 2020-04-22 17:16:33 -04:00
Sajith Sasidharan
6661b52c33 Reformat helper.xhtml 2020-04-22 17:06:59 -04:00
Sajith Sasidharan
aafe89805d Document helper stats data format 2020-04-22 17:06:39 -04:00
Sajith Sasidharan
4bc7535d02 Derive HelperStatus from MultiFormatResource 2020-04-22 16:54:11 -04:00
Sajith Sasidharan
d844a8f89f Use twisted transparent tag to render data
This way the test suite will be happy, and we won't have extraneous
`<div>` tags in the rendered page.
2020-04-21 11:53:48 -04:00
Sajith Sasidharan
a0eb00b2cc Wrap renderer return values in tags 2020-04-21 11:53:48 -04:00
Sajith Sasidharan
1e3ba25cc3 Add some documentation to Statistics page 2020-04-21 11:53:48 -04:00
Sajith Sasidharan
652b3f5bc0 Use twisted.web.template to render Statistics page 2020-04-21 11:53:48 -04:00
Sajith Sasidharan
b3feaae644 Use an inner JSONRequest class with renderJSON
Once nevow is removed from web/common.py, we can simplify
renderJSON(), like so:

  def renderJSON():
      req = Request()
      req.args = {"t": ["json"]}
      req.fields = {}
      return resource.render(req)

But for now we have to live with an inner class that implements the
nevow.inevow.IRequest interface.
2020-04-21 10:29:28 -04:00
Sajith Sasidharan
201c08dbe5 Declare JSON request interface using @implementer
"zope.interface.implements(IRequest)" is deprectated in favor of
"@zope.interface.implementer(IRequest)" decorator.
2020-04-20 16:54:51 -04:00
meejah
8df1ed1ba6 link to tickets 2020-04-18 02:49:14 -06:00
meejah
f8a78c996a URL -> DecodedURL 2020-04-18 02:27:32 -06:00
meejah
73d0151e1b typo 2020-04-18 01:52:31 -06:00
meejah
349aefeacc fail() takes a message, not Exception 2020-04-18 01:52:18 -06:00
meejah
018e161f19 don't allow trailing slashes
This makes /uri/xxx URIs invalid if they have a trailing slash.
It seems that the former Nevow implementation would allow this, and
some tests (and, notable, "tahoe backup") did rely on using URIs
of this style.
2020-04-18 01:52:18 -06:00
meejah
882c63dab9 methods shouldn't be named like classes 2020-04-18 01:52:18 -06:00
meejah
0acf0d2a7e no addslash here 2020-04-18 01:52:18 -06:00
meejah
bc2f5f8e88 functions shouldn't be named like classes 2020-04-18 01:52:18 -06:00
meejah
8f35f78194 temporary fix for hypothesis test 2020-04-18 01:52:18 -06:00
meejah
c246b3e049 self.assertEqual not assert 2020-04-18 01:52:18 -06:00
meejah
701915783c make unpack/pack test use Hypothesis 2020-04-18 01:52:18 -06:00
meejah
6ea6abdb1f no .format yet 2020-04-18 01:52:18 -06:00
meejah
fc4aec7b77 remove comment 2020-04-18 01:52:18 -06:00
meejah
2e9463bd08 compute 'is this a terminal request' differently 2020-04-18 01:52:18 -06:00
meejah
b0c138f7c0 remove empty segments instead of making multiple URI's valid 2020-04-18 01:52:18 -06:00
meejah
8c47b8e2a1 don't need object 2020-04-18 01:52:18 -06:00
meejah
088fcff442 better formatting 2020-04-18 01:52:18 -06:00
meejah
c6f4f0b7d5 betterize comment 2020-04-18 01:52:18 -06:00
meejah
8db16ff8e3 old-style class 2020-04-18 01:52:18 -06:00
meejah
b64f90bcd4 simplify 2020-04-18 01:52:18 -06:00
meejah
95e5029c34 more comment 2020-04-18 01:52:18 -06:00
meejah
d425baed89 remove irrelevant comment 2020-04-18 01:52:18 -06:00
meejah
3c332fec2a empty-string, not None 2020-04-18 01:52:18 -06:00
meejah
733b7932ce clarify further; remove unused user of RenderMixin 2020-04-18 01:52:18 -06:00
meejah
ace99a1724 add clarifying comment 2020-04-18 01:52:18 -06:00
meejah
f9e3fdfaee use % instead of format 2020-04-18 01:52:18 -06:00
meejah
3d3feec059 encode for fail() / Exception 2020-04-18 01:52:18 -06:00
meejah
d533becc07 native strings only 2020-04-18 01:52:18 -06:00
meejah
ef5e18b6c7 unused 2020-04-18 01:52:18 -06:00
meejah
fdb3399edb just delete test_welcome 2020-04-18 01:52:18 -06:00
meejah
b44980ca01 get rid of assert_ 2020-04-18 01:52:18 -06:00
meejah
e4d556b49e assert about connected storage servers 2020-04-18 01:52:18 -06:00
meejah
f9956f4c43 remove asserts for static text 2020-04-18 01:52:18 -06:00
meejah
355c78f0d4 irrelevant comment 2020-04-18 01:52:18 -06:00
meejah
9ccbe562d7 add break 2020-04-18 01:52:18 -06:00
meejah
d12fd573d3 assert for noreferrer 2020-04-18 01:52:18 -06:00
meejah
48f859f5d4 document internal callback 2020-04-18 01:52:18 -06:00
meejah
98d8c52916 comment 2020-04-18 01:52:18 -06:00
meejah
db7939f766 irrelevant comment 2020-04-18 01:52:18 -06:00
meejah
b81589ca22 irrelevant comment 2020-04-18 01:52:18 -06:00
meejah
965fadb0df irrelevant comment 2020-04-18 01:52:18 -06:00
meejah
956d67b9b8 irrelevant comment 2020-04-18 01:52:17 -06:00
meejah
685aaf14bf soup, not re 2020-04-18 01:52:17 -06:00
meejah
af35483fbf soup not re 2020-04-18 01:52:17 -06:00
meejah
b71d4993c6 more soup 2020-04-18 01:52:17 -06:00
meejah
b4fab4403f use soup, not strings 2020-04-18 01:52:17 -06:00
meejah
bd1cbde273 re/string checks -> soup 2020-04-18 01:52:17 -06:00
meejah
76516fe02e use soup, not re 2020-04-18 01:52:17 -06:00
meejah
c489c61404 refactor 2020-04-18 01:52:17 -06:00
meejah
d5ef65d326 beautifulsoup, not re 2020-04-18 01:52:17 -06:00
meejah
65ec212779 unused imports 2020-04-18 01:52:17 -06:00
meejah
757bcc5309 cleanup 2020-04-18 01:52:17 -06:00
meejah
bf3c71c35f change not required 2020-04-18 01:52:17 -06:00
meejah
178c45eb0d remove print 2020-04-18 01:52:17 -06:00
meejah
203066e8fd better error-code 2020-04-18 01:52:17 -06:00
meejah
9732955eba spelling 2020-04-18 01:52:17 -06:00
meejah
25096715fb flake8 2020-04-18 01:52:17 -06:00
meejah
74ce166463 use twisted-web APIs, not nevow 2020-04-18 01:52:17 -06:00
meejah
044d1cfbea correct error 2020-04-18 01:52:17 -06:00
meejah
6415873f0b undo change 2020-04-18 01:52:17 -06:00
meejah
d0c47fe1d1 irrelevant comment 2020-04-18 01:52:17 -06:00
meejah
97a3f61c28 irrelevant comment 2020-04-18 01:52:17 -06:00
meejah
bc04c9b3db detech empty pathname components, hopefully the same way as Nevow 2020-04-18 01:52:17 -06:00
meejah
83a70bb6f3 some fixes 2020-04-18 01:52:17 -06:00
meejah
d26ce3beb0 some things that fail, but not in quite the right way .. for reasons 2020-04-18 01:52:17 -06:00
meejah
8268f764aa quote output, render GET 2020-04-18 01:52:17 -06:00
meejah
e894795898 redirects don't have to be absolute 2020-04-18 01:52:17 -06:00
meejah
45bfe743d4 improve comment wording 2020-04-18 01:52:17 -06:00
meejah
c4f49bb377 children must be None on error 2020-04-18 01:52:17 -06:00
meejah
543a948d32 shadowed test name; reveal both tests 2020-04-18 01:52:17 -06:00
meejah
98005bab1f addSlash isn't a thing in twisted.web 2020-04-18 01:52:17 -06:00
meejah
a29f1bec9d doubly-quoted 2020-04-18 01:52:17 -06:00
meejah
800b69047c the error-message changed 2020-04-18 01:52:17 -06:00
meejah
effaa6500c filename goes in the dict 2020-04-18 01:52:17 -06:00
meejah
19baba226a Resource needs to be new-style 2020-04-18 01:52:17 -06:00
meejah
dc4669b5e7 fix name decoding 2020-04-18 01:52:17 -06:00
meejah
66f392f7d0 remove debug 2020-04-18 01:52:17 -06:00
meejah
410f0133ab correctly register top-level directory node page 2020-04-18 01:52:17 -06:00
meejah
921926239a Revert "fix getchild for directory"
This reverts commit 8f00f4d4ab2e7edd0ad60a6144e858ece4a4be1f.
2020-04-18 01:52:17 -06:00
meejah
247fc54f8c explicit pack/unpack test 2020-04-18 01:52:17 -06:00
meejah
b4d9bfea15 fix deep-stats results 2020-04-18 01:52:17 -06:00
meejah
7a36bdc523 delete 'move to different dir' because it also doesn't work on trunk 2020-04-18 01:52:17 -06:00
meejah
e2304326fd fix rename-form 2020-04-18 01:52:17 -06:00
meejah
d12078abe2 fix form 2020-04-18 01:52:17 -06:00
meejah
8b7e1c30ab remove debug 2020-04-18 01:52:17 -06:00
meejah
d381d3e92b better style 2020-04-18 01:52:17 -06:00
meejah
f4c8eb5e2f not required 2020-04-18 01:52:17 -06:00
meejah
71c97369f0 fix getchild for directory 2020-04-18 01:52:17 -06:00
meejah
8f32936c7a /file works 2020-04-18 01:52:17 -06:00
meejah
c2ff7e260b more ctx -> req 2020-04-18 01:52:17 -06:00
meejah
79c3f919ba cleanup 2020-04-18 01:52:17 -06:00
meejah
b51f144f87 another thing works 2020-04-18 01:52:17 -06:00
meejah
66c0c71a0d a thing works 2020-04-18 01:52:17 -06:00
meejah
ace73a9215 whitespace 2020-04-18 01:52:17 -06:00
meejah
9e0e25cbed WIP FIXME porting directory, need child_ refactor thing 2020-04-18 01:52:17 -06:00
meejah
fd4d2709a5 search-replace "n:" -> "t:" 2020-04-18 01:52:17 -06:00
Sajith Sasidharan
15131a9f71 Handle just POST requests in IncidentReporter 2020-04-17 15:44:39 -04:00
Sajith Sasidharan
a14cee5cce Remove nevow from allmydata.web.root.IncidentReporter
This change calls for an explanation:

- `RenderMixin` doesn't seem to be adding anything here, so it is
   gone.

- The web browser was unhappy without a charset in the response
  (Firefox 74 was anyway), so `content-type` header also gets a
  `charset=UTF-8`.

- Returning a Unicode string made nevow appserver unhappy, so it is
  just a `str`.  The precise error message was:

  exceptions.TypeError: ('Could not adapt', u'An incident report has been saved to logs/incidents/ in the node directory.', <InterfaceClass nevow.inevow.IResource>)

Fixes: ticket:3294
2020-04-17 15:44:39 -04:00
Sajith Sasidharan
82cd5a87fe Use DummyRequest in storage tests
Using twisted.web.server.Request causes test_new_style_classes to
fail like so:

  Traceback (most recent call last):
  Failure: testtools.testresult.real._StringException: Traceback (most recent call last):
    File ".tox/coverage/lib/python2.7/site-packages/allmydata/test/test_python2_regressions.py", line 69, in test_new_style_classes
      "Expected to find no classic classes.",
    File ".tox/coverage/lib/python2.7/site-packages/testtools/testcase.py", line 502, in assertThat
      raise mismatch_error
  testtools.matchers._impl.MismatchError: !=:
  reference = set([])
  actual    = set([<class allmydata.test.test_storage.JSONRequest at 0x7fd938040bb0>])
  : Expected to find no classic classes.

Seems that `DummyRequest` is an acceptable new style class.
2020-04-17 15:25:42 -04:00
Sajith Sasidharan
b2b7061980 Refactor storage test helpers
Rewrite `renderSynchronously()` to use `renderDeferred()`
2020-04-17 15:25:42 -04:00
Sajith Sasidharan
72b8f72080 Add docstrings to storage test helpers 2020-04-17 15:25:42 -04:00
Sajith Sasidharan
8b7ef33b3d Remove redundant render_json() method 2020-04-17 15:25:42 -04:00
Sajith Sasidharan
3e7dea7dda Wrap renderer results in tags 2020-04-17 15:25:42 -04:00
Sajith Sasidharan
8c92187d92 Avoid using nevow FakeRequest in storage test.
Use twisted.web.server.Request instead, with a DummyChannel.

There's still one line of inevitable nevow now, because of code in
web/common.py; but that should be easily replaceable once we switch
that over.
2020-04-17 15:25:42 -04:00
Sajith Sasidharan
9c7357bc61 Remove an extraneous directive
`t:data` is not really a Twisted template directive.  Added my
mistake, removing now.
2020-04-17 15:25:42 -04:00
Sajith Sasidharan
bae32179bf Remove StorageStatus.renderHTTP
This was added to please the test suite. Pleased to remove it!
2020-04-17 15:25:42 -04:00
Sajith Sasidharan
f1fe3a7588 Get rid of WebRenderingMixin in storage test 2020-04-17 15:25:42 -04:00
Sajith Sasidharan
110734daf0 Use a helper to exercise render() in storage test cases 2020-04-17 15:25:42 -04:00
Sajith Sasidharan
554c477cea Prefix member variable with "_" 2020-04-17 15:25:42 -04:00
Sajith Sasidharan
6c3256517a Use slots to render storage stats table 2020-04-17 15:25:42 -04:00
Sajith Sasidharan
0cbe2871fd Give the suite the precise string it wants 2020-04-17 15:25:42 -04:00
Sajith Sasidharan
ff019e5b12 Use BeautifulSoup to check favicon in storage page 2020-04-17 15:25:42 -04:00
Sajith Sasidharan
7625d959bc Use <t:transparent> to render node nickname and id
CI did not like the old way, but it passed in my system.  Odd.
2020-04-17 15:25:42 -04:00
Sajith Sasidharan
36a486426e Mark format_recovered as static method 2020-04-17 15:25:42 -04:00
Sajith Sasidharan
0382b1ec63 Use Unicode strings to render space 2020-04-17 15:25:42 -04:00
Sajith Sasidharan
aab940f65f Remove redundant None-checks on self.storage
When no storage is up, `storage_running()` renderer will return a big
honking `no storage server running` message, and no further renderers
will be invoked.  Therefore the extra defense is probably not
required.

(I tested this hypothesis.  The extra defense is not required, unless
there's something I have not seen.)
2020-04-17 15:25:42 -04:00
Sajith Sasidharan
c061f6830e Use successResultOf in renderSynchronously
Get rid of [].append trick when dealing with the deferred.
2020-04-17 15:25:42 -04:00
Sajith Sasidharan
e2fc1fc07e Move renderSynchronously to test suite 2020-04-17 15:25:42 -04:00
Sajith Sasidharan
7a053ddeff Use explicit None-check on self.storage 2020-04-17 15:25:42 -04:00
Sajith Sasidharan
9b51bdf7fa Return result from renderHTTP
Bogus renderHTTP, but test failures are now down to three. We just
need to handle requests for JSON now.
2020-04-17 15:25:42 -04:00
Sajith Sasidharan
6e9a4e30d7 Add a docstring 2020-04-17 15:25:42 -04:00
Sajith Sasidharan
f22417e51b Rename function for clarity 2020-04-17 15:25:42 -04:00
Sajith Sasidharan
227d06fe64 Add docstrings to StorageStatusElement 2020-04-17 15:25:42 -04:00
Sajith Sasidharan
d3ff578640 Use parentheses in test suite's import statement 2020-04-17 15:25:42 -04:00
Sajith Sasidharan
b1c78244ab Use parentheses in import statement 2020-04-17 15:25:42 -04:00
Sajith Sasidharan
2df2ae92d5 Fix test_storage.WebStatus.test_no_server failure 2020-04-17 15:25:42 -04:00
Sajith Sasidharan
b14f36082c Use <t:transparent /> within table cells 2020-04-17 15:25:42 -04:00
Sajith Sasidharan
d46df30bd0 Use render_space methods to render space 2020-04-17 15:25:42 -04:00
Sajith Sasidharan
0993e61046 Drop unused ctx argument from render_space methods 2020-04-17 15:25:42 -04:00
Sajith Sasidharan
c7a63f957d Refactor so that test_util pass 2020-04-17 15:25:42 -04:00
Sajith Sasidharan
c88c97aad5 Use right syntax for twisted.web.template tags 2020-04-17 15:25:42 -04:00
Sajith Sasidharan
4e81a3a0a2 Check storage server status before using it 2020-04-17 15:25:42 -04:00
Sajith Sasidharan
c019c7e955 Second version of renderSynchronously 2020-04-17 15:25:42 -04:00
Sajith Sasidharan
d3790a4d42 Add missing flattenString import 2020-04-17 15:25:42 -04:00
Sajith Sasidharan
b29652e0f0 Add StorageStatus::renderSynchronously
Related to ticket:3247

test_storage.py wants a `StorageStatus::renderSynchronously()` method
and a `StorageStatus::renderHTTP()` method.  Let us begin with the
goofy first-cut.

Both these methods are not only wrong, but they will also not please
the test suite.  However error messages produced in CI can be shared,
and that way I can hopefully get unstuck.
2020-04-17 15:25:42 -04:00
Sajith Sasidharan
d142ccb159 Use twisted.web.template in web/storage.py
Related to ticket:3247.  Nevow usage has been removed, and generated
page looks the same as its former self, but tests are failing because
test_storage.py assumes that we're using nevow.
2020-04-17 15:25:42 -04:00
Jean-Paul Calderone
2136ef46a1
Merge pull request #695 from tahoe-lafs/3284.remove-magic-folder
Remove magic-folder, now a stand-alone project

See https://github.com/LeastAuthority/magic-folder

Fixes: ticket:3284
2020-04-16 08:07:38 -04:00
Jean-Paul Calderone
71aa17ab0b
I assume it's utf-8 2020-04-15 09:07:23 -04:00
Jean-Paul Calderone
d4d8ce4e13
missing front matter 2020-04-15 08:55:00 -04:00
Jean-Paul Calderone
72ca4e8c53
move the imports 2020-04-15 08:54:50 -04:00
Jean-Paul Calderone
c73953d94a
Capture and report Foolscap Tub Listener creation stack on error 2020-04-14 08:40:48 -04:00
Jean-Paul Calderone
6f1f30e4bf
pyflakes cleanups 2020-02-13 12:15:09 -05:00
Jean-Paul Calderone
ef73e18f3d
Remove the greater part of the implementation 2020-02-13 10:43:50 -05:00
Jean-Paul Calderone
f032cd50d0
Merge pull request #678 from tahoe-lafs/2239.remove-tahoesvc-and-pkgresutil
Remove tahoesvc and pkgresutil

Fixes: ticket:2239
2020-02-11 13:29:46 -05:00
Sajith Sasidharan
26c7282365 Remove characteristic dependency
Fixes: ticket:3279
2020-01-27 13:44:28 -05:00
Jean-Paul Calderone
c1644734f1
Merge pull request #684 from tahoe-lafs/2098.remove-pyutil
Remove the direct pyutil dependency

Fixes: ticket:2098
2020-01-20 13:56:22 -05:00
Jean-Paul Calderone
3de23ddf9d
Merge pull request #686 from tahoe-lafs/2771.remove-channel-use
Remove `Request.channel` use

Fixes: ticket:2771
2020-01-20 11:45:24 -05:00
Jean-Paul Calderone
c4b6ca1c7d
Merge pull request #683 from tahoe-lafs/1827.remove-tahoe-rm
Remove "tahoe rm"

Fixes: ticket:1827
2020-01-20 11:09:30 -05:00
Jean-Paul Calderone
5e1c3df336
Merge pull request #677 from tahoe-lafs/2266.remove-repeatable-random
Remove repeatable random test helper

Fixes: ticket:2266
2020-01-20 10:08:16 -05:00
Jean-Paul Calderone
5dd355fbfa Stop accessing the maybe-deprecated Request.channel attribute 2020-01-17 11:45:08 -05:00
Jean-Paul Calderone
6da18ad608 Remove another test for "tahoe rm" 2020-01-17 10:00:55 -05:00
Jean-Paul Calderone
abe25cb00a Remove the mention
Also delete the dirnode benchmark which has, sadly, bitrotted to the point of
uselessness.
2020-01-17 09:59:59 -05:00
Jean-Paul Calderone
e2fb2d0f4e remove "rm" uses from test suite 2020-01-17 09:45:39 -05:00
Jean-Paul Calderone
6d83b9c1e1 remove "tahoe rm" 2020-01-17 09:14:36 -05:00
Jean-Paul Calderone
d07edff33d Update monkey-patch to follow moved code 2020-01-15 15:26:08 -05:00
Jean-Paul Calderone
595295e88d Update monkey-patches to reflect moved code 2020-01-15 15:08:33 -05:00
Jean-Paul Calderone
8a808ba5c6 update imports for moved code 2020-01-15 15:06:43 -05:00
Jean-Paul Calderone
f134f77f2e deprecate start, stop, restart, daemonize 2020-01-15 14:21:29 -05:00
Jean-Paul Calderone
173a9a5256 Factor process management scripts so "run" does not depend on "daemonize" 2020-01-15 14:19:26 -05:00
Jean-Paul Calderone
1cbe21b899 start to deprecate the daemonization-related commands 2020-01-15 13:54:01 -05:00
Jean-Paul Calderone
0004782cfc Remove the helper module 2020-01-13 15:34:34 -05:00
Jean-Paul Calderone
9c1250364f Remove the cleanup too 2020-01-13 15:34:30 -05:00
Jean-Paul Calderone
f6e7721dad Remove tahoesvc and pkgresutil 2020-01-13 15:33:21 -05:00
Jean-Paul Calderone
4ae6cc9775 Remove it 2020-01-13 15:29:27 -05:00
meejah
67bd9c0b2f refactor capability-checks 2019-12-21 16:01:23 -07:00
meejah
a21e31aed8 irrelevant comment/assignment 2019-12-21 03:57:00 -07:00
meejah
bffc2f9f2c already new-style, better docstring 2019-12-21 03:57:00 -07:00
meejah
14a39821be use hyperlink, better unicode 2019-12-21 03:57:00 -07:00
meejah
8f5e9089ca timedelta, not int 2019-12-21 03:57:00 -07:00
meejah
dfc032bca5 use beautifulsoup 2019-12-21 03:57:00 -07:00
meejah
3099b188ae check NoNetworkGrid for startup errors 2019-12-21 03:56:13 -07:00
meejah
7ccfe44be6 port manifest to twisted.web.template 2019-12-21 03:56:13 -07:00
meejah
4a73f8055c imports whitespace 2019-12-21 03:56:13 -07:00
Jean-Paul Calderone
ae2abd1b2e try making it frozen instead of fiddling with cmp 2019-12-18 15:23:07 -05:00
Jean-Paul Calderone
2037cd9be1 New-style the new class 2019-11-26 08:43:05 -05:00
Jean-Paul Calderone
e7d166f262 Use hyperlink instead of a string 2019-11-26 08:33:56 -05:00
Jean-Paul Calderone
bbc9c635b0 docstring 2019-11-26 07:49:25 -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
8e6aeb49e0 Add some state to the test storage plugin 2019-11-19 12:56:26 -05:00
Jean-Paul Calderone
c80c753e5d Late bind storage so init_storage can run after init_web 2019-11-08 14:12:38 -05:00
Jean-Paul Calderone
c2257685c2 Merge remote-tracking branch 'origin/master' into integration/storage-economics 2019-11-08 10:42:26 -05:00
meejah
b92478f89c
Merge pull request #655 from meejah/ticket3252-port-uri-handler
3257: port uri handler
2019-11-05 05:01:08 +00:00
meejah
3b07a2873e
Merge pull request #659 from tahoe-lafs/3255.python3-porting-done-oracle
Add a Python 3 porting-done oracle to the test suite
2019-11-05 05:00:25 +00:00
Jean-Paul Calderone
ff30dbcf85 Delete test_version_no_noise
Python will write to stdout and stderr what it wants when it wants.  It is
futile to believe this can be controlled without a massively greater effort.

Also, Lucid and `distribute` are long dead.
2019-10-29 08:56:14 -04:00
Jean-Paul Calderone
d909b1ed5b Run the child process with -Wignore
This test is not equipped to say anything about what warnings are or are not
emitted.
2019-10-29 08:55:42 -04:00
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
Jean-Paul Calderone
624591e412 Change the tests to match against the announcement we need 2019-08-03 06:19:01 -04:00
Jean-Paul Calderone
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
Jean-Paul Calderone
6068b6c1b2 don't reach through the tahoe-lafs config object 2019-08-03 06:19:01 -04:00
Jean-Paul Calderone
d2e16df5cc link to a ticket about implementing better missing-plugin behavior 2019-08-03 06:19:01 -04:00
Jean-Paul Calderone
251eda0b80 rename introducer_factory parameter to be private 2019-08-03 06:19:01 -04:00
Jean-Paul Calderone
8516459fa3 Python 3 syntax compatibility 2019-08-03 06:19:01 -04:00
Jean-Paul Calderone
58db131787 remove unused imports 2019-08-03 06:19:01 -04:00
Jean-Paul Calderone
e825e63590 This returned to being synchronous 2019-08-03 06:19:01 -04:00
Jean-Paul Calderone
deb3109f43 please report all errors 2019-08-03 06:19:01 -04:00
Jean-Paul Calderone
1c68157c1f verify behavior if there is a poorly behaved plugin 2019-08-03 06:19:01 -04:00
Jean-Paul Calderone
fd9ae24149 fix indentation 2019-08-03 06:19:01 -04:00
Jean-Paul Calderone
756c21c251 actually provide validating client-config-from-string function 2019-08-03 06:19:01 -04:00
Jean-Paul Calderone
23e1631259 switch from node to client for config loading
apparently clients are the things with storage
2019-08-03 06:19:01 -04:00
Jean-Paul Calderone
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
Jean-Paul Calderone
6cf48f7d4f Separate async initialization from _Client.__init__ 2019-08-03 06:19:01 -04:00
Jean-Paul Calderone
3bc21e1b72 Re-synchronize the fake with the real implementation 2019-08-03 06:19:01 -04:00
Jean-Paul Calderone
a6959d111c Log init_storage and its result (particularly failures) 2019-08-03 06:19:01 -04:00
Jean-Paul Calderone
7919cf205e Test the actual interface
get_storage_server is supposed to return a Deferred
2019-08-03 06:19:01 -04:00
Jean-Paul Calderone
a45e2bebfe Allow the new plugins item in the [storage] section 2019-08-03 06:19:01 -04:00
Jean-Paul Calderone
f606beb065 Test and support plugins without any configuration 2019-08-03 06:19:01 -04:00
Jean-Paul Calderone
e2982c0129 Support multiple plugins 2019-08-03 06:19:01 -04:00
Jean-Paul Calderone
646cd452b9 Add tests for announcements for plugins
And a basic implementation
2019-08-03 06:19:01 -04:00
Jean-Paul Calderone
9608404b6e Factor plugin helper behavior into its own fixture 2019-08-03 06:19:01 -04:00
Jean-Paul Calderone
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
Jean-Paul Calderone
212f96dfe7 Baseline tests for anonymous storage server announcements 2019-08-03 05:34:21 -04:00
Jean-Paul Calderone
0f0ca5598a at least minimally test the other implementation 2019-08-03 05:34:21 -04:00
Jean-Paul Calderone
87b37a7e27 be more data-type-y 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
Jean-Paul Calderone
f19b94a43d remove unused import 2019-08-03 05:34:21 -04:00
Jean-Paul Calderone
b737c6f5c5 Use the client config helper to read/test client config 2019-08-03 05:34:21 -04:00
Jean-Paul Calderone
7e17ffb75d Also update the introducer's use of read_config 2019-08-03 05:34:21 -04:00
Jean-Paul Calderone
fb4c5cf91f Allow for dynamic configuration validation rules 2019-08-03 05:34:21 -04:00
Jean-Paul Calderone
2c49c97fcd more unicode literals 2019-08-03 05:33:01 -04:00
Jean-Paul Calderone
8a22764fb1 Combine human_name and id 2019-08-03 05:33:01 -04:00
Jean-Paul Calderone
e10a032fc3 Add the basic plugin interfaces and some documentation 2019-08-03 05:33:01 -04:00
meejah
3f9f4537b9
Merge pull request #633 from meejah/ticket3228-remote-old-js
delete ancient jquery, d3 and the thing that depends on them
2019-07-24 17:11:41 +00:00
Chris Wood
b185ee5079 Add "autobahn" to "package_imports"
This fixes PyInstaller-generated "frozen" binaries which, without
this, fail to run with "allmydata.PackagingError: no version info
for autobahn"

fixes🎫3229
2019-07-16 13:29:18 -04:00
meejah
f9d1c4b06d delete ancient jquery, d3 and the thing that depends on them 2019-07-15 19:40:31 -06:00
meejah
4b7e26ee60 unused import 2019-07-09 09:11:57 -06:00
meejah
c6d41b310a str -> bytes 2019-07-08 14:16:37 -06:00
meejah
c2c2eda52e bytes 2019-07-08 14:16:28 -06:00
meejah
6c9a3cfea1 move import 2019-07-08 14:00:39 -06:00
meejah
4be5a767fd bytes, prefixes 2019-07-08 14:00:11 -06:00
meejah
a4ed8f6372 its decryption not encryption 2019-07-08 13:59:59 -06:00
meejah
3730f1f01b fix docstrings 2019-07-08 13:59:48 -06:00
meejah
8598d98ebe better assert methods 2019-07-08 13:59:36 -06:00
meejah
ec02d47bcc rename 2019-07-08 12:49:07 -06:00
meejah
0ab149248b better docstrings 2019-07-08 12:46:30 -06:00
meejah
5644f421fe get rid of ed25519.bytes_from_* methods 2019-07-08 12:46:22 -06:00
meejah
47633fb01e unused import 2019-06-26 14:55:35 -06:00
meejah
dd55accec8 Merge branch 'master' into 3031-replace-pycryptopp 2019-06-26 14:42:43 -06:00
Jean-Paul Calderone
6d01b995d1 remove unused import 2019-06-26 12:42:53 -04:00
Jean-Paul Calderone
3c7ab91f07 Replace the monkey-patching with attributes on instances 2019-06-26 10:59:39 -04:00
Jean-Paul Calderone
23e360577f
Merge pull request #621 from tahoe-lafs/3051.handle-weird-announcements
Handle weird static server "announcements"

Fixes: ticket:3051
2019-06-26 07:57:33 -04:00
meejah
016413be46 unused import 2019-06-26 01:23:39 -06:00
meejah
56cf188c90 provide IEncryptor and IDecryptor interfaces 2019-06-26 01:21:05 -06:00
meejah
ac583ebc8d unused import 2019-06-25 23:58:39 -06:00
meejah
a22d2d8bcf constant for the padding, too 2019-06-25 22:43:33 -06:00
meejah
745805378c typo 2019-06-25 16:59:41 -06:00
meejah
8b48b3e06e better docs 2019-06-25 15:40:10 -06:00
meejah
3d2b43b688 FilePath not os.path 2019-06-25 14:35:41 -06:00
meejah
5633f3a8ff bytes 2019-06-25 14:35:25 -06:00
meejah
5ce01ad9c1 metter docstrings 2019-06-25 14:35:19 -06:00
meejah
2b0d0d4072 don't need six.text_type 2019-06-24 22:02:16 -06:00
meejah
609d5f255d more things are bytes 2019-06-24 17:00:03 -06:00
meejah
e2717245ce use aliases 2019-06-24 16:57:59 -06:00
meejah
249abbdd1f things are bytes 2019-06-24 16:57:12 -06:00
meejah
f52a6ce9bb more bytes clarification 2019-06-24 16:57:12 -06:00
meejah
238f604bf5 use decrypt aliases 2019-06-24 16:57:12 -06:00
meejah
2c5cbbb095 raise instance, not class 2019-06-24 16:57:12 -06:00
meejah
29d2e32cb0 more bytes clarification 2019-06-24 16:57:12 -06:00
meejah
e670921f56 prefixes are bytes 2019-06-24 16:57:09 -06:00
meejah
05f6b7fea0 refactor ed25519 a little; only _string variants, not _bytes of deserializers and some imports 2019-06-24 15:31:46 -06:00
meejah
e5b892d700 raise instance, not class 2019-06-24 12:29:17 -06:00
meejah
de94a0fd3e fix util, error crypto imports 2019-06-24 12:29:01 -06:00
meejah
74705ba2a5 correct remove_prefix imports 2019-06-24 12:27:31 -06:00
meejah
14a0481d71 string -> comment 2019-06-24 12:27:09 -06:00
meejah
5701bad548 a module for errors 2019-06-24 12:12:10 -06:00
meejah
58e0b27374 better docstring 2019-06-24 11:57:56 -06:00
meejah
fd2934cb79 returns bytes 2019-06-24 11:45:38 -06:00
meejah
f253235c96 the IV is bytes 2019-06-24 11:41:46 -06:00
meejah
b7990264e8 module docstring 2019-06-24 11:41:26 -06:00
meejah
d2ad803b5d add a docstring for allmydata.crypto. 2019-06-24 11:29:34 -06:00
meejah
a88b53825c move utility functions to their own module, better docs on remote_prefix 2019-06-24 11:27:15 -06:00
meejah
bf16cf4c03 fix url 2019-06-23 11:25:59 -06:00
meejah
ce27c2ee24 use public_exponent 17 to match what was in use before 2019-06-23 00:28:41 -06:00
meejah
544ad5bb59 another test 2019-06-23 00:25:14 -06:00
meejah
ec98924b45 more docstrings, more tests 2019-06-23 00:05:49 -06:00
meejah
df0153a73e
Merge pull request #615 from meejah/3041.websocket-streaming-tests
Add websocket streaming tests
(fixes🎫#3041)
2019-06-21 18:11:18 +00:00
Jean-Paul Calderone
e0a31aebf5 Sort the static storage servers for deterministic tests 2019-06-21 08:38:57 -04:00
Jean-Paul Calderone
f5fc38e8a7 remove unused locals 2019-06-21 08:17:53 -04:00
meejah
7e38198c19 fix docstrings 2019-06-18 16:04:05 -06:00
meejah
41dd143872 unused variables 2019-06-17 22:40:44 -06:00
meejah
b6cd77d547 failUnlessEqual -> assertEqual, and some comment fixups 2019-06-17 22:23:24 -06:00
meejah
9e5b6f1d0e better comment, cleanup 2019-06-17 22:16:50 -06:00
meejah
a27a5ce581 test all error-cases, and some fixups 2019-06-17 21:56:06 -06:00
meejah
802f1afde6 fix and clarify docstrings 2019-06-17 19:16:39 -06:00
meejah
a36f2a8dc7 better docstrings 2019-06-17 18:57:42 -06:00
meejah
c2fbbe4f46 add docstrings 2019-06-17 18:55:26 -06:00
meejah
d0296b9ae8 redundant 2019-06-17 17:12:22 -06:00
meejah
310fb60247 move AES to a helper-function style 2019-06-17 15:54:46 -06:00
meejah
47ccdb0177 refactor ed25519 helpers to functional style
eliminates the wrapper classes and uses some more-explicit
names throughout (e.g "sk" -> "signing_key")
2019-06-13 22:19:28 -06:00
meejah
49b7756a8b formatting, and constants-naming 2019-06-13 22:19:28 -06:00
meejah
f261db7018 whitespace 2019-06-13 22:19:28 -06:00
meejah
02bc5c1f42 codechecks fixup 2019-06-13 22:19:28 -06:00
meejah
df4671f90e refactor away from pycryptopp "helper" classes 2019-06-13 22:19:28 -06:00
heartsucker
772d4bad23 remove pycryptopp from tests 2019-06-13 22:19:28 -06:00
heartsucker
1976f99201 fix signature verification 2019-06-13 22:19:28 -06:00
heartsucker
96ba55dd5c autopep8 on hashutil to make it more readable 2019-06-13 22:19:28 -06:00
heartsucker
44b268fee6 removed pycryptopp dependency 2019-06-13 22:19:28 -06:00
heartsucker
8063d93c6d replaced pytcryptopp rsa with our own wrapper 2019-06-13 22:19:28 -06:00
heartsucker
9e31bfe2f4 update code/test to use new ed25512 module 2019-06-13 22:19:28 -06:00
heartsucker
3a5a0fb572 replaced uses of pycryptopp's ed25519 with our own 2019-06-13 22:18:55 -06:00
heartsucker
74b1a0c279 ed25519 regression test 2019-06-13 22:18:55 -06:00
heartsucker
f3955453ba added ed25519 wrapper 2019-06-13 22:18:55 -06:00
heartsucker
008825b0fd replaced referecnes to pycryptopp AES with own wrapper 2019-06-13 22:18:55 -06:00
heartsucker
1dff7f93bd added regression tests for aes 2019-06-13 22:18:55 -06:00
heartsucker
405f396f79 added own aes wrapper 2019-06-13 22:18:55 -06:00
heartsucker
b9567ad25e added cryptography dependency 2019-06-13 22:18:55 -06:00
Jean-Paul Calderone
bbb1ebdd26 Make some assertions about the logging 2019-06-13 12:23:41 -04:00
Jean-Paul Calderone
b040a22ca3 Use the TempDir fixture 2019-06-13 12:22:53 -04:00
Jean-Paul Calderone
f6ad8fa56b Make the new test pass by catching and logging 2019-06-13 09:08:42 -04:00
Jean-Paul Calderone
dd0cda8a41 Add a test for a bogus announcement 2019-06-12 17:05:14 -04:00
Jean-Paul Calderone
92724449a0 unicode! 2019-06-12 17:03:24 -04:00
Jean-Paul Calderone
225aec912a refactor the test to use a servers.yaml fixture 2019-06-12 17:03:09 -04:00
Jean-Paul Calderone
b604d08463 Add a test for the success case 2019-06-12 16:47:25 -04:00
Jean-Paul Calderone
ad29e627cc refer to the interface 2019-06-11 16:32:29 -04:00
meejah
0cb1ba8634 autobahn dependency 2019-06-11 14:07:45 -06:00
Jean-Paul Calderone
9f9f45e331 warn away potential users 2019-06-04 10:13:07 -04:00
Jean-Paul Calderone
b109847c43 Remove unused local 2019-06-04 10:04:00 -04:00
Jean-Paul Calderone
d32d020b05 Remove another test use of get_rref 2019-05-31 16:09:29 -04:00
Jean-Paul Calderone
e745dbfb66 Take a get_rref` call out of the test suite 2019-05-31 15:54:44 -04:00
Jean-Paul Calderone
72cf590320 Use IStorageServer instead of RemoteReference in a lot of places 2019-05-31 13:41:07 -04:00
Jean-Paul Calderone
46a2065357 Offer a pass-through IStorageServer 2019-05-31 13:40:51 -04:00
Jean-Paul Calderone
97a4353c80 Update IServer with this new IStorageServer 2019-05-31 11:25:11 -04:00
Jean-Paul Calderone
8f4c994bea Make NativeStorageServer.rref private 2019-05-31 11:09:20 -04:00
meejah
f262e5d684 unused imports 2019-05-30 17:30:28 -06:00
meejah
04e72e208b cleanup 2019-05-30 17:30:28 -06:00
meejah
8938d556d9 whitespace 2019-05-30 17:30:28 -06:00
meejah
d2ea9c5158 get rid of flush() calls 2019-05-30 17:30:28 -06:00
meejah
811c7ea434 dead code 2019-05-30 17:30:28 -06:00
meejah
b3410c68b8 try some Autobahn websocket tests 2019-05-30 17:30:28 -06:00
tpltnt
e2b0b99e13 added old-style classes regression test 2019-05-30 09:22:08 +02:00
tpltnt
4c2f0db5d2 made OneShotObserverList a new-style class 2019-05-26 08:28:18 +02:00
tpltnt
c8f11dc2d3 ported old-style classes to new-style 2019-05-26 08:28:18 +02:00
Jean-Paul Calderone
e6c9131779 Merge remote-tracking branch 'origin/master' into 3038.stop-leaking-file-descriptors 2019-05-14 04:13:54 -04:00
Jean-Paul Calderone
463f6ae63c sigh, I don't know 2019-05-13 09:35:31 -04:00
Jean-Paul Calderone
79a230cce5 Fix stopping on Windows 2019-05-13 09:31:46 -04:00
Jean-Paul Calderone
d8b65d1374 Merge remote-tracking branch 'origin/master' into 3025.fix-test_runner-hangs 2019-05-13 07:19:59 -04:00
Jean-Paul Calderone
6110fb0b9c Skip the PID file checks on Windows 2019-05-13 06:28:57 -04:00
Jean-Paul Calderone
b5659bd312 Some gc hinting and docs 2019-05-09 15:45:07 -06:00
Jean-Paul Calderone
b31acb790a Try to clean up the fds created by listenOnUnused that might leak 2019-05-09 15:45:07 -06:00
Jean-Paul Calderone
628c7e7c5f remove the custom timeouts 2019-05-08 18:39:26 -06:00
meejah
b1414249f7
Merge pull request #612 from advanced4/master
update client.py to use DEFAULT_MAX_SEGMENT_SIZE
2019-05-09 00:36:52 +00:00
meejah
bc3d48ef30 get rid of skipIf usage 2019-05-08 14:52:19 -06:00
advanced4
ef127f113d
update client.py to use DEFAULT_MAX_SEGMENT_SIZE 2019-05-08 16:04:57 -04:00
Jean-Paul Calderone
b38a724d3d remove unused things 2019-05-03 12:09:21 -04:00
Jean-Paul Calderone
86d33e19c5 no more "tahoe start" here at all 2019-05-03 12:09:10 -04:00
Jean-Paul Calderone
aac36fb30a fix line separator 2019-05-03 12:09:03 -04:00
Jean-Paul Calderone
97e8ba8301 Remove test_client_no_noise and rewrite test_introducer
"tahoe run" has no quiet option so `test_client_no_noise` is not applicable.

This is a loss of the coverage of the quiet option for `tahoe start`.  That is
unfortunate but fixing any `tahoe start`-using test is really hard and the
functionality that is no longer covered is so trivial it hardly seems like it
made sense to test it by running multiple tahoe child processes anyway.
2019-05-03 11:36:11 -04:00
Jean-Paul Calderone
0e8472c017 rewrite test_baddir as several tahoe run-using tests 2019-05-03 08:55:35 -04:00
Jean-Paul Calderone
57fc078383 factor cleanup into api class 2019-05-03 07:27:58 -04:00
Jean-Paul Calderone
5a1183500e rewrite RunNode.test_client to use "tahoe run" 2019-05-02 14:21:35 -04:00
Jean-Paul Calderone
e6da5e6a82 Switch to simpler, declarative skip style 2019-05-02 12:52:06 -04:00
meejah
e63ee9b37e
Merge pull request #604 from ArdaXi/master
Make isdir argument to _ErrorTarget optional
2019-04-28 04:30:58 +00:00
Jean-Paul Calderone
0ab197d928 Add a test for the problematic case
Get the name in the warning right
2019-04-26 21:39:23 +02:00
meejah
fee6eb38a9
Merge pull request #603 from tahoe-lafs/3028-string-literals
updated string literal syntax for python3 compatibility
2019-04-26 17:39:38 +00:00
meejah
27a0a7400d
Merge pull request #600 from tahoe-lafs/3019-remove-tuple-unpacking
3019 remove tuple unpacking, Fixes: ticket:3019
2019-04-26 17:37:56 +00:00
heartsucker
05e0d19cca
updated string literal syntax for python3 compatibility 2019-04-25 11:18:33 +02:00
Arda Xi
2d6cc26127 Make isdir argument to _ErrorTarget optional 2019-04-21 19:33:41 +02:00
heartsucker
c0939e9b99
removed use of backticks for repr for python3 compatibility 2019-04-18 13:50:21 +02:00
heartsucker
a087a5be72
removed tuple unpacking in function definitons for python3 compatibility 2019-04-18 13:37:18 +02:00
Jean-Paul Calderone
edba0747a3 Use listenOnUnused instead of allocate_tcp_port in create_log_tub 2019-04-16 11:32:27 -04:00
Jean-Paul Calderone
6ea1684995 use listenOnUnused instead of allocate_tcp_port in create_control_tub 2019-04-16 11:26:52 -04:00
Jean-Paul Calderone
9a30eaa83c move listenOnUnused to a place where implementation code can use it 2019-04-16 11:26:15 -04:00
meejah
ff45bf6234
Merge pull request #588 from tahoe-lafs/3014-raise-syntax
Update raise syntax for Python3 compatibility
2019-04-08 20:46:52 +00:00
Jean-Paul Calderone
7bda21aa7d
Merge pull request #593 from tahoe-lafs/3021.test-suite-hang
Fix one of the test suite hangs.

Fixes: ticket:3021
2019-04-05 15:37:49 -04:00
Jean-Paul Calderone
c0e91814d7
Merge pull request #594 from tahoe-lafs/3023.some-immutable-upload-eliot-logging
Add some immutable upload eliot logging

Fixes: ticket:3023
2019-04-05 07:36:48 -04:00
heartsucker
ae5e282e2f
update raise syntax for python3 compatibility 2019-04-05 11:39:10 +02:00
Jean-Paul Calderone
552459b6a3 remove unused import 2019-04-04 19:45:31 -04:00
heartsucker
0750dbac38
updated all python files to use pep-3110 exception syntax for python3 compatibility 2019-04-04 11:57:58 +02:00
Jean-Paul Calderone
3c44cb65a9 add logging around peer selection and upload 2019-04-03 10:32:04 -04:00
Jean-Paul Calderone
83b520bd68 Log a couple of calls on the Encoder 2019-04-03 08:46:22 -04:00
heartsucker
f4ff91a6c1
updated python2 long numeric literals for python3 compatibility 2019-04-03 10:04:02 +02:00
Jean-Paul Calderone
7b314ceab8 Attempt to avoid the hang condition
The Python 2.7 subprocess module does not promise thread safety.
2019-04-01 12:54:51 -04:00
heartsucker
d8187a0f6a
Merge pull request #589 from tahoe-lafs/3015-octal-numeric-literals
updated instances of octal literals to use the format 0o123 for python3 compatibility
2019-03-31 11:24:39 +02:00
meejah
7263ceb1d1
Merge pull request #591 from tahoe-lafs/3017.magic-folder-double-start
Fix the MagicFolder double start problem
2019-03-29 17:38:37 +00:00
Jean-Paul Calderone
3c68f5897a
Merge pull request #555 from tahoe-lafs/2976.help-output-groups
Remove the attempt at grouping the subcommands.

Fixes: ticket:2976
2019-03-29 13:02:38 -04:00
heartsucker
129ef22185
updated instances of octal literals to use the format 0o123 for python3 compatibility 2019-03-29 11:08:44 +01:00
Jean-Paul Calderone
7511b5956b
Merge pull request #590 from tahoe-lafs/3016.address-already-in-use
Fix more "Address already in use" errors

Fixes: ticket:3016
2019-03-28 19:01:44 -04:00
Jean-Paul Calderone
a4a73a20a2 Fix incorrect assertion 2019-03-28 16:18:43 -04:00
Jean-Paul Calderone
53b40ef0e0 don't double start; don't try to handle double start. 2019-03-28 16:10:36 -04:00
Jean-Paul Calderone
a7d18780f2 try really hard to bind that random ephemeral port number 2019-03-28 16:06:25 -04:00
meejah
6970c2cc6d
Merge pull request #579 from tahoe-lafs/3001-python3-syntax-check
python3 syntax check
2019-03-28 19:14:59 +00:00
Jean-Paul Calderone
f5e287d3e9 Use the port assigner in test_introducer 2019-03-28 15:14:48 -04:00
Jean-Paul Calderone
4265cc8afd And for the NoNetworkGrid clients' web port config 2019-03-28 15:02:53 -04:00
Jean-Paul Calderone
2898b2477b Use the port assigner for the web port config as well 2019-03-28 15:02:14 -04:00
Jean-Paul Calderone
7c97503687 Move and somewhat refactor assign_foolscap_port.
These changes make it easier to re-use and remove the notion that it is
foolscap-specific.
2019-03-28 14:54:45 -04:00
heartsucker
be910fe269
updated syntax in directory.py to make whole allmydata.web python3 compatible 2019-03-28 12:32:13 +01:00
heartsucker
dbfcf8ae00
replaced StringIO imports with six.moves 2019-03-28 12:31:37 +01:00
meejah
664bd2dec8
Merge pull request #582 from tahoe-lafs/3010-remaining-print-functions
replaced all remaining instances of the print statement with the print function
2019-03-28 02:54:49 +00:00
meejah
d73626b7da
Merge pull request #580 from tahoe-lafs/3008-test-print-function
updated test code to use print function over print statement
2019-03-26 00:19:33 +00:00
meejah
d89647581b
Merge pull request #581 from tahoe-lafs/3009-print-functions-tahoe-scripts
replaced print statement with print fuction for all tahoe_* scripts
2019-03-26 00:07:08 +00:00
Jean-Paul Calderone
a26b9ca8af workaround https://github.com/crossbario/autobahn-python/issues/1151 2019-03-25 12:01:36 -04:00
Jean-Paul Calderone
848950a0c0 Merge remote-tracking branch 'origin/master' into ticket3006-websocket-streaming-logs 2019-03-25 08:42:30 -04:00
Jean-Paul Calderone
c2b8024856 remove this print
not sure where it came from
2019-03-24 11:33:41 -04:00
Jean-Paul Calderone
336e69c270 Hotfix for nevow#106 2019-03-24 11:26:58 -04:00
heartsucker
64f4dfa8ca
replaced all remaining instances of the print statement with the print function 2019-03-24 14:14:00 +01:00
heartsucker
fc417826f1
replaced print statement with print fuction for all tahoe_* scripts 2019-03-24 14:10:02 +01:00
Jean-Paul Calderone
78e458328e actually this returns the logs resource itself :/ 2019-03-22 16:54:33 -04:00
Jean-Paul Calderone
5ac7efc6f3 Make sure it succeeds with _OK_ 2019-03-22 16:43:08 -04:00
Jean-Paul Calderone
febfa50a83 make sure we get bytes here 2019-03-22 16:42:50 -04:00
Jean-Paul Calderone
794314668a this is not unicode, it came from a file, I guess 2019-03-22 15:50:58 -04:00
Jean-Paul Calderone
9de97dbdd5 Use guard and add some tests (integration failing) 2019-03-22 13:47:32 -04:00
heartsucker
df9243a3f4
updated test code to use print function over print statement 2019-03-22 17:32:36 +01:00
Jean-Paul Calderone
f7f9cf6abc
Merge pull request #576 from tahoe-lafs/3005.upstream-inline_callbacks
Use upstream inline_callbacks implementation.

Fixes: ticket:3005
2019-03-21 16:24:21 -04:00
Jean-Paul Calderone
58deb54cfc import cleanups 2019-03-21 15:01:25 -04:00
Jean-Paul Calderone
d00c4212a8 futurize 2019-03-21 15:01:14 -04:00
Jean-Paul Calderone
5f4f8d9dbb Create the /private hierarchy 2019-03-21 15:00:57 -04:00
Jean-Paul Calderone
2877c9b3c1 unused import 2019-03-21 15:00:19 -04:00
Jean-Paul Calderone
616fec0767 oops that should be gone too 2019-03-21 15:00:08 -04:00
Jean-Paul Calderone
e02962c3a3 Remove one more webport thingy 2019-03-21 14:39:52 -04:00
Jean-Paul Calderone
edf01d7817 don't compute the url, it doesn't seem to be necessary 2019-03-21 13:58:46 -04:00
meejah
956a39a6c1 clarify 2019-03-21 02:01:33 -06:00
meejah
dbea69c2d2 refactor 2019-03-21 01:52:45 -06:00
meejah
816ceb12cb make more things work 2019-03-21 01:37:47 -06:00
meejah
b734c893df prototype token-authenticated WebSocket stream 2019-03-20 18:14:47 -06:00
Jean-Paul Calderone
1f254fbdcc log the unicode instead of the localized byte string 2019-03-20 16:17:55 -04:00
Jean-Paul Calderone
5bdb37b786 Remove tests for removed code 2019-03-20 12:53:24 -04:00
Jean-Paul Calderone
e2d242d299 remove our implementation of inline_callbacks
re-publish Eliot's
2019-03-20 12:53:24 -04:00
Jean-Paul Calderone
e5e08e8410 Update pin to 1.7.x 2019-03-20 12:53:24 -04:00
Jean-Paul Calderone
a14d9f6116
Merge pull request #574 from tahoe-lafs/3004.eliotloggedruntest-addcleanup
Fix Eliot logging integration

Fixes: ticket:3004
2019-03-19 14:23:13 -04:00
Jean-Paul Calderone
32d56c4dcc Merge remote-tracking branch 'origin/master' into 3004.eliotloggedruntest-addcleanup 2019-03-19 12:29:18 -04:00
Jean-Paul Calderone
ae2be27e3a Merge remote-tracking branch 'origin/master' into 2995.remove-unnecessary-key-copying 2019-03-19 12:09:35 -04:00
Jean-Paul Calderone
4860d16401 Update the comment to reflect the updated implementation 2019-03-18 19:22:38 -04:00
Jean-Paul Calderone
20ba53f586 reflow for changed indentation level 2019-03-18 19:21:05 -04:00
Jean-Paul Calderone
55690bf639 Do it without a new flag
This is safer against other conditions where _deque ends up with items when we
start a scan - for example, if we chunk up deque processing.
2019-03-18 15:38:18 -04:00
Jean-Paul Calderone
6a4d461d38 only break it once because we don't do a full iteration after, now 2019-03-18 15:28:43 -04:00
Jean-Paul Calderone
d3fde4a4c5 and put the iterate into an action 2019-03-18 15:28:35 -04:00
Jean-Paul Calderone
0ac96e9113 put the _process_deque into an action too 2019-03-18 15:28:16 -04:00
Jean-Paul Calderone
20150541a7 put the _perform_scan into an eliot action 2019-03-18 15:27:38 -04:00
Jean-Paul Calderone
e1de96486c Don't re-run _perform_scan in this abstraction violating test
Just do what comes after _perform_scan
2019-03-18 15:11:25 -04:00
Jean-Paul Calderone
d1a62b1c99 Attempt to avoid the startup double-scan and related problems 2019-03-18 14:24:34 -04:00
Jean-Paul Calderone
c01c85522d Use the method
There is a method.  Why not use it?
2019-03-18 14:18:09 -04:00
Jean-Paul Calderone
50867bec8b Accept positional and keyword arguments and pass them on. 2019-03-15 15:13:20 -04:00
Jean-Paul Calderone
fda3d38c85 Avoid the extra dict lookup in the loop
Get the info at iteration time
2019-03-14 13:11:47 -04:00
Jean-Paul Calderone
dd7cb99ef4 Avoid another .keys() call 2019-03-14 13:11:47 -04:00
Jean-Paul Calderone
c83749311f Avoid some function dispatch overhead
Also, we might avoid some dict lookup overhead by being optimistic about
finding the entry.  At worst, we do two lookups - which is just what we did
before.
2019-03-14 13:11:47 -04:00
Jean-Paul Calderone
05eab3ce19 document these things since I had to figure them out 2019-03-14 13:11:47 -04:00
Jean-Paul Calderone
d504ad118f Avoid the extra lookup inside this loop
Get the key and value at the same time during iteration.
2019-03-14 13:11:47 -04:00
Jean-Paul Calderone
0e1bc2e786 As for the previous commit. 2019-03-14 13:11:47 -04:00
Jean-Paul Calderone
62cb883ca2 Just iterate over the dictionary.
It is not shared with anyone.  It is not mutated inside the loop.  We can use
the no-copy dict iterator.
2019-03-14 13:11:47 -04:00
Jean-Paul Calderone
e0c240a559 Use a MessageType so we can have a serializer
This allows us to avoid the .keys() call if logging is not actually enabled,
the common case.
2019-03-14 13:11:47 -04:00
Jean-Paul Calderone
365ff1a02c explain why we need to touch() twice 2019-03-14 11:26:06 -04:00
Jean-Paul Calderone
5141105441 Fix typo 2019-03-14 11:26:06 -04:00
Jean-Paul Calderone
2cb710ac1e Just touch the path once 2019-03-14 11:26:06 -04:00
Jean-Paul Calderone
b14583f0e9 Remove this broken ignore_count thing
The only purpose it serves to make the tests invalid and useless.
2019-03-14 11:26:06 -04:00
Jean-Paul Calderone
dfd0c6e54c fix "downloader" type in message type 2019-03-14 11:26:06 -04:00
Jean-Paul Calderone
3978c45b04 spit out the events as raw as we can 2019-03-14 11:26:06 -04:00
Jean-Paul Calderone
fef79cd4a3 re-use the _add_watch helper 2019-03-14 11:24:35 -04:00
Jean-Paul Calderone
fcb08b5a3a Move these Eliot events somewhere reusable 2019-03-14 11:24:35 -04:00
Jean-Paul Calderone
9ed019f8de Give the tests a little more time. Windows may need it. 2019-03-14 11:24:35 -04:00
Jean-Paul Calderone
64826aee37 Clean up stdout a bit 2019-03-14 11:24:35 -04:00
Jean-Paul Calderone
3176b6f18a Create the watchdog Observer sooner
This lets us watch before start which Windows seems to really want.
2019-03-14 11:24:35 -04:00
Jean-Paul Calderone
263755fb26 Watch before we start.
Linux and macOS are happy to watch after starting.  Our Windows support
library can't deal with such a case, though.

Linux is happy with the other order.  I'm about to find out if macOS is.

There are likely further Windows issues to deal with.
2019-03-14 11:24:35 -04:00
Jean-Paul Calderone
2205bf0fdd unused 2019-03-14 11:24:35 -04:00
Jean-Paul Calderone
241b6cedfe Remove the skipped tests
They're skipped because we don't need that functionality.  If we need it in
the future, we'll implement it with tests.
2019-03-14 11:24:35 -04:00
Jean-Paul Calderone
984d27ab62 simplify 2019-03-14 11:24:35 -04:00
Jean-Paul Calderone
67ccd21481 python syntax 2019-03-14 11:24:35 -04:00
Jean-Paul Calderone
35fc563a6f Attempt to work-around watchdog bug 2019-03-14 11:24:35 -04:00
Jean-Paul Calderone
e0b7919ad8 macOS is picky 2019-03-14 11:24:35 -04:00
Jean-Paul Calderone
4cccf5a316 it sure would be useful to be able to inspect these 2019-03-14 11:24:35 -04:00
Jean-Paul Calderone
c5c7f954e9 fix it! 2019-03-14 11:24:35 -04:00
Jean-Paul Calderone
515475022a add a test for deleting a file and its containing directory
at about the same time
2019-03-14 11:24:35 -04:00
Jean-Paul Calderone
0822a71163 If it's some _other_ error then propagate it! 2019-03-14 11:24:35 -04:00
Jean-Paul Calderone
c2e19cc098 fix a raft of directory handling issues 2019-03-14 11:24:35 -04:00
Jean-Paul Calderone
4b0b269b56 Perform the asserts earlier 2019-03-14 11:24:35 -04:00
Jean-Paul Calderone
ed755cf590 it didn't start if the path is invalid 2019-03-14 11:24:35 -04:00
Jean-Paul Calderone
f2cfad0cb9 There _is_ no traceback. It's an else. 2019-03-14 11:24:35 -04:00
Jean-Paul Calderone
db7af2661a Close a window for a race condition in notification processing 2019-03-14 11:24:35 -04:00
Jean-Paul Calderone
81ca822edf Cut the cost of this logging when logging is disabled 2019-03-14 11:24:35 -04:00
Jean-Paul Calderone
3ab7138598 some imports we need 2019-03-14 11:24:35 -04:00
Jean-Paul Calderone
7440ff6b93 log collective scanning 2019-03-14 11:24:35 -04:00
Jean-Paul Calderone
831836d5f6 don't try to propagate for non-directories 2019-03-14 11:24:35 -04:00
Jean-Paul Calderone
edfd9d3f92 rejected 2019-03-14 11:24:35 -04:00
Jean-Paul Calderone
cf2105364f Try to fix another race in this test 2019-03-14 11:24:35 -04:00
Jean-Paul Calderone
600f263a3b marginally improve reporting of uploader count failures 2019-03-14 11:24:35 -04:00
Jean-Paul Calderone
17540c78f3 not going to get processed any other way on fsevents 2019-03-14 11:24:35 -04:00
Jean-Paul Calderone
da0bbd6bba Make this log message less confusing.
The method name still needs to be fixed.
2019-03-14 11:24:35 -04:00
Jean-Paul Calderone
70ec8f2963 log this case 2019-03-14 11:24:35 -04:00
Jean-Paul Calderone
de9c681fe2 Let me query for direct children of a directory 2019-03-14 11:24:35 -04:00
Jean-Paul Calderone
d4752bde1a try to get more precise watchdog event info 2019-03-14 11:24:35 -04:00
Jean-Paul Calderone
4fc99b1b4d oops 2019-03-14 11:24:35 -04:00
Jean-Paul Calderone
bfa93adad0 expose another implementation detail! 2019-03-14 11:24:35 -04:00
Jean-Paul Calderone
b52524f701 this test probably makes no sense for watchdog 2019-03-14 11:24:35 -04:00
Jean-Paul Calderone
8bec797f66 somewhat better failure messages 2019-03-14 11:24:35 -04:00
Jean-Paul Calderone
944cb6f425 switch to testtools-compatible skips 2019-03-14 11:24:35 -04:00
Jean-Paul Calderone
1d0c862c54 convert some tests over to the new base class
in support of better logging
2019-03-14 11:24:35 -04:00
Jean-Paul Calderone
29e3390fb9 re-use log_call_deferred where it is easy to do so 2019-03-14 11:24:35 -04:00
Jean-Paul Calderone
807568e09f Log downloads 2019-03-14 11:24:35 -04:00
Jean-Paul Calderone
ae59679875 log this action 2019-03-14 11:24:19 -04:00
Jean-Paul Calderone
ec5ebc2738 fix the Deferred interactions with that last Eliot change 2019-03-14 11:24:19 -04:00
Jean-Paul Calderone
641cb8a506 Make these checks a little more informative 2019-03-14 11:24:19 -04:00
Jean-Paul Calderone
c63a75dd2a Tag some of test_alice_bob with Eliot actions 2019-03-14 11:24:19 -04:00
Jean-Paul Calderone
5d4564ad51 and this test 2019-03-14 11:24:19 -04:00
Jean-Paul Calderone
2d2b8a4b7f eliot this too 2019-03-14 11:24:19 -04:00
Jean-Paul Calderone
f38f53c28d Add some more action context to this test 2019-03-14 11:24:19 -04:00
Jean-Paul Calderone
9d65b5c155 Get back to the reactor thread sooner 2019-03-14 11:24:19 -04:00
Jean-Paul Calderone
49c5a1f8d5 remove harmless but irrelevant noise 2019-03-14 11:24:19 -04:00
Jean-Paul Calderone
2d5f175712 this is probably more useful and less surprising 2019-03-14 11:24:19 -04:00
Jean-Paul Calderone
0845c9ba80 no apparent reason for ths 2019-03-14 11:24:19 -04:00
Jean-Paul Calderone
fdd603e42d keep everything in the test context 2019-03-14 11:24:19 -04:00
Jean-Paul Calderone
725c85b2f4 try not creating a duplicate Observer 2019-03-14 11:24:19 -04:00
Jean-Paul Calderone
679b9a93c1 this is a chunk of work I guess 2019-03-14 11:24:19 -04:00
Jean-Paul Calderone
5331820325 Put some Eliot here 2019-03-14 11:24:19 -04:00
Jean-Paul Calderone
b19e7c5946 fix and improve callback logging 2019-03-14 11:24:19 -04:00
Jean-Paul Calderone
1ec0e48422 good housekeeping 2019-03-14 11:24:19 -04:00
Jean-Paul Calderone
3b5e8d7e6b move inotify events eliot field 2019-03-14 11:24:19 -04:00
Jean-Paul Calderone
1883cee37f speed up these failures 2019-03-14 11:24:19 -04:00
Jean-Paul Calderone
331b96250d Space out file modifications to fit within macOS constraints 2019-03-14 11:24:19 -04:00
Jean-Paul Calderone
6ccd9f4b44 try to get some indication of fake behavior in the log 2019-03-14 11:23:16 -04:00
Jean-Paul Calderone
e822d43808 add more detailed logging to this test 2019-03-14 11:23:16 -04:00
Jean-Paul Calderone
bda7301cb8 [wip] convert logging to eliot 2019-03-14 11:23:16 -04:00
Jean-Paul Calderone
7cbfc07b0c expunge low-grade debugging change 2019-03-14 11:23:16 -04:00
Jean-Paul Calderone
75d77305f9 avoid using a bool for a skip value 2019-03-14 11:23:16 -04:00
Jean-Paul Calderone
76a6f2d710 Why skip it? It works. 2019-03-14 11:23:16 -04:00
Jean-Paul Calderone
37cb9a1284 Fix the directory deletion test 2019-03-14 11:23:16 -04:00
Jean-Paul Calderone
006342d7d4 magic-folder doesn't use ignore 2019-03-14 11:23:16 -04:00
Jean-Paul Calderone
5273a930aa magic-folder doesn't use autoAdd=True 2019-03-14 11:23:16 -04:00
Jean-Paul Calderone
19400cc13d Neither of these events is used 2019-03-14 11:23:16 -04:00
Jean-Paul Calderone
e0c5905a7e Fix the move skips. And explain them. 2019-03-14 11:23:16 -04:00
Jean-Paul Calderone
2cfa88265b Turns out we don't care about IN_CREATE either 2019-03-14 11:23:16 -04:00
Jean-Paul Calderone
c57a70dbec remove skipped tests for behavior we obviously don't care about 2019-03-14 11:23:16 -04:00