mirror of
https://github.com/honeymoose/OpenSearch.git
synced 2025-02-17 10:25:15 +00:00
Add validation for empty PutPrivilegeRequest (#37569)
Return an error to the user if the put privilege api is called with an empty body (no privileges) Resolves: #37561
This commit is contained in:
parent
ed297b7369
commit
7597b7ce2b
@ -39,6 +39,9 @@ public final class PutPrivilegesRequest extends ActionRequest implements Applica
|
||||
@Override
|
||||
public ActionRequestValidationException validate() {
|
||||
ActionRequestValidationException validationException = null;
|
||||
if (privileges.isEmpty()) {
|
||||
validationException = addValidationError("At least one application privilege must be provided", validationException);
|
||||
} else {
|
||||
for (ApplicationPrivilegeDescriptor privilege : privileges) {
|
||||
try {
|
||||
ApplicationPrivilege.validateApplicationName(privilege.getApplication());
|
||||
@ -69,6 +72,7 @@ public final class PutPrivilegesRequest extends ActionRequest implements Applica
|
||||
+ "] (in privilege " + privilege.getApplication() + ' ' + privilege.getName() + ")", validationException);
|
||||
}
|
||||
}
|
||||
}
|
||||
return validationException;
|
||||
}
|
||||
|
||||
|
@ -74,6 +74,9 @@ public class PutPrivilegesRequestTests extends ESTestCase {
|
||||
assertValidationFailure(request(wildcardApp, numericName, reservedMetadata, badAction),
|
||||
"Application names may not contain", "Application privilege names must match", "metadata keys may not start",
|
||||
"must contain one of");
|
||||
|
||||
// Empty request
|
||||
assertValidationFailure(new PutPrivilegesRequest(), "At least one application privilege must be provided");
|
||||
}
|
||||
|
||||
private ApplicationPrivilegeDescriptor descriptor(String application, String name, String... actions) {
|
||||
|
Loading…
x
Reference in New Issue
Block a user