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();
+  }
 }