Skip to content
New issue

Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.

By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.

Already on GitHub? Sign in to your account

Adds test for APIs related to security plugin and updates spec to add new APIs. #439

Merged
merged 57 commits into from
Aug 12, 2024

Conversation

DarshitChanpura
Copy link
Member

@DarshitChanpura DarshitChanpura commented Jul 18, 2024

Description

  • Adds tests for all APIs exposed by security plugin.
  • Adds any new APIs since last change.
  • Modifies any API schemas which have changed since.

Issues Resolved

By submitting this pull request, I confirm that my contribution is made under the terms of the Apache 2.0 license.
For more information on following Developer Certificate of Origin and signing off your commits, please check here.

Copy link
Contributor

github-actions bot commented Jul 18, 2024

Changes Analysis

Commit SHA: 705e6cf
Comparing To SHA: 597ed8d

API Changes

Summary

├─┬Paths
│ ├──[➖] path (4504:3)❌ 
│ ├──[➖] path (4487:3)❌ 
│ ├──[➕] path (4487:3)
│ ├──[➕] path (4862:3)
│ ├──[➕] path (4883:3)
│ ├──[➕] path (4504:3)
│ ├─┬/_plugins/_security/api/rolesmapping/{role}
│ │ ├─┬PUT
│ │ │ ├─┬Parameters
│ │ │ │ └──[➕] description (21310:20)
│ │ │ └─┬Responses
│ │ │   └──[➕] codes (26221:7)
│ │ ├─┬DELETE
│ │ │ └─┬Parameters
│ │ │   └──[➕] description (21359:20)
│ │ └─┬PATCH
│ │   ├─┬Parameters
│ │   │ └──[➕] description (21534:20)
│ │   └─┬Responses
│ │     └─┬400
│ │       └─┬application/json
│ │         └─┬Schema
│ │           └──[🔀] $ref (26626:19)❌ 
│ ├─┬/_plugins/_security/api/cache
│ │ ├─┬GET
│ │ │ └─┬Responses
│ │ │   └─┬501
│ │ │     └─┬application/json
│ │ │       └─┬Schema
│ │ │         └──[🔀] $ref (26172:19)❌ 
│ │ ├─┬PUT
│ │ │ └─┬Responses
│ │ │   └─┬501
│ │ │     └─┬application/json
│ │ │       └─┬Schema
│ │ │         └──[🔀] $ref (26172:19)❌ 
│ │ └─┬POST
│ │   └─┬Responses
│ │     └─┬501
│ │       └─┬application/json
│ │         └─┬Schema
│ │           └──[🔀] $ref (26172:19)❌ 
│ ├─┬/_plugins/_security/api/validate
│ │ └─┬GET
│ │   ├─┬Parameters
│ │   │ └──[➕] description (21569:20)
│ │   └─┬Responses
│ │     └─┬400
│ │       └─┬application/json
│ │         └─┬Schema
│ │           └──[🔀] $ref (26769:19)❌ 
│ ├─┬/_plugins/_security/api/roles/{role}
│ │ ├─┬PUT
│ │ │ ├─┬Parameters
│ │ │ │ └──[➕] description (21317:20)
│ │ │ └─┬Responses
│ │ │   └──[➕] codes (26231:7)
│ │ ├─┬DELETE
│ │ │ └─┬Parameters
│ │ │   └──[➕] description (21366:20)
│ │ └─┬PATCH
│ │   ├─┬Parameters
│ │   │ └──[➕] description (21541:20)
│ │   └─┬Responses
│ │     └─┬400
│ │       └─┬application/json
│ │         └─┬Schema
│ │           └──[🔀] $ref (26644:19)❌ 
│ ├─┬/_plugins/_security/api/user/{username}
│ │ ├─┬GET
│ │ │ └─┬Parameters
│ │ │   └──[➕] description (21499:20)
│ │ ├─┬PUT
│ │ │ ├─┬Parameters
│ │ │ │ └──[➕] description (21331:20)
│ │ │ └─┬Responses
│ │ │   └──[➕] codes (26264:7)
│ │ └─┬DELETE
│ │   └─┬Parameters
│ │     └──[➕] description (21380:20)
│ ├─┬/_plugins/_security/api/ssl/http/reloadcerts
│ │ └─┬PUT
│ │   ├─┬Responses
│ │   │ ├──[➕] codes (26702:7)
│ │   │ └─┬400
│ │   │   └─┬application/json
│ │   │     └─┬Schema
│ │   │       └──[🔀] $ref (26700:19)❌ 
│ │   └─┬Extensions
│ │     └──[🔀] x-version-added (5529:24)
│ ├─┬/_plugins/_security/api/actiongroups/{action_group}
│ │ ├─┬GET
│ │ │ └─┬Parameters
│ │ │   ├──[🔀] description (21408:20)
│ │ │   └─┬Schema
│ │ │     └──[➖] description (21279:22)
│ │ ├─┬PUT
│ │ │ ├─┬Parameters
│ │ │ │ └─┬Schema
│ │ │ │   └──[➖] description (21185:22)
│ │ │ └─┬Responses
│ │ │   └──[➕] codes (26202:7)
│ │ ├─┬DELETE
│ │ │ └─┬Parameters
│ │ │   ├──[🔀] description (21345:20)
│ │ │   └─┬Schema
│ │ │     └──[➖] description (21223:22)
│ │ └─┬PATCH
│ │   └─┬Parameters
│ │     └──[➕] description (21520:20)
│ ├─┬/_opendistro/_security/api/actiongroups/{name}
│ │ ├─┬GET
│ │ │ └─┬Parameters
│ │ │   ├──[🔀] description (21408:20)
│ │ │   └─┬Schema
│ │ │     └──[➖] description (21279:22)
│ │ ├─┬PUT
│ │ │ ├─┬Parameters
│ │ │ │ └─┬Schema
│ │ │ │   └──[➖] description (21185:22)
│ │ │ └─┬Responses
│ │ │   └──[➕] codes (26202:7)
│ │ ├─┬DELETE
│ │ │ └─┬Parameters
│ │ │   ├──[🔀] description (21345:20)
│ │ │   └─┬Schema
│ │ │     └──[➖] description (21223:22)
│ │ └─┬PATCH
│ │   └─┬Parameters
│ │     └──[➕] description (21520:20)
│ ├─┬/_opendistro/_security/health
│ │ ├─┬GET
│ │ │ └─┬Parameters
│ │ │   └──[➕] description (21513:20)
│ │ └─┬POST
│ │   └─┬Parameters
│ │     └──[➕] description (21513:20)
│ ├─┬/_plugins/_security/api/user/{username}/authtoken
│ │ └─┬POST
│ │   ├──[🔀] description (5796:20)
│ │   ├─┬Parameters
│ │   │ └──[➕] description (21394:20)
│ │   ├─┬Responses
│ │   │ ├──[➕] codes (26337:7)
│ │   │ ├──[➖] codes (26126:7)❌ 
│ │   │ └──[➖] codes (26131:7)❌ 
│ │   └─┬Extensions
│ │     └──[🔀] x-version-added (5795:24)
│ ├─┬/_opendistro/_security/api/internalusers/{name}
│ │ ├─┬GET
│ │ │ └─┬Parameters
│ │ │   └──[➕] description (21506:20)
│ │ ├─┬PUT
│ │ │ └─┬Parameters
│ │ │   └──[➕] description (21338:20)
│ │ ├─┬DELETE
│ │ │ └─┬Parameters
│ │ │   └──[➕] description (21387:20)
│ │ └─┬PATCH
│ │   └─┬Parameters
│ │     └──[➕] description (21555:20)
│ ├─┬/_plugins/_security/api/ssl/certs
│ │ └─┬GET
│ │   ├─┬Responses
│ │   │ ├──[➕] codes (26402:7)
│ │   │ └─┬400
│ │   │   └─┬application/json
│ │   │     └─┬Schema
│ │   │       └──[🔀] $ref (26400:19)❌ 
│ │   └─┬Extensions
│ │     └──[🔀] x-version-added (5508:24)
│ ├─┬/_opendistro/_security/sslinfo
│ │ └─┬GET
│ │   └─┬Parameters
│ │     ├──[🔀] description (21483:20)
│ │     └─┬Schema
│ │       ├──[🔀] type (21486:11)❌ 
│ │       └──[➖] description (21317:22)
│ ├─┬/_plugins/_security/whoami
│ │ ├─┬GET
│ │ │ └─┬Extensions
│ │ │   └──[🔀] x-version-added (5971:24)
│ │ └─┬POST
│ │   └─┬Extensions
│ │     └──[🔀] x-version-added (5987:24)
│ ├─┬/_plugins/_security/api/securityconfig
│ │ ├─┬GET
│ │ │ ├─┬Responses
│ │ │ │ └─┬200
│ │ │ │   └─┬application/json
│ │ │ │     └─┬Schema
│ │ │ │       └──[🔀] $ref (49393:13)❌ 
│ │ │ └─┬Extensions
│ │ │   └──[🔀] x-version-added (5450:24)
│ │ └─┬PATCH
│ │   ├─┬Responses
│ │   │ └──[➕] codes (26589:7)
│ │   └─┬Extensions
│ │     └──[🔀] x-version-added (5466:24)
│ ├─┬/_opendistro/_security/api/user/{name}/authtoken
│ │ └─┬POST
│ │   ├──[🔀] description (11965:20)
│ │   ├─┬Parameters
│ │   │ └──[➕] description (21394:20)
│ │   ├─┬Responses
│ │   │ ├──[➕] codes (26337:7)
│ │   │ ├──[➖] codes (26126:7)❌ 
│ │   │ └──[➖] codes (26131:7)❌ 
│ │   └─┬Extensions
│ │     └──[🔀] x-version-added (11964:24)
│ ├─┬/_opendistro/_security/api/allowlist
│ │ ├─┬GET
│ │ │ ├─┬Responses
│ │ │ │ └──[➕] codes (26384:7)
│ │ │ └─┬Extensions
│ │ │   └──[🔀] x-version-added (12002:24)
│ │ ├─┬PUT
│ │ │ ├─┬Responses
│ │ │ │ └──[➕] codes (26212:7)
│ │ │ └─┬Extensions
│ │ │   └──[🔀] x-version-added (12022:24)
│ │ └─┬PATCH
│ │   ├─┬Responses
│ │   │ └──[➕] codes (26575:7)
│ │   └─┬Extensions
│ │     └──[🔀] x-version-added (12044:24)
│ ├─┬/_plugins/_security/health
│ │ ├─┬GET
│ │ │ └─┬Parameters
│ │ │   └──[➕] description (21513:20)
│ │ └─┬POST
│ │   └─┬Parameters
│ │     └──[➕] description (21513:20)
│ ├─┬/_opendistro/_security/api/nodesdn/{cluster_name}
│ │ ├─┬GET
│ │ │ ├─┬Parameters
│ │ │ │ └──[➕] description (21429:20)
│ │ │ ├─┬Parameters
│ │ │ │ └──[➕] description (21436:20)
│ │ │ └─┬Responses
│ │ │   ├──[➕] codes (26427:7)
│ │ │   └─┬403
│ │ │     └─┬application/json
│ │ │       └─┬Schema
│ │ │         └──[🔀] $ref (26433:19)❌ 
│ │ ├─┬PUT
│ │ │ ├─┬Parameters
│ │ │ │ └──[➕] description (21562:20)
│ │ │ ├─┬Responses
│ │ │ │ ├──[➕] codes (26754:7)
│ │ │ │ └─┬403
│ │ │ │   └─┬application/json
│ │ │ │     └─┬Schema
│ │ │ │       └──[🔀] $ref (26760:19)❌ 
│ │ │ └─┬Requestbody
│ │ │   └─┬application/json
│ │ │     └─┬Schema
│ │ │       └──[🔀] $ref (49150:13)❌ 
│ │ ├─┬DELETE
│ │ │ ├─┬Parameters
│ │ │ │ └──[➕] description (21352:20)
│ │ │ └─┬Responses
│ │ │   ├──[➕] codes (26284:7)
│ │ │   └─┬403
│ │ │     └─┬application/json
│ │ │       └─┬Schema
│ │ │         └──[🔀] $ref (26290:19)❌ 
│ │ └─┬PATCH
│ │   ├─┬Parameters
│ │   │ └──[➕] description (21527:20)
│ │   └─┬Responses
│ │     ├──[➕] codes (26598:7)
│ │     └─┬403
│ │       └─┬application/json
│ │         └─┬Schema
│ │           └──[🔀] $ref (26604:19)❌ 
│ ├─┬/_plugins/_security/api/account
│ │ └─┬PUT
│ │   └─┬Responses
│ │     └──[➕] codes (26179:7)
│ ├─┬/_plugins/_security/api/generateonbehalfoftoken
│ │ └─┬POST
│ │   └─┬Responses
│ │     └─┬400
│ │       ├──[➕] content (26333:11)
│ │       └─┬application/json
│ │         └─┬Schema
│ │           └──[🔀] $ref (26335:19)❌ 
│ ├─┬/_opendistro/_security/api/roles/{name}
│ │ ├─┬PUT
│ │ │ ├─┬Parameters
│ │ │ │ └──[➕] description (21317:20)
│ │ │ └─┬Responses
│ │ │   └──[➕] codes (26231:7)
│ │ ├─┬DELETE
│ │ │ └─┬Parameters
│ │ │   └──[➕] description (21366:20)
│ │ └─┬PATCH
│ │   ├─┬Parameters
│ │   │ └──[➕] description (21541:20)
│ │   └─┬Responses
│ │     └─┬400
│ │       └─┬application/json
│ │         └─┬Schema
│ │           └──[🔀] $ref (26644:19)❌ 
│ ├─┬/_opendistro/_security/api/ssl/http/reloadcerts
│ │ └─┬PUT
│ │   ├─┬Responses
│ │   │ ├──[➕] codes (26702:7)
│ │   │ └─┬400
│ │   │   └─┬application/json
│ │   │     └─┬Schema
│ │   │       └──[🔀] $ref (26700:19)❌ 
│ │   └─┬Extensions
│ │     └──[🔀] x-version-added (11597:24)
│ ├─┬/_opendistro/_security/api/rolesmapping/{name}
│ │ ├─┬PUT
│ │ │ ├─┬Parameters
│ │ │ │ └──[➕] description (21310:20)
│ │ │ └─┬Responses
│ │ │   └──[➕] codes (26221:7)
│ │ ├─┬DELETE
│ │ │ └─┬Parameters
│ │ │   └──[➕] description (21359:20)
│ │ └─┬PATCH
│ │   ├─┬Parameters
│ │   │ └──[➕] description (21534:20)
│ │   └─┬Responses
│ │     └─┬400
│ │       └─┬application/json
│ │         └─┬Schema
│ │           └──[🔀] $ref (26626:19)❌ 
│ ├─┬/_plugins/_security/api/internalusers/{username}/authtoken
│ │ └─┬POST
│ │   ├─┬Parameters
│ │   │ └──[➕] description (21401:20)
│ │   ├─┬Responses
│ │   │ └─┬400
│ │   │   └─┬application/json
│ │   │     └─┬Schema
│ │   │       └──[🔀] $ref (26348:19)❌ 
│ │   └─┬Extensions
│ │     └──[🔀] x-version-added (5038:24)
│ ├─┬/_opendistro/_security/api/securityconfig/config
│ │ └─┬PUT
│ │   ├─┬Responses
│ │   │ └──[➕] codes (26745:7)
│ │   └─┬Extensions
│ │     └──[🔀] x-version-added (11528:24)
│ ├─┬/_plugins/_security/api/roles
│ │ └─┬PATCH
│ │   └─┬Responses
│ │     └─┬400
│ │       └─┬application/json
│ │         └─┬Schema
│ │           └──[🔀] $ref (26653:19)❌ 
│ ├─┬/_plugins/_security/api/migrate
│ │ └─┬POST
│ │   └─┬Responses
│ │     └─┬400
│ │       └─┬application/json
│ │         └─┬Schema
│ │           └──[🔀] $ref (26558:19)❌ 
│ ├─┬/_plugins/_security/api/nodesdn/{cluster_name}
│ │ ├─┬GET
│ │ │ ├─┬Parameters
│ │ │ │ └──[➕] description (21429:20)
│ │ │ ├─┬Parameters
│ │ │ │ └──[➕] description (21436:20)
│ │ │ └─┬Responses
│ │ │   ├──[➕] codes (26427:7)
│ │ │   └─┬403
│ │ │     └─┬application/json
│ │ │       └─┬Schema
│ │ │         └──[🔀] $ref (26433:19)❌ 
│ │ ├─┬PUT
│ │ │ ├─┬Parameters
│ │ │ │ └──[➕] description (21562:20)
│ │ │ ├─┬Responses
│ │ │ │ ├──[➕] codes (26754:7)
│ │ │ │ └─┬403
│ │ │ │   └─┬application/json
│ │ │ │     └─┬Schema
│ │ │ │       └──[🔀] $ref (26760:19)❌ 
│ │ │ └─┬Requestbody
│ │ │   └─┬application/json
│ │ │     └─┬Schema
│ │ │       └──[🔀] $ref (49150:13)❌ 
│ │ ├─┬DELETE
│ │ │ ├─┬Parameters
│ │ │ │ └──[➕] description (21352:20)
│ │ │ └─┬Responses
│ │ │   ├──[➕] codes (26284:7)
│ │ │   └─┬403
│ │ │     └─┬application/json
│ │ │       └─┬Schema
│ │ │         └──[🔀] $ref (26290:19)❌ 
│ │ └─┬PATCH
│ │   ├─┬Parameters
│ │   │ └──[➕] description (21527:20)
│ │   └─┬Responses
│ │     ├──[➕] codes (26598:7)
│ │     └─┬403
│ │       └─┬application/json
│ │         └─┬Schema
│ │           └──[🔀] $ref (26604:19)❌ 
│ ├─┬/_opendistro/_security/api/cache
│ │ ├─┬GET
│ │ │ └─┬Responses
│ │ │   └─┬501
│ │ │     └─┬application/json
│ │ │       └─┬Schema
│ │ │         └──[🔀] $ref (26172:19)❌ 
│ │ ├─┬PUT
│ │ │ └─┬Responses
│ │ │   └─┬501
│ │ │     └─┬application/json
│ │ │       └─┬Schema
│ │ │         └──[🔀] $ref (26172:19)❌ 
│ │ └─┬POST
│ │   └─┬Responses
│ │     └─┬501
│ │       └─┬application/json
│ │         └─┬Schema
│ │           └──[🔀] $ref (26172:19)❌ 
│ ├─┬/_plugins/_security/api/allowlist
│ │ ├─┬GET
│ │ │ ├─┬Responses
│ │ │ │ └──[➕] codes (26384:7)
│ │ │ └─┬Extensions
│ │ │   └──[🔀] x-version-added (4676:24)
│ │ ├─┬PUT
│ │ │ ├─┬Responses
│ │ │ │ └──[➕] codes (26212:7)
│ │ │ └─┬Extensions
│ │ │   └──[🔀] x-version-added (4714:24)
│ │ └─┬PATCH
│ │   ├─┬Responses
│ │   │ └──[➕] codes (26575:7)
│ │   └─┬Extensions
│ │     └──[🔀] x-version-added (4694:24)
│ ├─┬/_plugins/_security/api/rolesmapping
│ │ └─┬PATCH
│ │   └─┬Responses
│ │     └─┬400
│ │       └─┬application/json
│ │         └─┬Schema
│ │           └──[🔀] $ref (26635:19)❌ 
│ ├─┬/_plugins/_security/tenantinfo
│ │ ├─┬GET
│ │ │ └─┬Responses
│ │ │   └──[➕] codes (26724:7)
│ │ └─┬POST
│ │   └─┬Responses
│ │     └──[➕] codes (26724:7)
│ ├─┬/_opendistro/_security/api/tenants
│ │ ├─┬GET
│ │ │ └─┬Responses
│ │ │   └─┬400
│ │ │     └─┬application/json
│ │ │       └─┬Schema
│ │ │         └──[🔀] $ref (26524:19)❌ 
│ │ └─┬PATCH
│ │   └─┬Responses
│ │     └─┬400
│ │       └─┬application/json
│ │         └─┬Schema
│ │           └──[🔀] $ref (26671:19)❌ 
│ ├─┬/_opendistro/_security/api/ssl/transport/reloadcerts
│ │ └─┬PUT
│ │   ├─┬Responses
│ │   │ ├──[➕] codes (26715:7)
│ │   │ └─┬400
│ │   │   └─┬application/json
│ │   │     └─┬Schema
│ │   │       └──[🔀] $ref (26713:19)❌ 
│ │   └─┬Extensions
│ │     └──[🔀] x-version-added (11574:24)
│ ├─┬/_plugins/_security/api/tenants
│ │ ├─┬GET
│ │ │ └─┬Responses
│ │ │   └─┬400
│ │ │     └─┬application/json
│ │ │       └─┬Schema
│ │ │         └──[🔀] $ref (26524:19)❌ 
│ │ └─┬PATCH
│ │   └─┬Responses
│ │     └─┬400
│ │       └─┬application/json
│ │         └─┬Schema
│ │           └──[🔀] $ref (26671:19)❌ 
│ ├─┬/_opendistro/_security/kibanainfo
│ │ └─┬POST
│ │   └──[➖] requestBody (23939:7)❌ 
│ ├─┬/_opendistro/_security/api/migrate
│ │ └─┬POST
│ │   └─┬Responses
│ │     └─┬400
│ │       └─┬application/json
│ │         └─┬Schema
│ │           └──[🔀] $ref (26558:19)❌ 
│ ├─┬/_opendistro/_security/api/tenants/{name}
│ │ ├─┬GET
│ │ │ └─┬Parameters
│ │ │   └──[➕] description (21492:20)
│ │ ├─┬PUT
│ │ │ ├─┬Parameters
│ │ │ │ └──[➕] description (21324:20)
│ │ │ └─┬Responses
│ │ │   ├──[➕] codes (26241:7)
│ │ │   └─┬400
│ │ │     └─┬application/json
│ │ │       └─┬Schema
│ │ │         └──[🔀] $ref (26248:19)❌ 
│ │ ├─┬DELETE
│ │ │ ├─┬Parameters
│ │ │ │ └──[➕] description (21373:20)
│ │ │ └─┬Responses
│ │ │   └─┬400
│ │ │     └─┬application/json
│ │ │       └─┬Schema
│ │ │         └──[🔀] $ref (26309:19)❌ 
│ │ └─┬PATCH
│ │   ├─┬Parameters
│ │   │ └──[➕] description (21548:20)
│ │   └─┬Responses
│ │     └─┬400
│ │       └─┬application/json
│ │         └─┬Schema
│ │           └──[🔀] $ref (26662:19)❌ 
│ ├─┬/_opendistro/_security/api/ssl/certs
│ │ └─┬GET
│ │   ├─┬Responses
│ │   │ ├──[➕] codes (26402:7)
│ │   │ └─┬400
│ │   │   └─┬application/json
│ │   │     └─┬Schema
│ │   │       └──[🔀] $ref (26400:19)❌ 
│ │   └─┬Extensions
│ │     └──[🔀] x-version-added (11551:24)
│ ├─┬/_plugins/_security/api/tenancy/config
│ │ ├─┬GET
│ │ │ └─┬Responses
│ │ │   └─┬400
│ │ │     └─┬application/json
│ │ │       └─┬Schema
│ │ │         └──[🔀] $ref (26510:19)❌ 
│ │ └─┬PUT
│ │   ├─┬Responses
│ │   │ └─┬400
│ │   │   └─┬application/json
│ │   │     └─┬Schema
│ │   │       └──[🔀] $ref (26257:19)❌ 
│ │   └─┬Requestbody
│ │     └─┬application/json
│ │       └─┬Schema
│ │         └──[🔀] $ref (49274:13)❌ 
│ ├─┬/_plugins/_security/api/ssl/transport/reloadcerts
│ │ └─┬PUT
│ │   ├─┬Responses
│ │   │ ├──[➕] codes (26715:7)
│ │   │ └─┬400
│ │   │   └─┬application/json
│ │   │     └─┬Schema
│ │   │       └──[🔀] $ref (26713:19)❌ 
│ │   └─┬Extensions
│ │     └──[🔀] x-version-added (5550:24)
│ ├─┬/_opendistro/_security/api/tenancy/config
│ │ ├─┬GET
│ │ │ └─┬Responses
│ │ │   └─┬400
│ │ │     └─┬application/json
│ │ │       └─┬Schema
│ │ │         └──[🔀] $ref (26510:19)❌ 
│ │ └─┬PUT
│ │   ├─┬Responses
│ │   │ └─┬400
│ │   │   └─┬application/json
│ │   │     └─┬Schema
│ │   │       └──[🔀] $ref (26257:19)❌ 
│ │   └─┬Requestbody
│ │     └─┬application/json
│ │       └─┬Schema
│ │         └──[🔀] $ref (49274:13)❌ 
│ ├─┬/_opendistro/_security/api/account
│ │ └─┬PUT
│ │   └─┬Responses
│ │     └──[➕] codes (26179:7)
│ ├─┬/_opendistro/_security/api/user/{name}
│ │ ├─┬GET
│ │ │ └─┬Parameters
│ │ │   └──[➕] description (21499:20)
│ │ ├─┬PUT
│ │ │ ├─┬Parameters
│ │ │ │ └──[➕] description (21331:20)
│ │ │ └─┬Responses
│ │ │   └──[➕] codes (26264:7)
│ │ └─┬DELETE
│ │   └─┬Parameters
│ │     └──[➕] description (21380:20)
│ ├─┬/_opendistro/_security/api/internalusers/{name}/authtoken
│ │ └─┬POST
│ │   ├─┬Parameters
│ │   │ └──[➕] description (21401:20)
│ │   ├─┬Responses
│ │   │ └─┬400
│ │   │   └─┬application/json
│ │   │     └─┬Schema
│ │   │       └──[🔀] $ref (26348:19)❌ 
│ │   └─┬Extensions
│ │     └──[🔀] x-version-added (11259:24)
│ ├─┬/_plugins/_security/api/internalusers/{username}
│ │ ├─┬GET
│ │ │ └─┬Parameters
│ │ │   └──[➕] description (21506:20)
│ │ ├─┬PUT
│ │ │ └─┬Parameters
│ │ │   └──[➕] description (21338:20)
│ │ ├─┬DELETE
│ │ │ └─┬Parameters
│ │ │   └──[➕] description (21387:20)
│ │ └─┬PATCH
│ │   └─┬Parameters
│ │     └──[➕] description (21555:20)
│ ├─┬/_opendistro/_security/tenantinfo
│ │ ├─┬GET
│ │ │ └─┬Responses
│ │ │   └──[➕] codes (26724:7)
│ │ └─┬POST
│ │   └─┬Responses
│ │     └──[➕] codes (26724:7)
│ ├─┬/_opendistro/_security/api/validate
│ │ └─┬GET
│ │   ├─┬Parameters
│ │   │ └──[➕] description (21569:20)
│ │   └─┬Responses
│ │     └─┬400
│ │       └─┬application/json
│ │         └─┬Schema
│ │           └──[🔀] $ref (26769:19)❌ 
│ ├─┬/_plugins/_security/api/tenants/{tenant}
│ │ ├─┬GET
│ │ │ └─┬Parameters
│ │ │   └──[➕] description (21492:20)
│ │ ├─┬PUT
│ │ │ ├─┬Parameters
│ │ │ │ └──[➕] description (21324:20)
│ │ │ └─┬Responses
│ │ │   ├──[➕] codes (26241:7)
│ │ │   └─┬400
│ │ │     └─┬application/json
│ │ │       └─┬Schema
│ │ │         └──[🔀] $ref (26248:19)❌ 
│ │ ├─┬DELETE
│ │ │ ├─┬Parameters
│ │ │ │ └──[➕] description (21373:20)
│ │ │ └─┬Responses
│ │ │   └─┬400
│ │ │     └─┬application/json
│ │ │       └─┬Schema
│ │ │         └──[🔀] $ref (26309:19)❌ 
│ │ └─┬PATCH
│ │   ├─┬Parameters
│ │   │ └──[➕] description (21548:20)
│ │   └─┬Responses
│ │     └─┬400
│ │       └─┬application/json
│ │         └─┬Schema
│ │           └──[🔀] $ref (26662:19)❌ 
│ ├─┬/_opendistro/_security/api/securityconfig
│ │ ├─┬GET
│ │ │ ├─┬Responses
│ │ │ │ └─┬200
│ │ │ │   └─┬application/json
│ │ │ │     └─┬Schema
│ │ │ │       └──[🔀] $ref (49393:13)❌ 
│ │ │ └─┬Extensions
│ │ │   └──[🔀] x-version-added (11487:24)
│ │ └─┬PATCH
│ │   ├─┬Responses
│ │   │ └──[➕] codes (26589:7)
│ │   └─┬Extensions
│ │     └──[🔀] x-version-added (11505:24)
│ ├─┬/_plugins/_security/api/nodesdn
│ │ ├─┬GET
│ │ │ ├─┬Parameters
│ │ │ │ └──[➕] description (21443:20)
│ │ │ └─┬Responses
│ │ │   ├──[➕] codes (26440:7)
│ │ │   └─┬403
│ │ │     └─┬application/json
│ │ │       └─┬Schema
│ │ │         └──[🔀] $ref (26447:19)❌ 
│ │ └─┬PATCH
│ │   └─┬Responses
│ │     ├──[➕] codes (26611:7)
│ │     └─┬403
│ │       └─┬application/json
│ │         └─┬Schema
│ │           └──[🔀] $ref (26617:19)❌ 
│ ├─┬/_plugins/_security/dashboardsinfo
│ │ └─┬POST
│ │   └──[➖] requestBody (23939:7)❌ 
│ └─┬/_plugins/_security/api/securityconfig/config
│   └─┬PUT
│     ├─┬Responses
│     │ └──[➕] codes (26745:7)
│     └─┬Extensions
│       └──[🔀] x-version-added (5487:24)
└─┬Components
  ├──[➖] requestBodies (23939:7)❌ 
  ├──[➖] responses (26126:7)❌ 
  ├──[➖] responses (26131:7)❌ 
  ├──[➕] responses (26284:7)
  ├──[➕] responses (26402:7)
  ├──[➕] responses (26754:7)
  ├──[➕] responses (26264:7)
  ├──[➕] responses (26745:7)
  ├──[➕] responses (26241:7)
  ├──[➕] responses (26454:7)
  ├──[➕] responses (26575:7)
  ├──[➕] responses (26193:7)
  ├──[➕] responses (26589:7)
  ├──[➕] responses (26724:7)
  ├──[➕] responses (26212:7)
  ├──[➕] responses (26598:7)
  ├──[➕] responses (26365:7)
  ├──[➕] responses (26370:7)
  ├──[➕] responses (26611:7)
  ├──[➕] responses (26202:7)
  ├──[➕] responses (26702:7)
  ├──[➕] responses (26374:7)
  ├──[➕] responses (26458:7)
  ├──[➕] responses (26384:7)
  ├──[➕] responses (26231:7)
  ├──[➕] responses (26715:7)
  ├──[➕] responses (26449:7)
  ├──[➕] responses (26440:7)
  ├──[➕] responses (26337:7)
  ├──[➕] responses (26179:7)
  ├──[➕] responses (26221:7)
  ├──[➕] responses (26427:7)
  ├──[➕] parameters (21413:7)
  ├──[➕] parameters (21420:7)
  ├──[➕] parameters (21462:7)
  ├──[➕] parameters (21455:7)
  ├──[➕] parameters (21448:7)
  ├──[➖] schemas (48602:7)❌ 
  ├──[➖] schemas (49126:7)❌ 
  ├──[➖] schemas (48709:7)❌ 
  ├──[➖] schemas (48918:7)❌ 
  ├──[➕] schemas (49024:7)
  ├──[➕] schemas (49097:7)
  ├──[➕] schemas (49034:7)
  ├──[➕] schemas (49393:7)
  ├──[➕] schemas (49222:7)
  ├──[➕] schemas (48999:7)
  ├─┬security._common:AuditLogsConfig
  │ ├──[➕] properties (48909:9)
  │ └──[➕] properties (48913:9)
  ├─┬security._common:User
  │ └──[➕] properties (49524:9)
  ├─┬security._common:DynamicOptions
  │ ├──[➕] properties (49186:9)
  │ ├──[➕] properties (49172:9)
  │ ├──[➕] properties (49170:9)
  │ ├──[➕] properties (49188:9)
  │ ├──[➕] properties (49194:9)
  │ ├──[➕] properties (49168:9)
  │ ├──[➕] properties (49192:9)
  │ ├──[➕] properties (49190:9)
  │ ├──[➕] properties (49196:9)
  │ ├──[➕] properties (49176:9)
  │ ├──[➕] properties (49174:9)
  │ ├─┬kibana
  │ │ └──[➕] type (49179:17)❌ 
  │ ├─┬authc
  │ │ └──[➕] type (49183:17)❌ 
  │ ├─┬authz
  │ │ └──[➕] type (49185:17)❌ 
  │ └─┬http
  │   └──[➕] type (49181:17)❌ 
  ├─┬security._common:AllowListConfig
  │ ├──[➕] properties (48875:9)
  │ └──[➕] properties (48877:9)
  ├─┬security._common:DashboardsInfo
  │ └─┬sign_in_options
  │   └──[➕] items (49142:13)❌ 
  ├─┬security._common:HealthInfo
  │ └─┬message
  │   └──[🔀] type (49240:13)❌ 
  ├─┬security._common:AccountDetails
  │ └─┬user_requested_tenant
  │   └──[🔀] type (48835:13)❌ 
  ├─┬security._common:Ok
  │ └─┬status
  │   ├──[➖] enum (48961:15)❌ 
  │   └──[🔀] type (49305:13)❌ 
  ├─┬security._common:MultiTenancyConfig
  │ └─┬sign_in_options
  │   └──[➖] description (48940:24)
  ├─┬security._common:SSLInfo
  │ ├──[➕] required (49473:11)❌ 
  │ ├──[➕] required (49474:11)❌ 
  │ ├──[➕] required (49462:11)❌ 
  │ ├──[➕] required (49463:11)❌ 
  │ ├──[➕] required (49464:11)❌ 
  │ ├──[➕] required (49465:11)❌ 
  │ ├──[➕] required (49469:11)❌ 
  │ ├──[➕] required (49472:11)❌ 
  │ ├──[➕] required (49466:11)❌ 
  │ ├──[➕] required (49467:11)❌ 
  │ ├──[➕] required (49468:11)❌ 
  │ ├──[➕] required (49470:11)❌ 
  │ ├──[➕] required (49471:11)❌ 
  │ ├─┬local_certificates_list
  │ │ └──[➕] items (49421:13)❌ 
  │ ├─┬peer_certificates
  │ │ └──[🔀] type (49407:13)❌ 
  │ ├─┬peer_certificates_list
  │ │ ├──[➕] items (49416:13)❌ 
  │ │ └──[🔀] type (49412:13)❌ 
  │ ├─┬principal
  │ │ └──[🔀] type (49402:13)❌ 
  │ ├─┬ssl_openssl_non_available_cause
  │ │ └──[🔀] type (49443:13)❌ 
  │ ├─┬ssl_openssl_version
  │ │ └──[🔀] type (49433:13)❌ 
  │ └─┬ssl_openssl_version_string
  │   └──[🔀] type (49438:13)❌ 
  ├─┬security._common:AuthInfo
  │ ├─┬sso_logout_url
  │ │ └──[🔀] type (48986:13)❌ 
  │ ├─┬user_requested_tenant
  │ │ └──[🔀] type (48948:13)❌ 
  │ ├─┬backend_roles
  │ │ └──[➕] items (48960:13)❌ 
  │ ├─┬custom_attribute_names
  │ │ └──[➕] items (48965:13)❌ 
  │ ├─┬peer_certificates
  │ │ └──[🔀] type (48981:13)❌ 
  │ ├─┬principal
  │ │ └──[🔀] type (48976:13)❌ 
  │ ├─┬remote_address
  │ │ └──[🔀] type (48953:13)❌ 
  │ └─┬roles
  │   └──[➕] items (48970:13)❌ 
  ├─┬security._common:ConfigUpgradePayload
  │ └─┬config
  │   └──[➕] items (49095:13)❌ 
  └─┬security._common:WhoAmI
    ├─┬dn
    │ └──[🔀] type (49568:13)❌ 
    ├─┬is_admin
    │ └──[🔀] type (49571:17)❌ 
    └─┬is_node_certificate_request
      └──[🔀] type (49573:17)❌ 

Document Element Total Changes Breaking Changes
components 106 49
paths 208 64
  • BREAKING Changes: 113 out of 314
  • Modifications: 104
  • Removals: 24
  • Additions: 186
  • Breaking Removals: 16
  • Breaking Modifications: 73
  • Breaking Additions: 24

Report

The full API changes report is available at: https://github.com/opensearch-project/opensearch-api-specification/actions/runs/10356910213/artifacts/1803095089

API Coverage

Before After Δ
Covered (%) 522 (51.13 %) 522 (51.13 %) 0 (0 %)
Uncovered (%) 499 (48.87 %) 499 (48.87 %) 0 (0 %)
Unknown 24 26 2

@dblock
Copy link
Member

dblock commented Jul 18, 2024

Is "with API prefix" recommended over "without API prefix" or vice-versa? Are they the same thing If one is superseded by another then we should move it, mark it as deprecated and likely not test it twice.

@DarshitChanpura
Copy link
Member Author

Is "with API prefix" recommended over "without API prefix" or vice-versa? Are they the same thing If one is superseded by another then we should move it, mark it as deprecated and likely not test it twice.

These APIs are completely different:
without API prefix: /_plugins/_security/<path>
with API prefix: /_plugins/_security/api/<path>

The difference is /api in the URL.

name: timeout
in: query
schema:
type: string
Copy link
Member

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

Are these strings or one of the duration types?

Copy link
Member Author

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

Copy link
Member

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

I mean should this be

      schema:
        $ref: '../schemas/_common.yaml#/components/schemas/Duration'

Copy link
Member Author

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

i see, I have replaced it.

tests: plugins/security
- version: 2.0.0
admin_password: admin
tests: plugins/security
Copy link
Member

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

Are these APIs different in 1.3.x, 2.0 and 2.16? If they aren't very different only leave the latest, 2.16.

payload:
- op: replace
path: /config/dynamic/authc/basic_internal_auth_domain/transport_enabled
value: 'true'
Copy link
Member

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

This is not a bool?

Copy link
Member Author

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

accepts either or. will change it to bool

@DarshitChanpura
Copy link
Member Author

Once 2.17 and 3.0 tags on opensearchstaging will be updated, the ci will pass for those two versions.
Fixed here: opensearch-project/security#4628

Copy link
Member Author

@DarshitChanpura DarshitChanpura left a comment

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

@dblock Would you please re-review this?

.github/workflows/test-spec.yml Show resolved Hide resolved
Signed-off-by: Darshit Chanpura <[email protected]>
Copy link
Member

@dblock dblock left a comment

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

Needs some file naming consistency in tests.

tests/default/security/api/action_groups.yaml -> tests/default/security/api/actiongroups.yaml

etc.

Thanks!

@DarshitChanpura
Copy link
Member Author

@dblock I've renamed everything to match API path. Could you please re-run CI as the test-failure is not related to security plugin?

@dblock dblock merged commit 9eb3732 into opensearch-project:main Aug 12, 2024
15 checks passed
@dblock
Copy link
Member

dblock commented Aug 14, 2024

@DarshitChanpura in #510 I marked a lot of the security API tests to be skipped when running against Amazon Managed / Serverless OpenSearch. You might want to check that it's correct. I found some discrepancies in sslinfo as well where AOS returns null instead of a cipher version, not sure that's expected.

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Labels
None yet
Projects
None yet
Development

Successfully merging this pull request may close these issues.

Add tests for the new API spec
2 participants