Index: sync/util/nigori_unittest.cc |
diff --git a/sync/util/nigori_unittest.cc b/sync/util/nigori_unittest.cc |
deleted file mode 100644 |
index 0853fe40630cff26daf9b23cdd14b72ed0f86444..0000000000000000000000000000000000000000 |
--- a/sync/util/nigori_unittest.cc |
+++ /dev/null |
@@ -1,163 +0,0 @@ |
-// Copyright (c) 2012 The Chromium Authors. All rights reserved. |
-// Use of this source code is governed by a BSD-style license that can be |
-// found in the LICENSE file. |
- |
-#include "sync/util/nigori.h" |
- |
-#include <string> |
- |
-#include "base/strings/string_util.h" |
-#include "testing/gtest/include/gtest/gtest.h" |
- |
-namespace syncer { |
-namespace { |
- |
-TEST(SyncNigoriTest, Permute) { |
- Nigori nigori; |
- EXPECT_TRUE(nigori.InitByDerivation("example.com", "username", "password")); |
- |
- std::string permuted; |
- EXPECT_TRUE(nigori.Permute(Nigori::Password, "test name", |
- &permuted)); |
- |
- std::string expected = |
- "prewwdJj2PrGDczvmsHJEE5ndcCyVze8sY9kD5hjY/Tm" |
- "c5kOjXFK7zB3Ss4LlHjEDirMu+vh85JwHOnGrMVe+g=="; |
- EXPECT_EQ(expected, permuted); |
-} |
- |
-TEST(SyncNigoriTest, PermuteIsConstant) { |
- Nigori nigori1; |
- EXPECT_TRUE(nigori1.InitByDerivation("example.com", "username", "password")); |
- |
- std::string permuted1; |
- EXPECT_TRUE(nigori1.Permute(Nigori::Password, |
- "name", |
- &permuted1)); |
- |
- Nigori nigori2; |
- EXPECT_TRUE(nigori2.InitByDerivation("example.com", "username", "password")); |
- |
- std::string permuted2; |
- EXPECT_TRUE(nigori2.Permute(Nigori::Password, |
- "name", |
- &permuted2)); |
- |
- EXPECT_LT(0U, permuted1.size()); |
- EXPECT_EQ(permuted1, permuted2); |
-} |
- |
-TEST(SyncNigoriTest, EncryptDifferentIv) { |
- Nigori nigori; |
- EXPECT_TRUE(nigori.InitByDerivation("example.com", "username", "password")); |
- |
- std::string plaintext("value"); |
- |
- std::string encrypted1; |
- EXPECT_TRUE(nigori.Encrypt(plaintext, &encrypted1)); |
- |
- std::string encrypted2; |
- EXPECT_TRUE(nigori.Encrypt(plaintext, &encrypted2)); |
- |
- EXPECT_NE(encrypted1, encrypted2); |
-} |
- |
-TEST(SyncNigoriTest, Decrypt) { |
- Nigori nigori; |
- EXPECT_TRUE(nigori.InitByDerivation("example.com", "username", "password")); |
- |
- std::string encrypted = |
- "e7+JyS6ibj6F5qqvpseukNRTZ+oBpu5iuv2VYjOfrH1dNiFLNf7Ov0" |
- "kx/zicKFn0lJcbG1UmkNWqIuR4x+quDNVuLaZGbrJPhrJuj7cokCM="; |
- |
- std::string plaintext; |
- EXPECT_TRUE(nigori.Decrypt(encrypted, &plaintext)); |
- |
- std::string expected("test, test, 1, 2, 3"); |
- EXPECT_EQ(expected, plaintext); |
-} |
- |
-TEST(SyncNigoriTest, EncryptDecrypt) { |
- Nigori nigori; |
- EXPECT_TRUE(nigori.InitByDerivation("example.com", "username", "password")); |
- |
- std::string plaintext("value"); |
- |
- std::string encrypted; |
- EXPECT_TRUE(nigori.Encrypt(plaintext, &encrypted)); |
- |
- std::string decrypted; |
- EXPECT_TRUE(nigori.Decrypt(encrypted, &decrypted)); |
- |
- EXPECT_EQ(plaintext, decrypted); |
-} |
- |
-TEST(SyncNigoriTest, CorruptedIv) { |
- Nigori nigori; |
- EXPECT_TRUE(nigori.InitByDerivation("example.com", "username", "password")); |
- |
- std::string plaintext("test"); |
- |
- std::string encrypted; |
- EXPECT_TRUE(nigori.Encrypt(plaintext, &encrypted)); |
- |
- // Corrupt the IV by changing one of its byte. |
- encrypted[0] = (encrypted[0] == 'a' ? 'b' : 'a'); |
- |
- std::string decrypted; |
- EXPECT_TRUE(nigori.Decrypt(encrypted, &decrypted)); |
- |
- EXPECT_NE(plaintext, decrypted); |
-} |
- |
-TEST(SyncNigoriTest, CorruptedCiphertext) { |
- Nigori nigori; |
- EXPECT_TRUE(nigori.InitByDerivation("example.com", "username", "password")); |
- |
- std::string plaintext("test"); |
- |
- std::string encrypted; |
- EXPECT_TRUE(nigori.Encrypt(plaintext, &encrypted)); |
- |
- // Corrput the ciphertext by changing one of its bytes. |
- encrypted[Nigori::kIvSize + 10] = |
- (encrypted[Nigori::kIvSize + 10] == 'a' ? 'b' : 'a'); |
- |
- std::string decrypted; |
- EXPECT_FALSE(nigori.Decrypt(encrypted, &decrypted)); |
- |
- EXPECT_NE(plaintext, decrypted); |
-} |
- |
-TEST(SyncNigoriTest, ExportImport) { |
- Nigori nigori1; |
- EXPECT_TRUE(nigori1.InitByDerivation("example.com", "username", "password")); |
- |
- std::string user_key; |
- std::string encryption_key; |
- std::string mac_key; |
- EXPECT_TRUE(nigori1.ExportKeys(&user_key, &encryption_key, &mac_key)); |
- |
- Nigori nigori2; |
- EXPECT_TRUE(nigori2.InitByImport(user_key, encryption_key, mac_key)); |
- |
- std::string original("test"); |
- std::string plaintext; |
- std::string ciphertext; |
- |
- EXPECT_TRUE(nigori1.Encrypt(original, &ciphertext)); |
- EXPECT_TRUE(nigori2.Decrypt(ciphertext, &plaintext)); |
- EXPECT_EQ(original, plaintext); |
- |
- EXPECT_TRUE(nigori2.Encrypt(original, &ciphertext)); |
- EXPECT_TRUE(nigori1.Decrypt(ciphertext, &plaintext)); |
- EXPECT_EQ(original, plaintext); |
- |
- std::string permuted1, permuted2; |
- EXPECT_TRUE(nigori1.Permute(Nigori::Password, original, &permuted1)); |
- EXPECT_TRUE(nigori2.Permute(Nigori::Password, original, &permuted2)); |
- EXPECT_EQ(permuted1, permuted2); |
-} |
- |
-} // anonymous namespace |
-} // namespace syncer |