Add tests for LegacyKmsAeadParameters to KmsAeadKeyManagerTest.java
PiperOrigin-RevId: 595382034
Change-Id: Iccab96f163d76c3346252e386671285782120c4a
diff --git a/src/test/java/com/google/crypto/tink/aead/BUILD.bazel b/src/test/java/com/google/crypto/tink/aead/BUILD.bazel
index 02e6085..866bca4 100644
--- a/src/test/java/com/google/crypto/tink/aead/BUILD.bazel
+++ b/src/test/java/com/google/crypto/tink/aead/BUILD.bazel
@@ -241,6 +241,7 @@
"//src/main/java/com/google/crypto/tink:aead",
"//src/main/java/com/google/crypto/tink:kms_clients",
"//src/main/java/com/google/crypto/tink:registry_cluster",
+ "//src/main/java/com/google/crypto/tink:tink_proto_keyset_format",
"//src/main/java/com/google/crypto/tink/aead:aead_config",
"//src/main/java/com/google/crypto/tink/aead:kms_aead_key_manager",
"//src/main/java/com/google/crypto/tink/aead:legacy_kms_aead_key",
diff --git a/src/test/java/com/google/crypto/tink/aead/KmsAeadKeyManagerTest.java b/src/test/java/com/google/crypto/tink/aead/KmsAeadKeyManagerTest.java
index 6fbecac..71974f3 100644
--- a/src/test/java/com/google/crypto/tink/aead/KmsAeadKeyManagerTest.java
+++ b/src/test/java/com/google/crypto/tink/aead/KmsAeadKeyManagerTest.java
@@ -22,6 +22,7 @@
import com.google.crypto.tink.Aead;
import com.google.crypto.tink.KeysetHandle;
import com.google.crypto.tink.KmsClients;
+import com.google.crypto.tink.TinkProtoKeysetFormat;
import com.google.crypto.tink.internal.KeyManagerRegistry;
import com.google.crypto.tink.subtle.Random;
import com.google.crypto.tink.testing.FakeKmsClient;
@@ -111,4 +112,23 @@
assertThat(KmsAeadKeyManager.createKeyTemplate(keyUri).toParameters())
.isEqualTo(LegacyKmsAeadParameters.create(keyUri));
}
+
+ @Test
+ public void generateNewFromParams_works() throws Exception {
+ LegacyKmsAeadParameters parameters = LegacyKmsAeadParameters.create("some example KEK URI");
+ KeysetHandle keysetHandle1 = KeysetHandle.generateNew(parameters);
+ KeysetHandle keysetHandle2 = KeysetHandle.generateNew(parameters);
+ // For LegacyKmsAeadParameters we expect both keysets to be the same -- however, the ID of the
+ // keys may differ.
+ assertThat(keysetHandle1.getAt(0).getKey().equalsKey(keysetHandle2.getAt(0).getKey())).isTrue();
+ }
+
+ @Test
+ public void serializeAndParse_works() throws Exception {
+ LegacyKmsAeadParameters parameters = LegacyKmsAeadParameters.create("some example KEK URI");
+ KeysetHandle keysetHandle1 = KeysetHandle.generateNew(parameters);
+ byte[] serialized = TinkProtoKeysetFormat.serializeKeysetWithoutSecret(keysetHandle1);
+ KeysetHandle keysetHandle2 = TinkProtoKeysetFormat.parseKeysetWithoutSecret(serialized);
+ assertThat(keysetHandle1.equalsKeyset(keysetHandle2)).isTrue();
+ }
}