|
|
@@ -800,19 +800,19 @@ public class ApiKeyServiceTests extends ESTestCase {
|
|
|
|
|
|
public void testApiKeyDocDeserialization() throws IOException {
|
|
|
final String apiKeyDocumentSource =
|
|
|
- "{\"doc_type\":\"api_key\",\"creation_time\":1591919944598,\"expiration_time\":null,\"api_key_invalidated\":false," +
|
|
|
+ "{\"doc_type\":\"api_key\",\"creation_time\":1591919944598,\"expiration_time\":1591919944599,\"api_key_invalidated\":false," +
|
|
|
"\"api_key_hash\":\"{PBKDF2}10000$abc\",\"role_descriptors\":{\"a\":{\"cluster\":[\"all\"]}}," +
|
|
|
"\"limited_by_role_descriptors\":{\"limited_by\":{\"cluster\":[\"all\"]," +
|
|
|
"\"metadata\":{\"_reserved\":true},\"type\":\"role\"}}," +
|
|
|
"\"name\":\"key-1\",\"version\":7000099," +
|
|
|
- "\"creator\":{\"principal\":\"admin\",\"metadata\":{\"foo\":\"bar\"},\"realm\":\"file1\",\"realm_type\":\"file\"}}\n";
|
|
|
+ "\"creator\":{\"principal\":\"admin\",\"metadata\":{\"foo\":\"bar\"},\"realm\":\"file1\",\"realm_type\":\"file\"}}";
|
|
|
final ApiKeyDoc apiKeyDoc = ApiKeyDoc.fromXContent(XContentHelper.createParser(NamedXContentRegistry.EMPTY,
|
|
|
LoggingDeprecationHandler.INSTANCE,
|
|
|
new BytesArray(apiKeyDocumentSource),
|
|
|
XContentType.JSON));
|
|
|
assertEquals("api_key", apiKeyDoc.docType);
|
|
|
assertEquals(1591919944598L, apiKeyDoc.creationTime);
|
|
|
- assertEquals(-1L, apiKeyDoc.expirationTime);
|
|
|
+ assertEquals(1591919944599L, apiKeyDoc.expirationTime);
|
|
|
assertFalse(apiKeyDoc.invalidated);
|
|
|
assertEquals("{PBKDF2}10000$abc", apiKeyDoc.hash);
|
|
|
assertEquals("key-1", apiKeyDoc.name);
|
|
|
@@ -828,6 +828,22 @@ public class ApiKeyServiceTests extends ESTestCase {
|
|
|
assertEquals("bar", ((Map<String, Object>)creator.get("metadata")).get("foo"));
|
|
|
}
|
|
|
|
|
|
+ public void testApiKeyDocDeserializationWithNullValues() throws IOException {
|
|
|
+ final String apiKeyDocumentSource =
|
|
|
+ "{\"doc_type\":\"api_key\",\"creation_time\":1591919944598,\"expiration_time\":null,\"api_key_invalidated\":false," +
|
|
|
+ "\"api_key_hash\":\"{PBKDF2}10000$abc\",\"role_descriptors\":{}," +
|
|
|
+ "\"limited_by_role_descriptors\":{\"limited_by\":{\"cluster\":[\"all\"]}}," +
|
|
|
+ "\"name\":null,\"version\":7000099," +
|
|
|
+ "\"creator\":{\"principal\":\"admin\",\"metadata\":{},\"realm\":\"file1\"}}";
|
|
|
+ final ApiKeyDoc apiKeyDoc = ApiKeyDoc.fromXContent(XContentHelper.createParser(NamedXContentRegistry.EMPTY,
|
|
|
+ LoggingDeprecationHandler.INSTANCE,
|
|
|
+ new BytesArray(apiKeyDocumentSource),
|
|
|
+ XContentType.JSON));
|
|
|
+ assertEquals(-1L, apiKeyDoc.expirationTime);
|
|
|
+ assertNull(apiKeyDoc.name);
|
|
|
+ assertEquals(new BytesArray("{}"), apiKeyDoc.roleDescriptorsBytes);
|
|
|
+ }
|
|
|
+
|
|
|
public static class Utils {
|
|
|
private static final AuthenticationContextSerializer authenticationContextSerializer = new AuthenticationContextSerializer();
|
|
|
|