1234567891011121314151617181920212223242526272829303132333435363738394041424344454647484950515253545556575859606162 |
- // Copyright 2022 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 "components/sync/chromeos/explicit_passphrase_mojo_utils.h"
- #include <string>
- #include "chromeos/crosapi/mojom/sync.mojom.h"
- #include "components/sync/engine/nigori/key_derivation_params.h"
- #include "components/sync/engine/nigori/nigori.h"
- #include "testing/gmock/include/gmock/gmock.h"
- #include "testing/gtest/include/gtest/gtest.h"
- namespace syncer {
- namespace {
- using testing::Eq;
- using testing::IsNull;
- using testing::NotNull;
- TEST(ExplicitPassphraseMojoUtilsTest, ShouldConvertNigoriToMojoAndBack) {
- auto nigori1 = Nigori::CreateByDerivation(
- KeyDerivationParams::CreateForPbkdf2(), "password");
- ASSERT_THAT(nigori1, NotNull());
- auto mojo_nigori_key = NigoriToMojo(*nigori1);
- ASSERT_FALSE(mojo_nigori_key.is_null());
- auto nigori2 = NigoriFromMojo(*mojo_nigori_key);
- ASSERT_THAT(nigori2, NotNull());
- std::string deprecated_user_key1;
- std::string encryption_key1;
- std::string mac_key1;
- nigori1->ExportKeys(&deprecated_user_key1, &encryption_key1, &mac_key1);
- std::string deprecated_user_key2;
- std::string encryption_key2;
- std::string mac_key2;
- nigori2->ExportKeys(&deprecated_user_key2, &encryption_key2, &mac_key2);
- // Don't check user key, because it's deprecated and safe to ignore.
- EXPECT_THAT(encryption_key1, Eq(encryption_key2));
- EXPECT_THAT(mac_key1, Eq(mac_key2));
- }
- TEST(ExplicitPassphraseMojoUtilsTest, ShouldFailMojoToNigoriIfMojoEmpty) {
- auto empty_mojo_nigori_key = crosapi::mojom::NigoriKey::New();
- EXPECT_THAT(NigoriFromMojo(*empty_mojo_nigori_key), IsNull());
- }
- TEST(ExplicitPassphraseMojoUtilsTest, ShouldFailMojoToNigoriIfMojoNotValid) {
- auto invalid_mojo_nigori_key = crosapi::mojom::NigoriKey::New();
- invalid_mojo_nigori_key->encryption_key = {1, 2, 3};
- invalid_mojo_nigori_key->mac_key = {1, 2, 3};
- EXPECT_THAT(NigoriFromMojo(*invalid_mojo_nigori_key), IsNull());
- }
- } // namespace
- } // namespace syncer
|