* Fix string/tuple/no auth on AsyncHttpConnection class. Fixes#283
Signed-off-by: dannosaur <[email protected]>
* Update for PR comments. Add tests.
Signed-off-by: dannosaur <[email protected]>
* Moving tests to its own file.
Also had to install asynctest into the dev-requirements to get access to the context managers necessary to mock out aiohttp.
Signed-off-by: dannosaur <[email protected]>
* Update CHANGELOG
Signed-off-by: dannosaur <[email protected]>
* Linter fixes. Add license text to new file.
Signed-off-by: dannosaur <[email protected]>
* Move AsyncContextManagerMock to utils package for future re-use
Signed-off-by: dannosaur <[email protected]>
* Lint
Signed-off-by: dannosaur <[email protected]>
* Refactor async tests - remove asynctest package
Signed-off-by: dannosaur <[email protected]>
* Switch out to using aiounittest for async testing prior to py3.8
Signed-off-by: dannosaur <[email protected]>
* Use RequestContextManager from opensearchpy._asycn._extra_imports
Signed-off-by: dannosaur <[email protected]>
* Simplify test somewhat, move to `test_async` since all other async tests are ignored on runners <3.6
Signed-off-by: dannosaur <[email protected]>
* Lint
Signed-off-by: dannosaur <[email protected]>
---------
Signed-off-by: dannosaur <[email protected]>
Signed-off-by: Daniel (dB.) Doubrovkine <[email protected]>
Co-authored-by: Daniel (dB.) Doubrovkine <[email protected]>
* [#387] Do not escape the "timeout" parameter.
When the "timeout" parameter is escaped and turned into
a string, it does not pass validation checks.
This PR ensures that timeout is passed through as-is,
just like "request_timeout".
There's no explicit test for this parameter, but I included
it on some existing tests just to ensure that the code
is exercised. Without the fix in place, one of the tests as modified will not pass.
Signed-off-by: Charles Greer <[email protected]>
* Unit test for timeout parameter
Revert original test modifications.
Signed-off-by: Charles Greer <[email protected]>
* Extend test and linter
Signed-off-by: Charles Greer <[email protected]>
---------
Signed-off-by: Charles Greer <[email protected]>
Passing the Content-Type to `_raise_errors` will cause the json body to
be parsed and included in the `TransportError`.
This matches the behaviour of the sync client.
Fixes#225
Signed-off-by: Gordon Govan <[email protected]>
* Import async helpers through public interface in tests
Signed-off-by: Roger Aiudi <[email protected]>
* Removed unused import of AsyncOpenSearch in async helpers that was causing an import cycle (fixes#310)
Signed-off-by: Roger Aiudi <[email protected]>
* Update CHANGELOG.md
Signed-off-by: Roger Aiudi <[email protected]>
* Change 2.2.1 in the changelog to Unreleased
Signed-off-by: Roger Aiudi <[email protected]>
* Separated changelog entries for 2.2.0 from 2.1.1
Signed-off-by: Roger Aiudi <[email protected]>
---------
Signed-off-by: Roger Aiudi <[email protected]>
* Check OpenSSL environment variables before defaulting to certifi
Signed-off-by: Roger Aiudi <[email protected]>
* Fix formatting
Signed-off-by: Roger Aiudi <[email protected]>
* Moved CA_CERTS to the base Connection module
Signed-off-by: Roger Aiudi <[email protected]>
* Updated requests Connection to use common CA_CERTS by default
Signed-off-by: Roger Aiudi <[email protected]>
* Pass nox linting
Signed-off-by: Roger Aiudi <[email protected]>
* Update CHANGELOG.md and USER_GUIDE.md
Signed-off-by: Roger Aiudi <[email protected]>
* Updated AIOHttpConnection to only load CA_CERTS if verify_certs is True
Signed-off-by: Roger Aiudi <[email protected]>
* Added test cases for CA_CERTS handling in each Connection implementation
Signed-off-by: Roger Aiudi <[email protected]>
* Move CA cert handling to Connection.default_ca_certs()
Add test cases for the different CA cert configurations
Signed-off-by: Roger Aiudi <[email protected]>
* Update actions to test unsupported Python versions on ubuntu-20.04
Signed-off-by: Roger Aiudi <[email protected]>
* Fix Python versions being interpreted as floats
Signed-off-by: Roger Aiudi <[email protected]>
* Workaround Monkeypatch not available on old pytest versions
Signed-off-by: Roger Aiudi <[email protected]>
Signed-off-by: Roger Aiudi <[email protected]>
Co-authored-by: Harsha Vamsi Kalluri <[email protected]>
* Added timeout to available input query parameters
Signed-off-by: Harsha Vamsi Kalluri <[email protected]>
* Add unit test to ensure that timeout is an accepted parameter
Signed-off-by: Harsha Vamsi Kalluri <[email protected]>
Signed-off-by: Harsha Vamsi Kalluri <[email protected]>
* Breaking changes for type removal
Signed-off-by: Vacha Shah <[email protected]>
* Adding support to test against unreleased OpenSearch
Signed-off-by: Vacha Shah <[email protected]>
* Formatting
Signed-off-by: Vacha Shah <[email protected]>
* Addressing comments to refactor run-opensearch.sh
Signed-off-by: Vacha Shah <[email protected]>
Some OpenSearch REST APIs will return a Content-Type of text/plain for certain
status codes which will trigger logging when the response is not parsable as
JSON. Checking the content-type first avoids this error.
This frequently happens with 401s, which occurs when we rotate user keys.
The input that triggers this behaviour can be triggered with `curl`:
```
$ curl -k -u"admin:wrong" -w"\n%{http_code}\n%{content_type}\n" https://localhost:9200/_cluster/health
Unauthorized
401
text/plain; charset=UTF-8
```
Signed-off-by: Trevor McCulloch <[email protected]>
The integration tests performs a deep checkout of
the opensearch repository. Instead, we can perform
a shallow clone the main branch to improve the speed
and performance of the tests.
Signed-off-by: Venu Vardhan Reddy Tekula <[email protected]>