|
@@ -92,6 +92,27 @@ public class AuthenticationTestHelper {
|
|
|
);
|
|
|
}
|
|
|
|
|
|
+ public static User randomCloudApiKeyUser() {
|
|
|
+ return randomCloudApiKeyUser(null);
|
|
|
+ }
|
|
|
+
|
|
|
+ public static User randomCloudApiKeyUser(String principal) {
|
|
|
+ final Map<String, Object> metadata = ESTestCase.randomBoolean()
|
|
|
+ ? null
|
|
|
+ : Map.ofEntries(
|
|
|
+ Map.entry(AuthenticationField.API_KEY_NAME_KEY, ESTestCase.randomAlphanumericOfLength(64)),
|
|
|
+ Map.entry(AuthenticationField.API_KEY_INTERNAL_KEY, ESTestCase.randomBoolean())
|
|
|
+ );
|
|
|
+ return new User(
|
|
|
+ principal == null ? ESTestCase.randomAlphanumericOfLength(64) : principal,
|
|
|
+ ESTestCase.randomArray(1, 3, String[]::new, () -> "role_" + ESTestCase.randomAlphaOfLengthBetween(3, 8)),
|
|
|
+ null,
|
|
|
+ null,
|
|
|
+ metadata,
|
|
|
+ true
|
|
|
+ );
|
|
|
+ }
|
|
|
+
|
|
|
public static InternalUser randomInternalUser() {
|
|
|
return ESTestCase.randomFrom(InternalUsers.get());
|
|
|
}
|
|
@@ -260,27 +281,14 @@ public class AuthenticationTestHelper {
|
|
|
if (apiKeyId == null) {
|
|
|
apiKeyId = user != null ? user.principal() : ESTestCase.randomAlphanumericOfLength(64);
|
|
|
}
|
|
|
- final Map<String, Object> metadata = ESTestCase.randomBoolean()
|
|
|
- ? null
|
|
|
- : Map.ofEntries(
|
|
|
- Map.entry(AuthenticationField.API_KEY_NAME_KEY, ESTestCase.randomAlphanumericOfLength(64)),
|
|
|
- Map.entry(AuthenticationField.API_KEY_INTERNAL_KEY, ESTestCase.randomBoolean())
|
|
|
- );
|
|
|
if (user == null) {
|
|
|
- user = new User(
|
|
|
- apiKeyId,
|
|
|
- ESTestCase.randomArray(1, 3, String[]::new, () -> "role_" + ESTestCase.randomAlphaOfLengthBetween(3, 8)),
|
|
|
- null,
|
|
|
- null,
|
|
|
- metadata,
|
|
|
- true
|
|
|
- );
|
|
|
+ user = randomCloudApiKeyUser(apiKeyId);
|
|
|
}
|
|
|
|
|
|
assert user.principal().equals(apiKeyId) : "user principal must match cloud API key ID";
|
|
|
|
|
|
return Authentication.newCloudApiKeyAuthentication(
|
|
|
- AuthenticationResult.success(user, metadata),
|
|
|
+ AuthenticationResult.success(user, user.metadata()),
|
|
|
"node_" + ESTestCase.randomAlphaOfLengthBetween(3, 8)
|
|
|
);
|
|
|
|