Chromium Code Reviews
chromiumcodereview-hr@appspot.gserviceaccount.com (chromiumcodereview-hr) | Please choose your nickname with Settings | Help | Chromium Project | Gerrit Changes | Sign out
(318)

Side by Side Diff: src/platform/cryptohome/username_passkey_unittest.cc

Issue 2051003: Initial patch from Will. (Closed) Base URL: ssh://git@chromiumos-git/chromiumos
Patch Set: Address style nits. Created 10 years, 6 months ago
Use n/p to move between diff chunks; N/P to move between comments. Draft comments are only viewable by you.
Jump to:
View unified diff | Download patch
OLDNEW
1 // Copyright (c) 2009-2010 The Chromium OS Authors. All rights reserved. 1 // Copyright (c) 2009-2010 The Chromium OS Authors. All rights reserved.
2 // Use of this source code is governed by a BSD-style license that can be 2 // Use of this source code is governed by a BSD-style license that can be
3 // found in the LICENSE file. 3 // found in the LICENSE file.
4 4
5 // Unit tests for UsernamePasshash. 5 // Unit tests for UsernamePasskey.
6 6
7 #include "cryptohome/username_passhash.h" 7 #include "cryptohome/username_passkey.h"
8 8
9 #include <gtest/gtest.h> 9 #include <gtest/gtest.h>
10 #include <string.h> // For memset(), memcpy() 10 #include <string.h> // For memset(), memcpy()
11 #include <string> 11 #include <string>
12 12
13 #include "chromeos/utility.h" 13 #include "chromeos/utility.h"
14 14
15 namespace cryptohome { 15 namespace cryptohome {
16 using namespace chromeos; 16 using namespace chromeos;
17 17
18 const char kFakeUser[] = "fakeuser"; 18 const char kFakeUser[] = "fakeuser";
19 const char kFakeHash[] = "176c1e698b521373d77ce655d2e56a1d"; 19 const char kFakePasskey[] = "176c1e698b521373d77ce655d2e56a1d";
20 20
21 // salt must have even number of characters. 21 // salt must have even number of characters.
22 const char kFakeSystemSalt[] = "01234567890123456789"; 22 const char kFakeSystemSalt[] = "01234567890123456789";
23 23
24 class UsernamePasshashTest : public ::testing::Test { }; 24 class UsernamePasskeyTest : public ::testing::Test { };
25 25
26 TEST(UsernamePasshashTest, GetFullUsernameTest) { 26 TEST(UsernamePasskeyTest, GetFullUsernameTest) {
27 char username[80]; 27 char username[80];
28 snprintf(username, sizeof(username), "%s%s", kFakeUser, "@gmail.com"); 28 snprintf(username, sizeof(username), "%s%s", kFakeUser, "@gmail.com");
29 UsernamePasshash up(username, strlen(username), 29 UsernamePasskey up(username, strlen(username),
30 kFakeHash, strlen(kFakeHash)); 30 kFakePasskey, strlen(kFakePasskey));
31 char full_username[80]; 31 char full_username[80];
32 up.GetFullUsername(full_username, sizeof(full_username)); 32 up.GetFullUsername(full_username, sizeof(full_username));
33 EXPECT_EQ(0, strcmp(username, full_username)); 33 EXPECT_EQ(0, strcmp(username, full_username));
34 } 34 }
35 35
36 TEST(UsernamePasshashTest, GetPartialUsernameTest) { 36 TEST(UsernamePasskeyTest, GetPartialUsernameTest) {
37 char username[80]; 37 char username[80];
38 snprintf(username, sizeof(username), "%s%s", kFakeUser, "@gmail.com"); 38 snprintf(username, sizeof(username), "%s%s", kFakeUser, "@gmail.com");
39 UsernamePasshash up(username, strlen(username), 39 UsernamePasskey up(username, strlen(username),
40 kFakeHash, strlen(kFakeHash)); 40 kFakePasskey, strlen(kFakePasskey));
41 char partial_username[80]; 41 char partial_username[80];
42 up.GetPartialUsername(partial_username, sizeof(partial_username)); 42 up.GetPartialUsername(partial_username, sizeof(partial_username));
43 EXPECT_EQ(0, strcmp(kFakeUser, partial_username)); 43 EXPECT_EQ(0, strcmp(kFakeUser, partial_username));
44 } 44 }
45 45
46 TEST(UsernamePasshashTest, GetObfuscatedUsernameTest) { 46 TEST(UsernamePasskeyTest, GetObfuscatedUsernameTest) {
47 UsernamePasshash up(kFakeUser, strlen(kFakeUser), 47 UsernamePasskey up(kFakeUser, strlen(kFakeUser),
48 kFakeHash, strlen(kFakeHash)); 48 kFakePasskey, strlen(kFakePasskey));
49 49
50 Blob fake_salt(AsciiDecode(kFakeSystemSalt)); 50 Blob fake_salt(AsciiDecode(kFakeSystemSalt));
51 51
52 EXPECT_EQ("bb0ae3fcd181eefb861b4f0ee147a316e51d9f04", 52 EXPECT_EQ("bb0ae3fcd181eefb861b4f0ee147a316e51d9f04",
53 up.GetObfuscatedUsername(fake_salt)); 53 up.GetObfuscatedUsername(fake_salt));
54 } 54 }
55 55
56 TEST(UsernamePasshashTest, GetPasshashWeakHashTest) { 56 TEST(UsernamePasskeyTest, GetPasskeyTest) {
57 UsernamePasshash up(kFakeUser, strlen(kFakeUser), 57 UsernamePasskey up(kFakeUser, strlen(kFakeUser),
58 kFakeHash, strlen(kFakeHash)); 58 kFakePasskey, strlen(kFakePasskey));
59 59 Blob passkey = up.GetPasskey();
60 Blob fake_salt(AsciiDecode(kFakeSystemSalt)); 60 EXPECT_EQ(strlen(kFakePasskey), passkey.size());
61 61 EXPECT_EQ(0, memcmp(kFakePasskey, &passkey[0], passkey.size()));
62 EXPECT_EQ(kFakeHash, up.GetPasswordWeakHash(fake_salt));
63 } 62 }
64 63
65 } // namespace cryptohome 64 } // cryptohome
OLDNEW

Powered by Google App Engine
This is Rietveld 408576698