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

Side by Side Diff: username_passkey_unittest.cc

Issue 2645008: Update on feedback, update dbus API, add unit tests. TEST=manual,unit,BVT BUG=3628 323 (Closed) Base URL: ssh://git@chromiumos-git/cryptohome.git
Patch Set: Address second round of feedback. 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
« no previous file with comments | « username_passkey.cc ('k') | vault_keyset.h » ('j') | no next file with comments »
Toggle Intra-line Diffs ('i') | Expand Comments ('e') | Collapse Comments ('c') | Show Comments Hide Comments ('s')
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 UsernamePasskey. 5 // Unit tests for UsernamePasskey.
6 6
7 #include "cryptohome/username_passkey.h" 7 #include "username_passkey.h"
8 8
9 #include <string.h> // For memset(), memcpy()
10
11 #include <chromeos/utility.h>
9 #include <gtest/gtest.h> 12 #include <gtest/gtest.h>
10 #include <string.h> // For memset(), memcpy()
11 #include <string> 13 #include <string>
12 14
13 #include "chromeos/utility.h"
14
15 namespace cryptohome { 15 namespace cryptohome {
16 using namespace chromeos;
17 16
18 const char kFakeUser[] = "fakeuser"; 17 const char kFakeUser[] = "fakeuser";
19 const char kFakePasskey[] = "176c1e698b521373d77ce655d2e56a1d"; 18 const char kFakePasskey[] = "176c1e698b521373d77ce655d2e56a1d";
20 19
21 // salt must have even number of characters. 20 // salt must have even number of characters.
22 const char kFakeSystemSalt[] = "01234567890123456789"; 21 const char kFakeSystemSalt[] = "01234567890123456789";
23 22
24 class UsernamePasskeyTest : public ::testing::Test { }; 23 class UsernamePasskeyTest : public ::testing::Test {
24 public:
25 UsernamePasskeyTest() { }
26 virtual ~UsernamePasskeyTest() { }
27
28 private:
29 DISALLOW_COPY_AND_ASSIGN(UsernamePasskeyTest);
30 };
25 31
26 TEST(UsernamePasskeyTest, GetFullUsernameTest) { 32 TEST(UsernamePasskeyTest, GetFullUsernameTest) {
27 char username[80]; 33 char username[80];
28 snprintf(username, sizeof(username), "%s%s", kFakeUser, "@gmail.com"); 34 snprintf(username, sizeof(username), "%s%s", kFakeUser, "@gmail.com");
29 UsernamePasskey up(username, strlen(username), 35 UsernamePasskey up(username, SecureBlob(kFakePasskey, strlen(kFakePasskey)));
30 kFakePasskey, strlen(kFakePasskey));
31 char full_username[80]; 36 char full_username[80];
32 up.GetFullUsername(full_username, sizeof(full_username)); 37 up.GetFullUsername(full_username, sizeof(full_username));
33 EXPECT_EQ(0, strcmp(username, full_username)); 38 EXPECT_EQ(0, strcmp(username, full_username));
34 } 39 }
35 40
36 TEST(UsernamePasskeyTest, GetPartialUsernameTest) { 41 TEST(UsernamePasskeyTest, GetPartialUsernameTest) {
37 char username[80]; 42 char username[80];
38 snprintf(username, sizeof(username), "%s%s", kFakeUser, "@gmail.com"); 43 snprintf(username, sizeof(username), "%s%s", kFakeUser, "@gmail.com");
39 UsernamePasskey up(username, strlen(username), 44 UsernamePasskey up(username, SecureBlob(kFakePasskey, strlen(kFakePasskey)));
40 kFakePasskey, strlen(kFakePasskey));
41 char partial_username[80]; 45 char partial_username[80];
42 up.GetPartialUsername(partial_username, sizeof(partial_username)); 46 up.GetPartialUsername(partial_username, sizeof(partial_username));
43 EXPECT_EQ(0, strcmp(kFakeUser, partial_username)); 47 EXPECT_EQ(0, strcmp(kFakeUser, partial_username));
44 } 48 }
45 49
46 TEST(UsernamePasskeyTest, GetObfuscatedUsernameTest) { 50 TEST(UsernamePasskeyTest, GetObfuscatedUsernameTest) {
47 UsernamePasskey up(kFakeUser, strlen(kFakeUser), 51 UsernamePasskey up(kFakeUser, SecureBlob(kFakePasskey, strlen(kFakePasskey)));
48 kFakePasskey, strlen(kFakePasskey));
49 52
50 Blob fake_salt(AsciiDecode(kFakeSystemSalt)); 53 chromeos::Blob fake_salt(chromeos::AsciiDecode(kFakeSystemSalt));
51 54
52 EXPECT_EQ("bb0ae3fcd181eefb861b4f0ee147a316e51d9f04", 55 EXPECT_EQ("bb0ae3fcd181eefb861b4f0ee147a316e51d9f04",
53 up.GetObfuscatedUsername(fake_salt)); 56 up.GetObfuscatedUsername(fake_salt));
54 } 57 }
55 58
56 TEST(UsernamePasskeyTest, GetPasskeyTest) { 59 TEST(UsernamePasskeyTest, GetPasskeyTest) {
57 UsernamePasskey up(kFakeUser, strlen(kFakeUser), 60 UsernamePasskey up(kFakeUser, SecureBlob(kFakePasskey, strlen(kFakePasskey)));
58 kFakePasskey, strlen(kFakePasskey)); 61 SecureBlob passkey;
59 Blob passkey = up.GetPasskey(); 62 up.GetPasskey(&passkey);
60 EXPECT_EQ(strlen(kFakePasskey), passkey.size()); 63 EXPECT_EQ(strlen(kFakePasskey), passkey.size());
61 EXPECT_EQ(0, memcmp(kFakePasskey, &passkey[0], passkey.size())); 64 EXPECT_EQ(0, memcmp(kFakePasskey, &passkey[0], passkey.size()));
62 } 65 }
63 66
64 } // cryptohome 67 } // namespace cryptohome
OLDNEW
« no previous file with comments | « username_passkey.cc ('k') | vault_keyset.h » ('j') | no next file with comments »

Powered by Google App Engine
This is Rietveld 408576698