OLD | NEW |
1 // Copyright 2014 The Chromium Authors. All rights reserved. | 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 | 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 #include "components/sync/driver/system_encryptor.h" | 5 #include "components/sync/driver/system_encryptor.h" |
6 | 6 |
7 #include <string> | 7 #include <string> |
8 | 8 |
9 #include "build/build_config.h" | 9 #include "build/build_config.h" |
10 #include "components/os_crypt/os_crypt_mocker.h" | 10 #include "components/os_crypt/os_crypt_mocker.h" |
11 #include "testing/gtest/include/gtest/gtest.h" | 11 #include "testing/gtest/include/gtest/gtest.h" |
12 | 12 |
13 namespace sync_driver { | 13 namespace syncer { |
14 | 14 |
15 namespace { | 15 namespace { |
16 | 16 |
17 const char kPlaintext[] = "The Magic Words are Squeamish Ossifrage"; | 17 const char kPlaintext[] = "The Magic Words are Squeamish Ossifrage"; |
18 | 18 |
19 class SystemEncryptorTest : public testing::Test { | 19 class SystemEncryptorTest : public testing::Test { |
20 protected: | 20 protected: |
21 SystemEncryptor encryptor_; | 21 SystemEncryptor encryptor_; |
22 }; | 22 }; |
23 | 23 |
24 TEST_F(SystemEncryptorTest, EncryptDecrypt) { | 24 TEST_F(SystemEncryptorTest, EncryptDecrypt) { |
25 // SystemEncryptor ends up needing access to the keychain on OS X, | 25 // SystemEncryptor ends up needing access to the keychain on OS X, |
26 // so use the mock keychain to prevent prompts. | 26 // so use the mock keychain to prevent prompts. |
27 ::OSCryptMocker::SetUpWithSingleton(); | 27 ::OSCryptMocker::SetUpWithSingleton(); |
28 std::string ciphertext; | 28 std::string ciphertext; |
29 EXPECT_TRUE(encryptor_.EncryptString(kPlaintext, &ciphertext)); | 29 EXPECT_TRUE(encryptor_.EncryptString(kPlaintext, &ciphertext)); |
30 EXPECT_NE(kPlaintext, ciphertext); | 30 EXPECT_NE(kPlaintext, ciphertext); |
31 std::string plaintext; | 31 std::string plaintext; |
32 EXPECT_TRUE(encryptor_.DecryptString(ciphertext, &plaintext)); | 32 EXPECT_TRUE(encryptor_.DecryptString(ciphertext, &plaintext)); |
33 EXPECT_EQ(kPlaintext, plaintext); | 33 EXPECT_EQ(kPlaintext, plaintext); |
34 ::OSCryptMocker::TearDown(); | 34 ::OSCryptMocker::TearDown(); |
35 } | 35 } |
36 | 36 |
37 } // namespace | 37 } // namespace |
38 | 38 |
39 } // namespace sync_driver | 39 } // namespace syncer |
OLD | NEW |