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

Side by Side Diff: chrome/browser/sync/profile_sync_service_session_unittest.cc

Issue 6465005: [Sync] Initial support for encrypting any datatype (no UI hookup yet). (Closed) Base URL: svn://svn.chromium.org/chrome/trunk/src
Patch Set: Self review Created 9 years, 10 months 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 | Annotate | Revision Log
OLDNEW
1 // Copyright (c) 2010 The Chromium Authors. All rights reserved. 1 // Copyright (c) 2010 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 <map> 5 #include <map>
6 #include <string> 6 #include <string>
7 7
8 #include "base/message_loop.h" 8 #include "base/message_loop.h"
9 #include "base/scoped_ptr.h" 9 #include "base/scoped_ptr.h"
10 #include "base/scoped_temp_dir.h" 10 #include "base/scoped_temp_dir.h"
(...skipping 31 matching lines...) Expand 10 before | Expand all | Expand 10 after
42 using browser_sync::SessionDataTypeController; 42 using browser_sync::SessionDataTypeController;
43 using browser_sync::SessionModelAssociator; 43 using browser_sync::SessionModelAssociator;
44 using browser_sync::SyncBackendHost; 44 using browser_sync::SyncBackendHost;
45 using sync_api::SyncManager; 45 using sync_api::SyncManager;
46 using testing::_; 46 using testing::_;
47 using testing::Return; 47 using testing::Return;
48 using browser_sync::TestIdFactory; 48 using browser_sync::TestIdFactory;
49 49
50 namespace browser_sync { 50 namespace browser_sync {
51 51
52 static const std::string kCrosUserForTest = "test user";
53
54 // Ensures the we use our own ProfileSyncService. This is necessary since only
55 // it has the correct cros_user value, which avoids some codepaths that aren't
56 // relevant to tests.
57 class TestingProfileForSyncTests : public TestingProfile {
58 public:
59 TestingProfileForSyncTests()
60 : sync_service_(NULL) {}
61 virtual bool HasProfileSyncService() const {
62 return (sync_service_ != NULL);
63 }
64 virtual ProfileSyncService* GetProfileSyncService() {
65 return GetProfileSyncService(std::string());
66 }
67 virtual ProfileSyncService* GetProfileSyncService(
68 const std::string& cros_user) {
69 return sync_service_;
70 }
71 void set_sync_service(ProfileSyncService* sync_service) {
72 sync_service_ = sync_service;
73 }
74 private:
75 ProfileSyncService* sync_service_;
76 };
77
52 class ProfileSyncServiceSessionTest 78 class ProfileSyncServiceSessionTest
53 : public BrowserWithTestWindowTest, 79 : public BrowserWithTestWindowTest,
54 public NotificationObserver { 80 public NotificationObserver {
55 public: 81 public:
56 ProfileSyncServiceSessionTest() 82 ProfileSyncServiceSessionTest()
57 : window_bounds_(0, 1, 2, 3), 83 : window_bounds_(0, 1, 2, 3),
58 notified_of_update_(false) {} 84 notified_of_update_(false) {}
59 85 ~ProfileSyncServiceSessionTest() {
86 reinterpret_cast<TestingProfileForSyncTests *>(profile())->
87 set_sync_service(NULL);
88 }
60 ProfileSyncService* sync_service() { return sync_service_.get(); } 89 ProfileSyncService* sync_service() { return sync_service_.get(); }
61 90
62 TestIdFactory* ids() { return sync_service_->id_factory(); } 91 TestIdFactory* ids() { return sync_service_->id_factory(); }
63 92
64 protected: 93 protected:
65 SessionService* service() { return helper_.service(); } 94 SessionService* service() { return helper_.service(); }
66 95
67 virtual void SetUp() { 96 virtual void SetUp() {
68 BrowserWithTestWindowTest::SetUp(); 97 // BrowserWithTestWindowTest implementation.
98 set_profile(new TestingProfileForSyncTests());
99 set_browser(new Browser(Browser::TYPE_NORMAL, profile()));
100 set_window(new TestBrowserWindow(browser()));
101 browser()->set_window(window());
102
69 profile()->set_has_history_service(true); 103 profile()->set_has_history_service(true);
70 ASSERT_TRUE(temp_dir_.CreateUniqueTempDir()); 104 ASSERT_TRUE(temp_dir_.CreateUniqueTempDir());
71 SessionService* session_service = new SessionService(temp_dir_.path()); 105 SessionService* session_service = new SessionService(temp_dir_.path());
72 helper_.set_service(session_service); 106 helper_.set_service(session_service);
73 service()->SetWindowType(window_id_, Browser::TYPE_NORMAL); 107 service()->SetWindowType(window_id_, Browser::TYPE_NORMAL);
74 service()->SetWindowBounds(window_id_, window_bounds_, false); 108 service()->SetWindowBounds(window_id_, window_bounds_, false);
75 registrar_.Add(this, NotificationType::FOREIGN_SESSION_UPDATED, 109 registrar_.Add(this, NotificationType::FOREIGN_SESSION_UPDATED,
76 NotificationService::AllSources()); 110 NotificationService::AllSources());
77 } 111 }
78 112
(...skipping 12 matching lines...) Expand all
91 125
92 virtual void TearDown() { 126 virtual void TearDown() {
93 helper_.set_service(NULL); 127 helper_.set_service(NULL);
94 profile()->set_session_service(NULL); 128 profile()->set_session_service(NULL);
95 sync_service_.reset(); 129 sync_service_.reset();
96 } 130 }
97 131
98 bool StartSyncService(Task* task, bool will_fail_association) { 132 bool StartSyncService(Task* task, bool will_fail_association) {
99 if (sync_service_.get()) 133 if (sync_service_.get())
100 return false; 134 return false;
101
102 sync_service_.reset(new TestProfileSyncService( 135 sync_service_.reset(new TestProfileSyncService(
103 &factory_, profile(), "test user", false, task)); 136 &factory_, profile(), kCrosUserForTest, false, task));
137 reinterpret_cast<TestingProfileForSyncTests *>(profile())->
138 set_sync_service(sync_service_.get());
104 profile()->set_session_service(helper_.service()); 139 profile()->set_session_service(helper_.service());
105 140
106 // Register the session data type. 141 // Register the session data type.
107 model_associator_ = 142 model_associator_ =
108 new SessionModelAssociator(sync_service_.get()); 143 new SessionModelAssociator(sync_service_.get());
109 change_processor_ = new SessionChangeProcessor( 144 change_processor_ = new SessionChangeProcessor(
110 sync_service_.get(), model_associator_); 145 sync_service_.get(), model_associator_);
111 EXPECT_CALL(factory_, CreateSessionSyncComponents(_, _)). 146 EXPECT_CALL(factory_, CreateSessionSyncComponents(_, _)).
112 WillOnce(Return(ProfileSyncFactory::SyncComponents( 147 WillOnce(Return(ProfileSyncFactory::SyncComponents(
113 model_associator_, change_processor_))); 148 model_associator_, change_processor_)));
(...skipping 301 matching lines...) Expand 10 before | Expand all | Expand 10 after
415 ASSERT_FALSE(model_associator_->tab_pool_.full()); 450 ASSERT_FALSE(model_associator_->tab_pool_.full());
416 for (size_t i = 0; i < num_ids; ++i) { 451 for (size_t i = 0; i < num_ids; ++i) {
417 model_associator_->tab_pool_.FreeTabNode(node_ids[i]); 452 model_associator_->tab_pool_.FreeTabNode(node_ids[i]);
418 } 453 }
419 ASSERT_EQ(num_ids, model_associator_->tab_pool_.capacity()); 454 ASSERT_EQ(num_ids, model_associator_->tab_pool_.capacity());
420 ASSERT_FALSE(model_associator_->tab_pool_.empty()); 455 ASSERT_FALSE(model_associator_->tab_pool_.empty());
421 ASSERT_TRUE(model_associator_->tab_pool_.full()); 456 ASSERT_TRUE(model_associator_->tab_pool_.full());
422 } 457 }
423 458
424 } // namespace browser_sync 459 } // namespace browser_sync
OLDNEW

Powered by Google App Engine
This is Rietveld 408576698