1428eb3b58e3b397250f19ac076afa0058487a47
6196 Commits
| Author | SHA1 | Message | Date | |
|---|---|---|---|---|
|
Zuul
|
449096011f | Merge "tests: Remove BaseFakeStatsdClient.get_increment_counts" | ||
|
Zuul
|
7bef99cfd1 | Merge "tests: add LabeledStatsdClient sample_rate kwarg coverage" | ||
|
Alistair Coles
|
37a25b340d |
tests: Remove BaseFakeStatsdClient.get_increment_counts
The method is redundant and confusingly named. Since the Related-Change it actually returns the aggregate value of counters, not just the count of calls made to the increment method alone. Related-Change: I4d8a4b530465b587caced4362eb9178507701cef Change-Id: I52585567a177f58e0f110785b44f8d238b2ac54d |
||
|
Clay Gerrard
|
563c1ca656 |
DRY out AbstractStatsdClient public methods
Both the StatsdClient and LabeledStatsdClient implemented all of the public interface methods for an AbstractStatsdClient. Even though the implementations are identical the interfaces themselves were made different WRT the "last" positional arg if provided. This change puts the identical implementations of the public interface in the AbstractStatsdClient class with a generic interface. For backwards compat with the existing public interface on the legacy-StatsdClient we have to make the old signature explicit - but we can transparently call into the common implementation. For consistency with legacy-Statsdclient and better docstrings this change also "fixes" the signature for the new LabeledStatsdClient public interface methods so they explicitly state labels must always be passed in as a kwarg to avoid confusion accidentally passing in `sample_rate=<dict>` or `label=<float>` as a positional arg. Drive-by: as a side-effect of consolidating the implementations there was now only one place to extend a fix in the FakeStatedClient interface so that tests who assert StatsdClient method calls don't have to read like the UUT also called some *other* public StatsdClient method; which also cleaned up some Fake helpers that deal specifically with counters. Drive-by: fix stub return value TypeError in a _get_hashes mock that was caught by better faking. N.B. it doesn't matter how statsd would have handled 'metric:None|c' because it was only a test bug. Change-Id: I4d8a4b530465b587caced4362eb9178507701cef |
||
|
Clay Gerrard
|
ed0ef35713 |
tests: add LabeledStatsdClient sample_rate kwarg coverage
Add test coverage for passing sample_rate to LabeledStatsdClient methods. Drive-by: clean up and tighten some existing StatsdClient unit tests to share a CommonBaseTestsMixin, as was expedient perhaps to the chagrin of the co-author. Related-Change: I115ffb1dc601652a979895d7944e011b951a91c1 Co-Authored-By: Alistair Coles <alistairncoles@gmail.com> Change-Id: I68a24d9467e58994abbac82a5e741f5bb578976c |
||
|
Alistair Coles
|
769e482ea8 |
tests: provide FakeLabeledStatsdClient for debug
Drive by: FakeStatsdClient.send_calls was not used and is removed. Change-Id: Ib8bfff8d46ae81b017aff05aad80afe421e6828a |
||
|
Clay Gerrard
|
0e2791a88a |
Remove deprecated statsd label_mode
Hopefully if we never do a release that supports signalfx no one will ever use it and we won't have to maintain it. Drive-by: refactor label model dispatch to fix a weird bug where a config name could be a class attribute and blow up weird. Change-Id: I2c67b59820c5ca094077bf47628426f4b0445ba0 |
||
|
Tim Burke
|
7e5235894b |
stats: API for native labeled metrics
Introduce a LabeledStatsdClient API; no callers yet. Include three config options: - statsd_label_mode, which specifies which label format to use - statsd_emit_legacy, which dictates whether to emit old-style metrics dotted metrics - statsd_user_label_<name> = <value>, which supports user defined labels in restricted ASCII characters Co-Authored-By: yanxiao@nvidia.com Co-Authored-By: alistairncoles@gmail.com Change-Id: I115ffb1dc601652a979895d7944e011b951a91c1 |
||
|
Tim Burke
|
688656a096 |
Clarify that get_ppid is Linux-only
Change-Id: I5a0fa398901895de30ce979e22ef65fbd299656f |
||
|
Zuul
|
3f59cef644 | Merge "Make FakeSwiftCall.DUMMY_VALUE a bespoke singleton" | ||
|
Zuul
|
5074410a9d | Merge "linkat: Raise error if we run out of retries" | ||
|
Zuul
|
63155d1117 | Merge "cors-tests: Default S3_ENDPOINT sensibly" | ||
|
Alistair Coles
|
2f74376e7e |
Make FakeSwiftCall.DUMMY_VALUE a bespoke singleton
In test assertion failure messages the DUMMY_VALUE would be shown as <object object ...> which is not immediately recognisable as the dummy value.. This change makes the DUMMY_VALUE show as <test.unit.common.middleware.helpers.FakeSwiftDummyValue object ...>. Change-Id: I73fac245c65c48d45e4919c6f15688d482148407 Related-Change: I332ce724aa10287800cbec8ca21aacc3bbd3c22a |
||
|
Alistair Coles
|
0cdd3915c4 |
Fix FakeSwiftCall partial env copy for None values
None values in the request environ should be copied, not replaced with the dummy value. Related-Change: I332ce724aa10287800cbec8ca21aacc3bbd3c22a Change-Id: Id78ac1cac833f9284946cd364b3f95341afcb235 |
||
|
Zuul
|
6d3a2c1345 | Merge "Remove dependency on mock" | ||
|
Tim Burke
|
cfa0094eb4 |
cors-tests: Default S3_ENDPOINT sensibly
If it's not provided, don't assume localhost; use the scheme/netloc from OS_STORAGE_URL. Change-Id: I0877099cb044cf8aaaeb6af0b4e1332fac00b10b |
||
|
Zuul
|
8f2fd0bc1c | Merge "tests: Fix keystoneclient import" | ||
|
Zuul
|
f0093a6a74 | Merge "FakeSwift: more encapsulation of request properties" | ||
|
Tim Burke
|
08a6db1357 |
tests: Fix keystoneclient import
Related-Change: I86bcd7a2373cf1e7213cb716888307306b7bb50d Change-Id: I0056bfc78f9c89b1c458943ee446499d21667fac |
||
|
Tim Burke
|
62cb4736ed |
Remove dependency on mock
Change-Id: I9044e49ff30b092a97b75fa7fa133016d17cde37 |
||
|
Zuul
|
5554f432f5 | Merge "tests: Allow configuring normalized_urls = false" | ||
|
Zuul
|
8b862e66c1 | Merge "tests: Reference test.functional.normalized_urls directly" | ||
|
Zuul
|
d4d57a7a7d | Merge "Remove __future__ imports" | ||
|
Zuul
|
5219b5ef14 | Merge "Stop using cgi.parse_header" | ||
|
Tim Burke
|
11422a3957 |
tests: Allow configuring normalized_urls = false
Previously, we weren't converting it to a boolean, but left it as a truth-y string. Change-Id: Ia0349d991435492ac9d80c36c5b1123b9e310db6 |
||
|
Tim Burke
|
3db28d41f1 |
tests: Reference test.functional.normalized_urls directly
... rather than importing it before it's been read in setup_package and never getting any updated value. Related-Change: I699d664bcef6754aac4ec6877830e745b764342f Change-Id: I48faabc5b59f94a47dfeb871f13ddbcbaa20d349 |
||
|
Tim Burke
|
bae8cd0db8 |
Remove __future__ imports
Change-Id: Ibd3d5f83fcd31d78447a894ff4426e3e1b62e5a8 |
||
|
Tim Burke
|
c390c637d1 |
Stop using cgi.parse_header
With py311 we started seeing warnings like DeprecationWarning: 'cgi' is deprecated and slated for removal in Python 3.13 The recommended replacement isn't quite up to snuff (doesn't handle multiple parameters), but we already have a reasonably close replacement. Add a "loose" mode to parse_content_type to make it suitable when there may be a slash in a parameter token. Add a new utils.parse_header function that takes advantage of the parse_content_type "loose" mode. Closes-Bug: #2084472 Change-Id: Ie281ff90796f2d68840952c95669f264480b1b4c |
||
|
Tim Burke
|
0a8ecbc554 |
py3: Fix unicode-header-name handling in bufferedhttp
We need to parse additional headers earlier, before stdlib tries to establish message framing. Now, TestReconstructorRebuildUTF8 can pass on py3. Closes-Bug: #2097030 Co-Authored-By: Alistair Coles <alistairncoles@gmail.com> Related-Change: https://review.opendev.org/c/openstack/swift/+/662546 Change-Id: I6aa16fda9285c9fc3816da6fbff2615bd14a020c |
||
|
Clay Gerrard
|
34bb743b04 |
linkat: Raise error if we run out of retries
Change-Id: Iae07ec8d38cd747f8bfffa3c08b423bee4b6623c |
||
|
Alistair Coles
|
e4cc228ed0 |
Refactor some file-like iters as utils.InputProxy subclasses
There's a few places where bespoke file-like wrapper classes have been implemented. The common methods are now inherited from utils.InputProxy. Make utils.FileLikeIter tolerate size=None to mean the same as size=-1 so that it is consistent with the behavior of other input streams. Fix docstrings in FileLikeIter. Depends-On: https://review.opendev.org/c/openstack/requirements/+/942845 Change-Id: I20741ab58b0933390dc4679c3e6b2d888857d577 |
||
|
Zuul
|
7140633925 | Merge "tests: Allow more configuration for S3 cross-compat tests" | ||
|
Zuul
|
1fa687ec20 | Merge "slo_test: make x-delete-after consistent in func test" | ||
|
Zuul
|
9723f99250 | Merge "tests: More simplification of s3api test bucket naming" | ||
|
ashnair
|
e0d66f3ebf |
slo_test: make x-delete-after consistent in func test
Related-Change-Id: Ia1d8d9085bad5c6df744a4551eef9dcf56e6e261 Change-Id: I6c5bb824d7145c25faf37fd1fa575cedf05e499a |
||
|
Zuul
|
97cc335d54 | Merge "tests: Remove a couple more py2 code paths" | ||
|
Alistair Coles
|
adc7760ed5 |
tests: More simplification of s3api test bucket naming
Change-Id: Ie59f11874daf9f166a699fa904581830942163a9 Related-Change: I02efba463a8263ca44be511c025c6c6bfbc57334 |
||
|
Tim Burke
|
605c701235 |
tests: Remove a couple more py2 code paths
Change-Id: Ia754021714a8ed3d5d6010a946c558552821fbe4 |
||
|
Zuul
|
57f2732f9f | Merge "s3api: Simplify HashingInput signature" | ||
|
Tim Burke
|
b49941c9b8 |
s3api: Simplify HashingInput signature
It's always called with sha256 and raises sha256-specific errors; we don't need to pretend to support arbitrary hashes. Change-Id: Icff79ded067084249080e3e6f555429261eb0af0 |
||
|
Tim Burke
|
ed0b68e1b7 |
tests: Simplify test bucket name
We already prefix everything with "s3api-test-"; there's no reason to double up the "test-" part. Change-Id: I02efba463a8263ca44be511c025c6c6bfbc57334 |
||
|
Tim Burke
|
f9354c9eb6 |
tests: Allow more configuration for S3 cross-compat tests
Specifically, allow endpoint and region to be configured. This allows developers to compare boto3 behaviors with TLS enabled/disabled, for example, or AWS behaviors between different regions. Change-Id: I4113e2fd47e5535eec8bd9487884af077e8b0318 |
||
|
Zuul
|
8b6abfb85d | Merge "refactor test for x-delete-at w/t part_num and x-open-expired" | ||
|
Zuul
|
0c04c9e88f | Merge "tests: Add unknown-policy container to account test" | ||
|
ashnair
|
c3237aba14 |
refactor test for x-delete-at w/t part_num and x-open-expired
We shouldn't allow a test to assume a strict coupling of client/server time and the test needs to be modified so that the functional test-suite pass for us. Change-Id: Ia1d8d9085bad5c6df744a4551eef9dcf56e6e261 |
||
|
Zuul
|
427615a874 | Merge "s3api: Stop requiring Content-MD5 for multi-deletes" | ||
|
Tim Burke
|
a5db202c55 |
s3api: Stop requiring Content-MD5 for multi-deletes
...at least, provided the client sent a X-Amz-Content-SHA256 header. Apparently Content-MD5 is no longer strictly required by AWS? Or maybe it never was, provided the client sent a SHA256 of the content. This also allows us to test with newer boto3, botocore, s3transfer. Related-Bug: #2098529 Co-Authored-By: Clay Gerrard <clay.gerrard@gmail.com> Change-Id: Ifbcde9820bee72d80cab0fe3e67ea0f5817df949 |
||
|
Tim Burke
|
ff45519447 |
tests: Use subTest
Depends-On: https://review.opendev.org/c/openstack/requirements/+/941708 Change-Id: I52f40bf0468236dc7ba78e08f2f9aea9336faae9 |
||
|
Tim Burke
|
62fa6d27a6 |
tests: Add unknown-policy container to account test
Also: - Couple small clean-ups in account.backend and account.utils - Make a couple test assertions more useful. Related-Change: https://review.opendev.org/c/openstack/swift/+/940601 Change-Id: Ic14642df50592c982adfb55a0c6cfd673a5a95b8 |
||
|
Zuul
|
fc88b0e816 | Merge "Add NotificationServer to fix swift-reload" |