Sajith Sasidharan
8d31791940
Use a helper to exercise render() in storage test cases
2020-07-09 16:05:30 -04:00
Sajith Sasidharan
7126d3247c
Prefix member variable with "_"
2020-07-09 16:05:30 -04:00
Sajith Sasidharan
0d9ec2b206
Use slots to render storage stats table
2020-07-09 16:05:30 -04:00
Sajith Sasidharan
9dd9d98b8c
Give the suite the precise string it wants
2020-07-09 16:05:30 -04:00
Sajith Sasidharan
1469af0f3b
Use BeautifulSoup to check favicon in storage page
2020-07-09 16:05:30 -04:00
Sajith Sasidharan
56e2fa3f24
Use <t:transparent> to render node nickname and id
...
CI did not like the old way, but it passed in my system. Odd.
2020-07-09 16:05:30 -04:00
Sajith Sasidharan
0bd386384e
Mark format_recovered
as static method
2020-07-09 16:05:30 -04:00
Sajith Sasidharan
bc8a86e106
Use Unicode strings to render space
2020-07-09 16:05:30 -04:00
Sajith Sasidharan
0b4c235fbd
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-07-09 16:05:30 -04:00
Sajith Sasidharan
db0e6407dc
Use successResultOf
in renderSynchronously
...
Get rid of [].append trick when dealing with the deferred.
2020-07-09 16:05:30 -04:00
Sajith Sasidharan
ee8e730727
Move renderSynchronously
to test suite
2020-07-09 16:05:30 -04:00
Sajith Sasidharan
92f6e4bfe5
Use explicit None
-check on self.storage
2020-07-09 16:05:30 -04:00
Sajith Sasidharan
affe10b3e9
Return result from renderHTTP
...
Bogus renderHTTP, but test failures are now down to three. We just
need to handle requests for JSON now.
2020-07-09 16:05:30 -04:00
Sajith Sasidharan
6b5e530cb3
Add a docstring
2020-07-09 16:05:30 -04:00
Sajith Sasidharan
abb8834be1
Rename function for clarity
2020-07-09 16:05:30 -04:00
Sajith Sasidharan
e67fa7cd95
Add docstrings to StorageStatusElement
2020-07-09 16:05:30 -04:00
Sajith Sasidharan
ac9a73eddb
Use parentheses in test suite's import statement
2020-07-09 16:05:30 -04:00
Sajith Sasidharan
62a997ce20
Use parentheses in import statement
2020-07-09 16:05:30 -04:00
Sajith Sasidharan
1be736e4d1
Fix test_storage.WebStatus.test_no_server failure
2020-07-09 16:05:30 -04:00
Sajith Sasidharan
8dd4029428
Use <t:transparent /> within table cells
2020-07-09 16:05:30 -04:00
Sajith Sasidharan
6ccb9d29cb
Use render_space methods to render space
2020-07-09 16:05:30 -04:00
Sajith Sasidharan
dbc6b2afa0
Drop unused ctx
argument from render_space methods
2020-07-09 16:05:30 -04:00
Sajith Sasidharan
d5af7c0d2e
Refactor so that test_util pass
2020-07-09 16:05:30 -04:00
Sajith Sasidharan
923219e54a
Use right syntax for twisted.web.template tags
2020-07-09 16:05:29 -04:00
Sajith Sasidharan
42c3e276a3
Check storage server status before using it
2020-07-09 16:05:29 -04:00
Sajith Sasidharan
d1f17e1019
Second version of renderSynchronously
2020-07-09 16:05:29 -04:00
Sajith Sasidharan
805b880c2e
Add missing flattenString
import
2020-07-09 16:05:29 -04:00
Sajith Sasidharan
75488c4aff
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-07-09 16:05:29 -04:00
Sajith Sasidharan
aad3557d2b
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-07-09 16:05:29 -04:00
meejah
7a37eeee67
assert -> Exception
2020-07-09 16:05:29 -04:00
meejah
5cfb350771
streap -> stream
2020-07-09 16:05:29 -04:00
meejah
1f4b619fda
unused imports
2020-07-09 16:05:29 -04:00
meejah
77a2f11694
more-testtools-y asserts
2020-07-09 16:05:29 -04:00
meejah
1ce760b237
testtool's asserts
2020-07-09 16:05:29 -04:00
meejah
26d7a3a957
Get rid of ?replace= handling entirely and more-correctly support /uri variants
2020-07-09 16:05:29 -04:00
meejah
e0287a7bfe
use attr.s
2020-07-09 16:05:29 -04:00
meejah
af70911e2f
embetter docstring
2020-07-09 16:05:29 -04:00
meejah
d91996aa82
better docstring
2020-07-09 16:05:29 -04:00
meejah
eaf96b22fe
replciate Tahoe's behavior for replace=true/false
2020-07-09 16:05:29 -04:00
meejah
a3f4cc6983
symbols, not magic-numbers
2020-07-09 16:05:29 -04:00
meejah
0f6b4c33ac
match query args
2020-07-09 16:05:29 -04:00
meejah
66f61c514b
assert -> ValueError
2020-07-09 16:05:29 -04:00
meejah
bd858f8fef
assert -> raise
2020-07-09 16:05:29 -04:00
meejah
835341f2c2
more docstring
2020-07-09 16:05:29 -04:00
meejah
6fd0d61d5e
comment
2020-07-09 16:05:29 -04:00
meejah
10715fa26b
docstring
2020-07-09 16:05:29 -04:00
meejah
9420777810
cleanup, docstrings
2020-07-09 16:05:29 -04:00
meejah
e481e37beb
housekeeping
2020-07-09 16:05:29 -04:00
meejah
9d5e438c2d
use real parser
2020-07-09 16:05:29 -04:00
meejah
683c8d3e4f
actually returns CREATED for new data
2020-07-09 16:05:29 -04:00
meejah
b01995f158
use hypothesis -- which doesn't know about Deferred, so need testtools too
2020-07-09 16:05:29 -04:00
meejah
0cc020b5f2
copyright, header
2020-07-09 16:05:29 -04:00
meejah
1710530b6b
key -> kind
2020-07-09 16:05:29 -04:00
meejah
c0ce716430
handle more inputs in test body-producer
2020-07-09 16:05:29 -04:00
meejah
02a663c244
new-style classes only
2020-07-09 16:05:29 -04:00
meejah
18b62bf746
unused imports
2020-07-09 16:05:29 -04:00
meejah
05140a5881
simple test of testing/web
2020-07-09 16:05:29 -04:00
meejah
66116020fb
simplify tahoe web fakes
2020-07-09 16:05:29 -04:00
meejah
95531fa729
synchronous-only up/download tahoe code to keep treq.testing happy
2020-07-09 16:05:29 -04:00
meejah
ab7936db56
actual usable agent
2020-07-09 16:05:29 -04:00
meejah
6e2285ed2c
proof-of-concept verified-fake for testing
2020-07-09 16:05:29 -04:00
Sajith Sasidharan
b956d9a58c
Decode name before null check
...
Make the diff against master a tad bit smaller.
2020-07-09 16:05:29 -04:00
Sajith Sasidharan
fccc331671
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-07-09 16:05:29 -04:00
Sajith Sasidharan
378b20c51a
Reject trailing empty path piece in URIs
2020-07-09 16:05:29 -04:00
Sajith Sasidharan
d3d0d02855
Reject URIs that contain empty segments
2020-07-09 16:05:29 -04:00
Sajith Sasidharan
5892eae580
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-07-09 16:05:29 -04:00
Sajith Sasidharan
7444d6b7a9
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-07-09 16:05:29 -04:00
Sajith Sasidharan
4dd6c86950
Use twisted web directives in web.operations.ReloadMixin
2020-07-09 16:05:28 -04:00
Itamar Turner-Trauring
1e41df9f48
Add to list of ported modules.
2020-07-09 14:38:07 -04:00
Sajith Sasidharan
2e160c1526
Test for failure caused by invalid path
...
A hyphen is expected when rendering /status page child nodes:
"/status/up" is wrong; "/status/up-0" is right.
2020-07-09 14:37:37 -04:00
Sajith Sasidharan
54248f334e
Use WebError, not RuntimeError, to indicate error
...
Several problems with using RuntimeError to signal error here:
- It dumps a rather unhelpful webpage at the user.
- The exception backtrace on Tahoe console is not quite necessary here.
- It really is not a runtime error: it is just an expected failure.
- But mainly, testing for RuntimeError is harder.
2020-07-09 14:35:14 -04:00
Itamar Turner-Trauring
7d1fdd8284
Port modules to Python 3.
2020-07-09 14:32:16 -04:00
Itamar Turner-Trauring
0cf1117165
Move the tests for deferredutil into their own module.
2020-07-09 14:20:12 -04:00
Itamar Turner-Trauring
e108ecb4b0
Fix lint.
2020-07-09 13:56:25 -04:00
Itamar Turner-Trauring
af86066eab
Delete some dead code.
2020-07-09 13:52:06 -04:00
Itamar Turner-Trauring
12d5131568
Fix pyflakes issues.
2020-07-09 13:12:30 -04:00
Sajith Sasidharan
7bee9ff540
Untabify again
2020-07-08 13:56:52 -04:00
Sajith Sasidharan
4d22390b59
Untabify
2020-07-08 13:29:01 -04:00
Sajith Sasidharan
51d6307b45
Fail better when timings data isn't available
2020-07-08 13:08:35 -04:00
Sajith Sasidharan
112cfc1da5
Test if download status page can be rendered partially
2020-07-08 13:08:35 -04:00
Sajith Sasidharan
c187e2752b
Parameterize FakeDownloadResults and FakeDownloadStatus
2020-07-08 13:08:35 -04:00
Itamar Turner-Trauring
9e3bc3e888
These tests are no longer necessary, since we are no longer implementing this
...
code ourselves.
Before deleting the tests I ensured they either passed, or the failure were due
to slightly different string formatting in pyutil's assertutil.
As such I believe pyutil has the same behavior.
2020-07-08 12:16:26 -04:00
Itamar Turner-Trauring
bd6ff36b2f
Fix typo.
2020-07-08 12:13:24 -04:00
Itamar Turner-Trauring
939648c04f
Add back missing function.
2020-07-08 12:13:19 -04:00
Itamar Turner-Trauring
229583c596
Switch to mathutil from pyutil (it has tests, and has already been ported to
...
Python 3).
2020-07-08 12:02:58 -04:00
Itamar Turner-Trauring
016c7754a6
Switch to use pyutil's assertutil implementation.
2020-07-08 11:57:10 -04:00
Sajith Sasidharan
81216f18bf
Remove some whitespace
2020-07-08 10:15:33 -04:00
Sajith Sasidharan
d6ea30b935
Test more markup rendered by DownloadStatusElement
2020-07-07 22:20:49 -04:00
Sajith Sasidharan
0db56f99cf
Add some tests for DownloadStatusElement
2020-07-07 20:49:58 -04:00
Sajith Sasidharan
7757756a41
Use correct tag type
2020-07-07 20:45:30 -04:00
Sajith Sasidharan
0c4d24a2ac
Avoid use of deferred within an Element
...
This causes the final HTML to be rendered funny, with a bunch of
"<Deferred current result=...>", which is clearly not what we want.
2020-07-07 20:24:56 -04:00
Sajith Sasidharan
7877d8a5cc
Use an accessor
2020-07-07 19:55:14 -04:00
Itamar Turner-Trauring
3d0e4df5ce
Lint fixes.
2020-07-07 11:30:01 -04:00
Itamar Turner-Trauring
e06d41442a
Merge remote-tracking branch 'origin/master' into 3324-humanreadable-python-3
2020-07-07 11:03:33 -04:00
Sajith Sasidharan
a3bf4e0269
Remove an unused import
2020-07-06 20:18:22 -04:00
Sajith Sasidharan
e6eb387707
Remove status.RateAndTimeMixin
...
Both UploadResultsRenderer and DownloadResultsRenderer do not use
RateAndTimeMixin anymore: safe to remove it now.
Tests for methods formerly in RateAndTimeMixin have been moved to
test.web.test_util: specifically test_abbreviate_rate() and
test_abbreviate_time().
2020-07-06 17:11:30 -04:00
Sajith Sasidharan
4a47e8311f
Merge 'origin/master' into 3288.status-download-nevow-to-twisted-web
2020-07-06 16:38:23 -04:00
Sajith Sasidharan
25f5e659fc
Merge pull request #721 from sajith/3287.status-upload-nevow-to-twisted-web
...
Replace nevow with twisted.web.template in status.UploadStatusPage
Fixes: ticket:3287
2020-07-06 16:20:40 -04:00
Sajith Sasidharan
61aef4caef
Merge pull request #690 from sajith/3247.storage-py-neovw-to-twt
...
Use twisted.web.template in web/storage.py
Fixes: ticket:3247
2020-07-06 16:18:34 -04:00
Itamar Turner-Trauring
f548593f37
Fix test_python3, and mark these two modules as being ported as well.
2020-07-06 14:18:18 -04:00
Itamar Turner-Trauring
b990334104
Add the builtins import to make Python 2 builtins match Python 3's.
2020-07-06 14:00:02 -04:00
Itamar Turner-Trauring
83b9bbf743
Switch definitely to _python3.py for listing modules, but also note if a module
...
has been ported in its docstring.
2020-07-03 13:28:36 -04:00
Itamar Turner-Trauring
140cb80ff7
Clarify comment.
2020-07-03 13:15:57 -04:00
Itamar Turner-Trauring
12691eb597
Only install module mappings once.
2020-07-02 14:31:33 -04:00
Itamar Turner-Trauring
ad7f44db99
Listed ported modules.
2020-07-02 14:27:43 -04:00
Itamar Turner-Trauring
70a029fb81
Tests pass on both Python 2 and Python 3.
2020-07-02 14:26:35 -04:00
Itamar Turner-Trauring
c207a0c932
Port test_humanreadable.py to Python 3.
2020-07-02 14:10:38 -04:00
Itamar Turner-Trauring
99b62775e9
Initial list of ported modules.
2020-07-02 13:42:30 -04:00
Itamar Turner-Trauring
b7f88b278f
Split out tests for humanreadable into their own module, so we can port just
...
humanreadable.py in isolation.
2020-07-02 13:40:40 -04:00
meejah
ffd24b9c7f
Merge pull request #728 from meejah/ticket3317-verified-fakes
...
Ticket 3317: start of verified fakes
2020-06-30 19:40:39 +00:00
meejah
80359e02e6
assert -> Exception
2020-06-30 08:17:34 -06:00
meejah
a9f4210014
streap -> stream
2020-06-30 08:15:58 -06:00
Sajith Sasidharan
f9e864c51c
Use simpler syntax to update map
2020-06-24 08:15:18 -04:00
Sajith Sasidharan
88d3fa7415
Remove now-unnecessary UploadResultsPage.render_UPLOAD
2020-06-23 21:54:23 -04:00
Sajith Sasidharan
dfbb8e7743
Make UploadResultsPage a Resource
2020-06-23 21:53:39 -04:00
Sajith Sasidharan
6ab7f26faf
Make UploadStatusPage a Resource
2020-06-23 21:28:31 -04:00
Sajith Sasidharan
00e852c465
Make DownloadStatus an object
...
PythonTwoRegressions.test_new_style_classes would be unhappy without
this.
2020-06-23 20:54:49 -04:00
Sajith Sasidharan
36ecd8f384
Use render_GET()
...
Implementing `render_METHOD()` is preferred over overriding render()
2020-06-23 20:54:49 -04:00
Sajith Sasidharan
b14c0a0495
Make DownloadStatusPage a Resource
...
No need of this being a MultiFormatResource, because it renders just
HTML.
2020-06-23 20:54:49 -04:00
meejah
aedc58ef51
unused imports
2020-06-19 17:22:42 -06:00
meejah
f0ac5a2cef
more-testtools-y asserts
2020-06-19 17:19:30 -06:00
meejah
57eb875354
testtool's asserts
2020-06-19 17:16:39 -06:00
meejah
ef71fc2bfc
Get rid of ?replace= handling entirely and more-correctly support /uri variants
2020-06-19 17:15:01 -06:00
Sajith Sasidharan
982ad8942e
Comment about nevow.url usage in web.operations.OphandleTable
2020-06-18 18:30:18 -04:00
Sajith Sasidharan
2d2e8a5872
Add comments to web.operations.OphandleTable
2020-06-18 18:29:39 -04:00
Sajith Sasidharan
bbee23b493
Rename a parameter for clarity
...
"context" is nevow terminology, whereas these are really requests.
2020-06-18 18:29:39 -04:00
Sajith Sasidharan
5ec78641db
Make web.operations.OphandleTable a twisted web Resource
2020-06-18 18:29:27 -04:00
Sajith Sasidharan
6f8af688dd
Rearrange imports
2020-06-18 18:01:18 -04:00
Sajith Sasidharan
dfb477a2b1
Remove unused import
2020-06-17 22:09:50 -04:00
Sajith Sasidharan
e121cc0a84
Use the right names
...
Missed this in testing because this code was not reached in testing.
2020-06-17 22:09:50 -04:00
Sajith Sasidharan
4f213e93be
Remove an unused variable
2020-06-17 22:04:08 -04:00
Sajith Sasidharan
0483fc91c1
Remove unused import
2020-06-17 22:04:08 -04:00
Sajith Sasidharan
c3440ce213
Use a helper to query monitor counters
2020-06-17 21:53:11 -04:00
Sajith Sasidharan
47f9147e16
Rename a class for consistency's sake
2020-06-17 21:46:40 -04:00
Sajith Sasidharan
fe1b0cb7ed
Rename class variables
2020-06-17 21:18:14 -04:00
Sajith Sasidharan
22977352bb
Document parameters of ResultsRenderer classes
2020-06-17 21:18:14 -04:00
Sajith Sasidharan
79be795566
Remove unused want_json()
2020-06-17 21:18:14 -04:00
Sajith Sasidharan
23a51117d2
Rename r
to check_results
2020-06-17 21:18:14 -04:00
Sajith Sasidharan
fae4f44404
Prefer req
to ctx
2020-06-17 21:18:14 -04:00
Sajith Sasidharan
cdb3747470
Remove nevow imports
2020-06-17 21:18:14 -04:00
Sajith Sasidharan
de99912641
Replace ctx
references with req
references
2020-06-17 21:18:14 -04:00
Sajith Sasidharan
1ee756c8df
Use Beautiful Soup to check for favicon
2020-06-17 21:18:14 -04:00
Sajith Sasidharan
2e60408bf6
Wrap counters in <span> tags
...
Unless the rendered page contains strings of the form "Objects
Checked: <span>n</span>" etc, test_POST_DIRURL_deepcheck will not
pass.
2020-06-17 21:18:14 -04:00
Sajith Sasidharan
33ddac879c
Remove unused code
2020-06-17 21:18:14 -04:00
Sajith Sasidharan
8094b3144d
Use SlotsSequenceElement to render all objects
2020-06-17 21:18:14 -04:00
Sajith Sasidharan
4e594b09bf
Use SlotsSequenceElement to render corrupt shares
2020-06-17 21:18:14 -04:00
Sajith Sasidharan
46cb3b6bc3
Use SlotsSequenceElement to render servers with corrupt shares
2020-06-17 21:18:14 -04:00
Sajith Sasidharan
c41bca24f5
Use SlotsSequenceElement to render deep check results problems
2020-06-17 21:18:14 -04:00
Sajith Sasidharan
bbd6bde478
Use SlotsSequenceElement to render remaining corrupt shares
...
This was previously not implemented; leaving it as such.
2020-06-17 21:18:14 -04:00
Sajith Sasidharan
19f6ec7102
Use SlotsSequenceElement to render servers with corrupt shares
...
This was previously not implemented; leaving it as such.
2020-06-17 21:18:14 -04:00
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