1 // Copyright 2014 The Chromium Authors. All rights reserved.
2 // Use of this source code is governed by a BSD-style license that can be
3 // found in the LICENSE file.
5 #include "chromeos/login/auth/key.h"
7 #include "testing/gtest/include/gtest/gtest.h"
13 const char kPassword
[] = "password";
14 const char kLabel
[] = "label";
16 "deadbeefdeadbeefdeadbeefdeadbeefdeadbeefdeadbeefdeadbeefdeadbeef";
20 TEST(KeyTest
, ClearSecret
) {
23 EXPECT_EQ(Key::KEY_TYPE_PASSWORD_PLAIN
, key
.GetKeyType());
24 EXPECT_EQ(kPassword
, key
.GetSecret());
25 EXPECT_EQ(kLabel
, key
.GetLabel());
28 EXPECT_EQ(Key::KEY_TYPE_PASSWORD_PLAIN
, key
.GetKeyType());
29 EXPECT_TRUE(key
.GetSecret().empty());
30 EXPECT_EQ(kLabel
, key
.GetLabel());
33 TEST(KeyTest
, TransformToSaltedSHA256TopHalf
) {
35 key
.Transform(Key::KEY_TYPE_SALTED_SHA256_TOP_HALF
, kSalt
);
36 EXPECT_EQ(Key::KEY_TYPE_SALTED_SHA256_TOP_HALF
, key
.GetKeyType());
37 EXPECT_EQ("5b01941771e47fa408380aa675703f4f", key
.GetSecret());
40 TEST(KeyTest
, TransformToSaltedAES2561234
) {
42 key
.Transform(Key::KEY_TYPE_SALTED_PBKDF2_AES256_1234
, kSalt
);
43 EXPECT_EQ(Key::KEY_TYPE_SALTED_PBKDF2_AES256_1234
, key
.GetKeyType());
44 EXPECT_EQ("GUkNnvqoULf/cXbZscVUnANmLBB0ovjGZsj1sKzP5BE=", key
.GetSecret());
47 } // namespace chromeos