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

Side by Side Diff: chrome/browser/sync/glue/local_device_info_provider_unittest.cc

Issue 1397913002: [Sync] Componentize local_device_info_provider_impl and test (Closed) Base URL: https://chromium.googlesource.com/chromium/src.git@master
Patch Set: Fix android Created 5 years, 1 month 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
OLDNEW
(Empty)
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
3 // found in the LICENSE file.
4
5 #include "base/bind.h"
6 #include "base/message_loop/message_loop.h"
7 #include "base/run_loop.h"
8 #include "chrome/browser/sync/glue/local_device_info_provider_impl.h"
9 #include "sync/util/get_session_name.h"
10 #include "testing/gtest/include/gtest/gtest.h"
11
12 using sync_driver::DeviceInfo;
13 using sync_driver::LocalDeviceInfoProvider;
14
15 namespace browser_sync {
16
17 const char kLocalDeviceGuid[] = "foo";
18 const char kSigninScopedDeviceId[] = "device_id";
19
20 class LocalDeviceInfoProviderTest : public testing::Test {
21 public:
22 LocalDeviceInfoProviderTest()
23 : called_back_(false) {}
24 ~LocalDeviceInfoProviderTest() override {}
25
26 void SetUp() override { provider_.reset(new LocalDeviceInfoProviderImpl()); }
27
28 void TearDown() override {
29 provider_.reset();
30 called_back_ = false;
31 }
32
33 protected:
34 void InitializeProvider() {
35 // Start initialization.
36 provider_->Initialize(kLocalDeviceGuid, kSigninScopedDeviceId);
37
38 // Subscribe to the notification and wait until the callback
39 // is called. The callback will quit the loop.
40 base::RunLoop run_loop;
41 scoped_ptr<LocalDeviceInfoProvider::Subscription> subscription(
42 provider_->RegisterOnInitializedCallback(
43 base::Bind(&LocalDeviceInfoProviderTest::QuitLoopOnInitialized,
44 base::Unretained(this), &run_loop)));
45 run_loop.Run();
46 }
47
48 void QuitLoopOnInitialized(base::RunLoop* loop) {
49 called_back_ = true;
50 loop->Quit();
51 }
52
53 scoped_ptr<LocalDeviceInfoProviderImpl> provider_;
54
55 bool called_back_;
56
57 private:
58 base::MessageLoop message_loop_;
59 };
60
61 TEST_F(LocalDeviceInfoProviderTest, OnInitializedCallback) {
62 ASSERT_FALSE(called_back_);
63
64 InitializeProvider();
65 EXPECT_TRUE(called_back_);
66 }
67
68 TEST_F(LocalDeviceInfoProviderTest, GetLocalDeviceInfo) {
69 ASSERT_EQ(NULL, provider_->GetLocalDeviceInfo());
70
71 InitializeProvider();
72
73 const DeviceInfo* local_device_info = provider_->GetLocalDeviceInfo();
74 EXPECT_TRUE(local_device_info);
75 EXPECT_EQ(std::string(kLocalDeviceGuid), local_device_info->guid());
76 EXPECT_EQ(std::string(kSigninScopedDeviceId),
77 local_device_info->signin_scoped_device_id());
78 EXPECT_EQ(syncer::GetSessionNameSynchronouslyForTesting(),
79 local_device_info->client_name());
80
81 EXPECT_EQ(provider_->GetSyncUserAgent(),
82 local_device_info->sync_user_agent());
83 }
84
85 TEST_F(LocalDeviceInfoProviderTest, GetLocalSyncCacheGUID) {
86 ASSERT_EQ(std::string(), provider_->GetLocalSyncCacheGUID());
87
88 InitializeProvider();
89
90 EXPECT_EQ(std::string(kLocalDeviceGuid), provider_->GetLocalSyncCacheGUID());
91 }
92
93 } // namespace browser_sync
OLDNEW
« no previous file with comments | « chrome/browser/sync/glue/local_device_info_provider_impl.cc ('k') | chrome/browser/sync/glue/sync_backend_host_core.cc » ('j') | no next file with comments »

Powered by Google App Engine
This is Rietveld 408576698