single_client_passwords_sync_test.cc revision 58537e28ecd584eab876aee8be7156509866d23a
1// Copyright (c) 2011 The Chromium Authors. All rights reserved.
2// Use of this source code is governed by a BSD-style license that can be
3// found in the LICENSE file.
4
5#include "chrome/browser/password_manager/password_form_data.h"
6#include "chrome/browser/sync/profile_sync_service_harness.h"
7#include "chrome/browser/sync/test/integration/sync_test.h"
8#include "chrome/browser/sync/test/integration/passwords_helper.h"
9
10using passwords_helper::AddLogin;
11using passwords_helper::CreateTestPasswordForm;
12using passwords_helper::GetPasswordCount;
13using passwords_helper::GetPasswordStore;
14using passwords_helper::GetVerifierPasswordCount;
15using passwords_helper::GetVerifierPasswordStore;
16using passwords_helper::ProfileContainsSamePasswordFormsAsVerifier;
17
18using autofill::PasswordForm;
19
20class SingleClientPasswordsSyncTest : public SyncTest {
21 public:
22  SingleClientPasswordsSyncTest() : SyncTest(SINGLE_CLIENT) {}
23  virtual ~SingleClientPasswordsSyncTest() {}
24
25 private:
26  DISALLOW_COPY_AND_ASSIGN(SingleClientPasswordsSyncTest);
27};
28
29IN_PROC_BROWSER_TEST_F(SingleClientPasswordsSyncTest, Sanity) {
30  ASSERT_TRUE(SetupSync()) << "SetupSync() failed.";
31
32  PasswordForm form = CreateTestPasswordForm(0);
33  AddLogin(GetVerifierPasswordStore(), form);
34  ASSERT_EQ(1, GetVerifierPasswordCount());
35  AddLogin(GetPasswordStore(0), form);
36  ASSERT_EQ(1, GetPasswordCount(0));
37
38  ASSERT_TRUE(GetClient(0)->AwaitFullSyncCompletion("Added a login."));
39  ASSERT_TRUE(ProfileContainsSamePasswordFormsAsVerifier(0));
40  ASSERT_EQ(1, GetPasswordCount(0));
41}
42