}
template<typename T, typename U, typename FT, typename FU>
-void __testMultipleSerialization(T first, U second, FT cmpfirst, FU cmpsecond)
+void __testMultipleSerialization(T first, U second, FT cmpfirst, FU cmpsecond,
+ T deserialized_first, U deserialized_second)
{
- T deserialized_first = nullptr;
- U deserialized_second = nullptr;
-
MessageBuffer buffer;
buffer.InitForStreaming();
Serialization::Serialize(buffer, first, second);
EXPECT_EQ(cmpsecond(second, deserialized_second), true);
}
+template<typename T, typename U, typename FT, typename FU>
+void __testMultipleSerialization(T first, U second, FT cmpfirst, FU cmpsecond)
+{
+ T deserialized_first = nullptr;
+ U deserialized_second = nullptr;
+ __testMultipleSerialization(first, second, cmpfirst, cmpsecond,
+ deserialized_first, deserialized_second);
+}
+
+template<typename T, typename U, typename FT, typename FU>
+void __testMultipleSerializationWAuthErrorE(T first, U second, FT cmpfirst, FU cmpsecond)
+{
+ T deserialized_first = nullptr;
+ U deserialized_second = WAUTHN_ERROR_NONE;
+ __testMultipleSerialization(first, second, cmpfirst, cmpsecond,
+ deserialized_first, deserialized_second);
+}
+
TEST_F(WAuthnSerializationTest, multiple_serialization_mcreq_P)
{
wauthn_client_data_s *client_data = &SerializationTestData::clientData;
wauthn_pubkey_cred_creation_options_s *options = &SerializationTestData::pubkeyCredCreationOptions;
- __testMultipleSerialization(client_data, options,
+ __testMultipleSerialization(client_data, options,
__compareWAuthnClientDataS, __compareWAuthnPubkeyCredCreationOptionsS);
}
wauthn_client_data_s *client_data = &SerializationTestData::clientData;
wauthn_pubkey_cred_request_options_s *options = &SerializationTestData::pubkeyCredRequestOptions;
- __testMultipleSerialization(client_data, options,
+ __testMultipleSerialization(client_data, options,
__compareWAuthnClientDataS, __compareWAuthnPubkeyCredRequestOptionsS);
}
wauthn_pubkey_credential_attestaion_s *pubkeyCred = &SerializationTestData::pubkeyCredentialAttestation;
wauthn_error_e result = WAUTHN_ERROR_PERMISSION_DENIED;
- __testMultipleSerialization(pubkeyCred, result,
+ __testMultipleSerializationWAuthErrorE(pubkeyCred, result,
__compareWAuthnPubkeyCredentialAttestionS, __compareWAuthErrorE);
}
wauthn_pubkey_credential_assertion_s *pubkeyCred = &SerializationTestData::pubkeyCredentialAssertion;
wauthn_error_e result = WAUTHN_ERROR_CANCELLED;
- __testMultipleSerialization(pubkeyCred, result,
+ __testMultipleSerializationWAuthErrorE(pubkeyCred, result,
__compareWAuthnPubkeyCredentialAssertionS, __compareWAuthErrorE);
}