def test_new_key_data(self):
        # AES GCM HKDF
        key_template = streaming_aead.streaming_aead_key_templates.AES128_GCM_HKDF_4KB
        key_data = self.key_manager_gcm.new_key_data(key_template)
        self.assertEqual(key_data.type_url, self.key_manager_gcm.key_type())
        self.assertEqual(key_data.key_material_type,
                         tink_pb2.KeyData.SYMMETRIC)
        key = aes_gcm_hkdf_streaming_pb2.AesGcmHkdfStreamingKey()
        key.ParseFromString(key_data.value)
        self.assertEqual(key.version, 0)
        self.assertLen(key.key_value, 16)
        self.assertEqual(key.params.hkdf_hash_type, common_pb2.HashType.SHA256)
        self.assertEqual(key.params.derived_key_size, 16)
        self.assertEqual(key.params.ciphertext_segment_size, 4096)

        # AES CTR HMAC
        key_template = streaming_aead.streaming_aead_key_templates.AES128_CTR_HMAC_SHA256_4KB
        key_data = self.key_manager_ctr.new_key_data(key_template)
        self.assertEqual(key_data.type_url, self.key_manager_ctr.key_type())
        self.assertEqual(key_data.key_material_type,
                         tink_pb2.KeyData.SYMMETRIC)
        key = aes_ctr_hmac_streaming_pb2.AesCtrHmacStreamingKey()
        key.ParseFromString(key_data.value)
        self.assertEqual(key.version, 0)
        self.assertLen(key.key_value, 16)
        self.assertEqual(key.params.hkdf_hash_type, common_pb2.HashType.SHA256)
        self.assertEqual(key.params.derived_key_size, 16)
        self.assertEqual(key.params.hmac_params.hash,
                         common_pb2.HashType.SHA256)
        self.assertEqual(key.params.hmac_params.tag_size, 32)
        self.assertEqual(key.params.ciphertext_segment_size, 4096)
 def test_new_aes_ctr_hmac_key_data(self):
   key_template = (
       streaming_aead.streaming_aead_key_templates.AES128_CTR_HMAC_SHA256_4KB)
   key_data = core.Registry.new_key_data(key_template)
   self.assertEqual(key_data.type_url, key_template.type_url)
   self.assertEqual(key_data.key_material_type, tink_pb2.KeyData.SYMMETRIC)
   key = aes_ctr_hmac_streaming_pb2.AesCtrHmacStreamingKey()
   key.ParseFromString(key_data.value)
   self.assertEqual(key.version, 0)
   self.assertLen(key.key_value, 16)
   self.assertEqual(key.params.hkdf_hash_type, common_pb2.HashType.SHA256)
   self.assertEqual(key.params.derived_key_size, 16)
   self.assertEqual(key.params.hmac_params.hash, common_pb2.HashType.SHA256)
   self.assertEqual(key.params.hmac_params.tag_size, 32)
   self.assertEqual(key.params.ciphertext_segment_size, 4096)