aboutsummaryrefslogtreecommitdiff
path: root/cc/mac/mac_config_test.cc
diff options
context:
space:
mode:
authortholenst <tholenst@google.com>2019-07-24 09:44:37 -0700
committerCopybara-Service <copybara-worker@google.com>2019-07-24 09:45:12 -0700
commit2f25bf487380e332f28bce1854302bc473cbc06c (patch)
tree1f6638ac34ef7509888d9ff8355bb22f6bc7dfa1 /cc/mac/mac_config_test.cc
parentfa978a66627478d4254475af9bcd57235765e9d9 (diff)
downloadtink-2f25bf487380e332f28bce1854302bc473cbc06c.tar.gz
Add AES CMAC to the config.
PiperOrigin-RevId: 259758821
Diffstat (limited to 'cc/mac/mac_config_test.cc')
-rw-r--r--cc/mac/mac_config_test.cc28
1 files changed, 22 insertions, 6 deletions
diff --git a/cc/mac/mac_config_test.cc b/cc/mac/mac_config_test.cc
index be76b49d6..17e59aa4e 100644
--- a/cc/mac/mac_config_test.cc
+++ b/cc/mac/mac_config_test.cc
@@ -53,27 +53,43 @@ class MacConfigTest : public ::testing::Test {
};
TEST_F(MacConfigTest, testBasic) {
- std::string key_type = "type.googleapis.com/google.crypto.tink.HmacKey";
+ std::string hmac_key_type = "type.googleapis.com/google.crypto.tink.HmacKey";
+ std::string aes_cmac_key_type =
+ "type.googleapis.com/google.crypto.tink.AesCmacKey";
auto& config = MacConfig::Latest();
- EXPECT_EQ(1, MacConfig::Latest().entry_size());
+ EXPECT_EQ(2, MacConfig::Latest().entry_size());
EXPECT_EQ("TinkMac", config.entry(0).catalogue_name());
EXPECT_EQ("Mac", config.entry(0).primitive_name());
- EXPECT_EQ(key_type, config.entry(0).type_url());
+ EXPECT_EQ(hmac_key_type, config.entry(0).type_url());
EXPECT_EQ(true, config.entry(0).new_key_allowed());
EXPECT_EQ(0, config.entry(0).key_manager_version());
+ EXPECT_EQ("TinkMac", config.entry(1).catalogue_name());
+ EXPECT_EQ("Mac", config.entry(1).primitive_name());
+ EXPECT_EQ(aes_cmac_key_type, config.entry(1).type_url());
+ EXPECT_EQ(true, config.entry(1).new_key_allowed());
+ EXPECT_EQ(0, config.entry(1).key_manager_version());
+
// No key manager before registration.
- auto manager_result = Registry::get_key_manager<Mac>(key_type);
+ auto manager_result = Registry::get_key_manager<Mac>(hmac_key_type);
+ EXPECT_FALSE(manager_result.ok());
+ EXPECT_EQ(util::error::NOT_FOUND, manager_result.status().error_code());
+
+ // No key manager before registration.
+ manager_result = Registry::get_key_manager<Mac>(aes_cmac_key_type);
EXPECT_FALSE(manager_result.ok());
EXPECT_EQ(util::error::NOT_FOUND, manager_result.status().error_code());
// Registration of standard key types works.
auto status = MacConfig::Register();
EXPECT_TRUE(status.ok()) << status;
- manager_result = Registry::get_key_manager<Mac>(key_type);
+ manager_result = Registry::get_key_manager<Mac>(hmac_key_type);
+ EXPECT_TRUE(manager_result.ok()) << manager_result.status();
+ EXPECT_TRUE(manager_result.ValueOrDie()->DoesSupport(hmac_key_type));
+ manager_result = Registry::get_key_manager<Mac>(aes_cmac_key_type);
EXPECT_TRUE(manager_result.ok()) << manager_result.status();
- EXPECT_TRUE(manager_result.ValueOrDie()->DoesSupport(key_type));
+ EXPECT_TRUE(manager_result.ValueOrDie()->DoesSupport(aes_cmac_key_type));
}
TEST_F(MacConfigTest, testRegister) {