Commit Graph
42 Commits
Author SHA1 Message Date
Daniel (dB.) DoubrovkineandGitHub 2bfc409177 Fix: typos. (#526)
* Fix: typo.

Signed-off-by: dblock <[email protected]>

* Fix: typo.

Signed-off-by: dblock <[email protected]>

* Fixed its.

Signed-off-by: dblock <[email protected]>

* Added Visual Code settings to .gitignore.

Signed-off-by: dblock <[email protected]>

* Added loop type for async client.

Signed-off-by: dblock <[email protected]>

---------

Signed-off-by: dblock <[email protected]>
2023-10-09 10:45:18 -07:00
Sai Medhini Reddy MaryadaandGitHub c6c7df5461 Updated APIs to match other clients and opensearch openapi spec (#502)
Signed-off-by: saimedhi <[email protected]>
2023-09-26 12:46:18 -04:00
Logan AttwoodandGitHub fca8bd3d0e Fix race condition in AWS request signers (#470)
* Fix race condition in AWS request signers

Signed-off-by: Logan Attwood <[email protected]>

* Conditionally expose get_frozen_credentials on mock_session

Signed-off-by: Logan Attwood <[email protected]>

* Use inheritance to make tests cleaner

Signed-off-by: Logan Attwood <[email protected]>

---------

Signed-off-by: Logan Attwood <[email protected]>
2023-08-10 13:32:53 -04:00
Sai Medhini Reddy MaryadaandGitHub caeaa13250 Updated Security Client APIs (#450)
Signed-off-by: saimedhi <[email protected]>
2023-07-26 18:38:49 -04:00
87b402c16e Finish up #305, tests for AsyncTransport (#452)
* fix multihost connection of AsyncTransport for AIOHttpConnection as connection_class & ConnectionPool as connection_pool_class parameters with compatability legacy test cases

Signed-off-by: ARashitov <[email protected]>

* adding test cases for checking multihost connection pool init with specified connection_class object

Signed-off-by: ARashitov <[email protected]>

* remove introduced updates

Signed-off-by: ARashitov <[email protected]>

* fix test cases by adding _async_init() call to init the actual hosts

Signed-off-by: ARashitov <[email protected]>

* remove unneeded imports

Signed-off-by: ARashitov <[email protected]>

* fix test cases of multi hosts connection pool init & adding documentation

Signed-off-by: ARashitov <[email protected]>

* Addressed comments in #305.

Signed-off-by: dblock <[email protected]>

* Renamed file for consistency.

Signed-off-by: dblock <[email protected]>

---------

Signed-off-by: ARashitov <[email protected]>
Signed-off-by: dblock <[email protected]>
Co-authored-by: ARashitov <[email protected]>
2023-07-26 10:45:52 -07:00
Daniel (dB.) DoubrovkineandGitHub e022932ed1 Add the ability to run test patterns. (#454)
Signed-off-by: dblock <[email protected]>
2023-07-26 10:18:45 -07:00
florianvazelleandGitHub 5866880c81 Add async tests for plugins (#425)
* test(plugins): add async tests for plugins

Signed-off-by: florian <[email protected]>

* chore(USER_GUIDE): remove **

Signed-off-by: florian <[email protected]>

* test(async): remove the event loop session scoped fixture

Signed-off-by: florian <[email protected]>

---------

Signed-off-by: florian <[email protected]>
2023-07-24 09:56:32 -04:00
Sai Medhini Reddy MaryadaandGitHub 5fa6d994bd Added support for latest OpenSearch versions 2.7.0, 2.8.0 (#445)
Signed-off-by: saimedhi <[email protected]>
2023-07-21 13:08:09 -04:00
Michael OliverandGitHub 4dba35deea Allow passing trust_env to aiohttp.ClientSession (#438)
Fixes #368

Signed-off-by: Michael Oliver <[email protected]>
2023-07-19 09:02:04 -04:00
12ebe82cba Fix string/tuple/no auth on AsyncHttpConnection class (#424)
* 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]>
2023-07-06 18:01:52 -04:00
florianvazelleandGitHub 2e8d5ce1a5 Index State Management support (#398)
* feat(plugins): add index management client plugin

Signed-off-by: florian <[email protected]>

* chore(CHANGELOG): added entry for ISM api support in changelog

Signed-off-by: florian <[email protected]>

* test(plugins): use assertEqual to compare call parameters

Signed-off-by: florian <[email protected]>

* test(plugins): edit policy to support older versions of opensearch

Signed-off-by: florian <[email protected]>

* test(plugins): ignore plugin tests when opensearch is unreleased

Signed-off-by: florian <[email protected]>

* test(plugins): move plugin tests into separate files

Signed-off-by: florian <[email protected]>

* test(plugins): fix import of OpenSearchTestCase

Signed-off-by: florian <[email protected]>

* chore(USER_GUIDE): add a index management plugin part

Signed-off-by: florian <[email protected]>

---------

Signed-off-by: florian <[email protected]>
2023-06-28 16:56:00 -04:00
florianvazelleandGitHub c60c259d96 Security plugin support (#399)
* feat(plugins): add security client plugin

Signed-off-by: florian <[email protected]>

* test(plugins): skip security plugin tests when disabled

Signed-off-by: florian <[email protected]>

* fix(security): remove non-ASCII character

Signed-off-by: florian <[email protected]>

* chore(CHANGELOG): added entry for security api support in changelog

Signed-off-by: florian <[email protected]>

* test(plugins): add asynchronous tests version

Signed-off-by: florian <[email protected]>

* test: remove some warnings

Signed-off-by: florian <[email protected]>

* chore(USER_GUIDE): add a security plugin part

Signed-off-by: florian <[email protected]>

* test(security): Split out security plugin tests in its own file

Signed-off-by: florian <[email protected]>

* chore: apply reviews

Signed-off-by: florian <[email protected]>

---------

Signed-off-by: florian <[email protected]>
2023-06-27 11:01:40 -04:00
db972e615b feat: Add a collapse method to opensearchpy.helpers.search.Search (#409)
Signed-off-by: Quentin Coumes <[email protected]>
Signed-off-by: Daniel (dB.) Doubrovkine <[email protected]>
Co-authored-by: Daniel (dB.) Doubrovkine <[email protected]>
2023-06-26 19:19:15 -04:00
Sai Medhini Reddy MaryadaandGitHub e5789c7b52 Enhanced the Yaml test runner to utilize the rest-api-spec YAML tests from OpenSearch repo as the input source (#414)
Signed-off-by: saimedhi <[email protected]>
2023-06-26 19:07:06 -04:00
Sai Medhini Reddy MaryadaandGitHub f1b5706ebd Added 'allow_redirects' parameter in perform_request function for RequestsHttpConnection (#401)
Signed-off-by: saimedhi <[email protected]>
2023-06-13 15:15:00 -04:00
Charles GreerandGitHub fe3b5a8922 [#387] Do not escape the "timeout" parameter. (#394)
* [#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]>
2023-05-23 18:12:29 -04:00
Sai Medhini Reddy MaryadaandGitHub 0395798d2b Fixed flaky CI tests by replacing httpbin with a simple http_server (#395)
Signed-off-by: saimedhi <[email protected]>
2023-05-23 18:07:47 -04:00
gg-kialoandGitHub 707373e369 Include parsed error info in TransportError in async connections (#226)
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]>
2023-05-09 15:16:03 -04:00
Daniyar AuezkhanandGitHub 03b72c3c92 fix: added codecov to ci and made linter happy :) (#335)
Signed-off-by: bl1nkker <[email protected]>
2023-04-03 18:20:21 -07:00
Sai Medhini Reddy MaryadaandGitHub 2b9aee73a5 Added async support for helpers that are merged from opensearch-dsl-py (#329)
Signed-off-by: saimedhi <[email protected]>
2023-03-17 12:03:46 -07:00
aiudirogandGitHub 49ae7c76e0 Fix async helpers import cycle (#311)
* 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]>
2023-03-08 15:05:06 -05:00
Sai Medhini Reddy MaryadaandGitHub c58375aa7b Merging opensearch-dsl-py to opensearch-py (#287)
Signed-off-by: saimedhi <[email protected]>
2023-02-14 15:03:56 -08:00
Sai Medhini Reddy MaryadaandGitHub 93636399ec Removed 'out/opensearchpy' folder which was produced while generating pyi files for plugins (#288)
Signed-off-by: saimedhi <[email protected]>
2023-02-14 11:09:14 -08:00
Theo Nam TruongandGitHub 58aa041db3 Fixed Sigv4 Signing for Managed Service (#279)
Fixed SigV4 Signing for Async Requests with QueryStrings

Signed-off-by: Theo Truong <[email protected]>

Signed-off-by: Theo Truong <[email protected]>
2023-01-23 18:38:31 -08:00
Sai Medhini Reddy MaryadaandGitHub 176c78c58e Updated CI tests to make them work locally (#275)
Signed-off-by: saimedhi <[email protected]>

Signed-off-by: saimedhi <[email protected]>
2023-01-19 15:20:19 -08:00
Harsha Vamsi KalluriandGitHub 5c1c890f69 Abstract away service name (#268)
* Abstract away service name

Signed-off-by: Harsha Vamsi Kalluri <[email protected]>

* Compuute x-amz-content-256 header

Signed-off-by: Harsha Vamsi Kalluri <[email protected]>

* Fix async signing

Signed-off-by: Harsha Vamsi Kalluri <[email protected]>

* Adds types-six to dependencies

Signed-off-by: Harsha Vamsi Kalluri <[email protected]>

* Optionally remove Content-Length

Signed-off-by: Harsha Vamsi Kalluri <[email protected]>

* Fix dict typo

Signed-off-by: Harsha Vamsi Kalluri <[email protected]>

* Remove requirement for x-amz-content-sha256 header

Signed-off-by: Harsha Vamsi Kalluri <[email protected]>

* Remove deletion of content-length

Signed-off-by: Harsha Vamsi Kalluri <[email protected]>

* Fix capitalization

Signed-off-by: Harsha Vamsi Kalluri <[email protected]>

* Adding unit tests

Signed-off-by: Harsha Vamsi Kalluri <[email protected]>

Signed-off-by: Harsha Vamsi Kalluri <[email protected]>
2023-01-18 18:06:59 -05:00
Harsha Vamsi KalluriandGitHub cfb2cf7b60 Adding async support for AWSSigV4 (#254)
* Adding async support for AWSSigV4

Signed-off-by: Harsha Vamsi Kalluri <[email protected]>

* Fix names for connection classes

Signed-off-by: Harsha Vamsi Kalluri <[email protected]>

* Update tests to async name space

Signed-off-by: Harsha Vamsi Kalluri <[email protected]>

* Add import exceptions to python < 3.6

Signed-off-by: Harsha Vamsi Kalluri <[email protected]>

Signed-off-by: Harsha Vamsi Kalluri <[email protected]>
2023-01-02 17:25:48 -05:00
Harsha Vamsi KalluriandGitHub 7874ed0e32 fix tests for master (#243)
Signed-off-by: Harsha Vamsi Kalluri <[email protected]>

Signed-off-by: Harsha Vamsi Kalluri <[email protected]>
2022-11-28 14:29:37 -08:00
2672f3f572 Check OpenSSL environment variables before defaulting to certifi (#196)
* 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]>
2022-11-22 11:33:45 -05:00
Arpit-BandejiyaandGitHub 8ece008605 Fix point in time rest api (#191)
* Add change for point in time

Signed-off-by: Arpit Bandejiya <[email protected]>

* resolve minor comments

Signed-off-by: Arpit Bandejiya <[email protected]>

* Add Unit tests

Signed-off-by: Arpit Bandejiya <[email protected]>

* minor changes

Signed-off-by: Arpit Bandejiya <[email protected]>

* minor edits in API calls

Signed-off-by: Arpit Bandejiya <[email protected]>

* Fixing lint errors

Signed-off-by: Arpit Bandejiya <[email protected]>

* Add documentation for the new API

Signed-off-by: Arpit Bandejiya <[email protected]>

* minor nit fix

Signed-off-by: Arpit Bandejiya <[email protected]>

* minor nit fix

Signed-off-by: Arpit Bandejiya <[email protected]>

* Added license in test file

Signed-off-by: Arpit Bandejiya <[email protected]>

* Add ChangeLog

Signed-off-by: Arpit Bandejiya <[email protected]>

Signed-off-by: Arpit Bandejiya <[email protected]>
2022-11-01 23:19:31 -07:00
Harsha Vamsi KalluriandGitHub 8879644ec4 Added timeout to available input query parameters (#210)
* 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]>
2022-10-25 10:41:29 -07:00
2d03dc773b Alerting Plugins (#93)
* Alert Plugin

Signed-off-by: Arnav Das <[email protected]>

* lint file header license

Signed-off-by: Arnav Das <[email protected]>

* Tests For Alerting[Monitors]

Signed-off-by: Arnav Das <[email protected]>

* Tests For Alerting[Destinations]

Signed-off-by: Arnav Das <[email protected]>

* dynamic lookup 90#issuecomment-1003396742

Signed-off-by: Arnav Das <[email protected]>

* Alerting Async

Signed-off-by: Arnav Das <[email protected]>

* Lint Changes

Signed-off-by: Arnav Das <[email protected]>

* alerting plugins integration tests

Signed-off-by: Arnav Das <[email protected]>

* Integ UnitTests Skip on OPENSEARCH_VERSION >= 2.0.0

Signed-off-by: Arnav Das <[email protected]>

* Unit Test Skip Complete

Signed-off-by: Arnav Das <[email protected]>

* License Headers fixed

Signed-off-by: Arnav Das <[email protected]>

* test_urllib3_connection timeout

Signed-off-by: Arnav Das <[email protected]>

* lint

Signed-off-by: Arnav Das <[email protected]>

* Fix licenses in all files

Signed-off-by: Harsha Vamsi Kalluri <[email protected]>

* Remove elastic search licenses on new files

Signed-off-by: Harsha Vamsi Kalluri <[email protected]>

* Fix formatting

Signed-off-by: Harsha Vamsi Kalluri <[email protected]>

Signed-off-by: Arnav Das <[email protected]>
Signed-off-by: Harsha Vamsi Kalluri <[email protected]>
Co-authored-by: Harsha Vamsi Kalluri <[email protected]>
2022-10-03 14:45:18 -04:00
Vacha ShahandGitHub 3944cc2928 Re-enable integration tests across multiple versions of OpenSearch (#163)
* Re-enable integration tests for 1.x versions of OpenSearch

Signed-off-by: Vacha Shah <[email protected]>

* Fixing integ tests after re-enabling 1.x versions

Signed-off-by: Vacha Shah <[email protected]>

* Separating out versions

Signed-off-by: Vacha Shah <[email protected]>
2022-05-03 09:27:25 -07:00
Vacha ShahandGitHub 1569c05f08 Remove include_type_name parameter from APIs (#156)
* Remove include_type_name parameter from APIs

Signed-off-by: Vacha Shah <[email protected]>

* Applying formatting

Signed-off-by: Vacha Shah <[email protected]>
2022-04-20 13:58:13 -07:00
Vacha ShahandGitHub b1eaba0064 Type removal breaking changes (#151)
* 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]>
2022-04-13 10:47:48 -07:00
Shivam DharandShivam Dhar 6ab90be906 adds IAM auth support
Signed-off-by: Shivam Dhar <[email protected]>
2022-03-09 13:12:45 -08:00
Philip MayandVijayan Balasubramanian 4056fa0176 fix black formatting for new version
Signed-off-by: Philip May <[email protected]>
2022-02-05 00:13:37 -08:00
Shivam DharandShivam Dhar 25ff092c8f removes cert usage from CI module
Signed-off-by: Shivam Dhar <[email protected]>
2022-01-08 15:15:15 +05:30
Shivam DharandShivam Dhar cfe1190a22 removes elastic support from opensearch-py library
Signed-off-by: Shivam Dhar <[email protected]>
2022-01-05 22:22:43 +05:30
Trevor McCullochandGitHub 1cd15b0845 Parse raw_data on error only if the Content-Type is application/json. (#91)
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]>
2021-12-22 21:52:49 +02:00
Venu Vardhan Reddy TekulaandGitHub 829efcf36a Add condition for shallow clone (#70)
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]>
2021-12-16 21:58:39 +02:00
Rushi Agrawal ef0c23c0e4 Rename module to opensearchpy
To avoid conflict with an existing package by name 'opensearch' being
present

Signed-off-by: Rushi Agrawal <[email protected]>
2021-09-16 21:23:38 +05:30