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

Side by Side Diff: chrome/browser/policy/device_token_fetcher_unittest.cc

Issue 5338004: Cleanup mock device management backend (Closed) Base URL: svn://svn.chromium.org/chrome/trunk/src
Patch Set: merge with latest Created 10 years 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 <string> 5 #include <string>
6 6
7 #include "base/file_util.h" 7 #include "base/file_util.h"
8 #include "base/message_loop.h" 8 #include "base/message_loop.h"
9 #include "base/scoped_temp_dir.h" 9 #include "base/scoped_temp_dir.h"
10 #include "chrome/browser/browser_thread.h" 10 #include "chrome/browser/browser_thread.h"
(...skipping 72 matching lines...) Expand 10 before | Expand all | Expand 10 after
83 ScopedTempDir temp_user_data_dir_; 83 ScopedTempDir temp_user_data_dir_;
84 scoped_refptr<DeviceTokenFetcher> fetcher_; 84 scoped_refptr<DeviceTokenFetcher> fetcher_;
85 85
86 private: 86 private:
87 BrowserThread ui_thread_; 87 BrowserThread ui_thread_;
88 BrowserThread file_thread_; 88 BrowserThread file_thread_;
89 }; 89 };
90 90
91 TEST_F(DeviceTokenFetcherTest, IsPending) { 91 TEST_F(DeviceTokenFetcherTest, IsPending) {
92 ASSERT_TRUE(fetcher_->IsTokenPending()); 92 ASSERT_TRUE(fetcher_->IsTokenPending());
93 backend_->AllShouldSucceed(); 93 EXPECT_CALL(*backend_, ProcessRegisterRequest(_, _, _, _)).WillOnce(
94 EXPECT_CALL(*backend_, ProcessRegisterRequest(_, _, _, _)).Times(1); 94 MockDeviceManagementBackendSucceedRegister());
95 SimulateSuccessfulLoginAndRunPending(); 95 SimulateSuccessfulLoginAndRunPending();
96 ASSERT_FALSE(fetcher_->IsTokenPending()); 96 ASSERT_FALSE(fetcher_->IsTokenPending());
97 } 97 }
98 98
99 TEST_F(DeviceTokenFetcherTest, StoreAndLoad) { 99 TEST_F(DeviceTokenFetcherTest, StoreAndLoad) {
100 backend_->AllShouldSucceed(); 100 EXPECT_CALL(*backend_, ProcessRegisterRequest(_, _, _, _)).WillOnce(
101 EXPECT_CALL(*backend_, ProcessRegisterRequest(_, _, _, _)).Times(1); 101 MockDeviceManagementBackendSucceedRegister());
102 SimulateSuccessfulLoginAndRunPending(); 102 SimulateSuccessfulLoginAndRunPending();
103 ASSERT_FALSE(fetcher_->IsTokenPending()); 103 ASSERT_FALSE(fetcher_->IsTokenPending());
104 std::string device_token = fetcher_->GetDeviceToken(); 104 std::string device_token = fetcher_->GetDeviceToken();
105 std::string device_id = fetcher_->GetDeviceID(); 105 std::string device_id = fetcher_->GetDeviceID();
106 ASSERT_NE("", device_id); 106 ASSERT_NE("", device_id);
107 107
108 FilePath token_path; 108 FilePath token_path;
109 GetDeviceTokenPath(fetcher_, &token_path); 109 GetDeviceTokenPath(fetcher_, &token_path);
110 scoped_refptr<DeviceTokenFetcher> fetcher2( 110 scoped_refptr<DeviceTokenFetcher> fetcher2(
111 new DeviceTokenFetcher(backend_.get(), token_service_.get(), token_path)); 111 new DeviceTokenFetcher(backend_.get(), token_service_.get(), token_path));
112 fetcher2->StartFetching(); 112 fetcher2->StartFetching();
113 loop_.RunAllPending(); 113 loop_.RunAllPending();
114 ASSERT_EQ(device_id, fetcher2->GetDeviceID()); 114 ASSERT_EQ(device_id, fetcher2->GetDeviceID());
115 ASSERT_EQ(device_token, fetcher2->GetDeviceToken()); 115 ASSERT_EQ(device_token, fetcher2->GetDeviceToken());
116 } 116 }
117 117
118 TEST_F(DeviceTokenFetcherTest, SimpleFetchSingleLogin) { 118 TEST_F(DeviceTokenFetcherTest, SimpleFetchSingleLogin) {
119 backend_->AllShouldSucceed(); 119 EXPECT_CALL(*backend_, ProcessRegisterRequest(_, _, _, _)).WillOnce(
120 EXPECT_CALL(*backend_, ProcessRegisterRequest(_, _, _, _)).Times(1); 120 MockDeviceManagementBackendSucceedRegister());
121 SimulateSuccessfulLoginAndRunPending(); 121 SimulateSuccessfulLoginAndRunPending();
122 ASSERT_FALSE(fetcher_->IsTokenPending()); 122 ASSERT_FALSE(fetcher_->IsTokenPending());
123 ASSERT_TRUE(fetcher_->IsTokenValid()); 123 ASSERT_TRUE(fetcher_->IsTokenValid());
124 const std::string token(fetcher_->GetDeviceToken()); 124 const std::string token(fetcher_->GetDeviceToken());
125 EXPECT_NE("", token); 125 EXPECT_NE("", token);
126 } 126 }
127 127
128 TEST_F(DeviceTokenFetcherTest, SimpleFetchDoubleLogin) { 128 TEST_F(DeviceTokenFetcherTest, SimpleFetchDoubleLogin) {
129 backend_->AllShouldSucceed(); 129 EXPECT_CALL(*backend_, ProcessRegisterRequest(_, _, _, _)).WillOnce(
130 EXPECT_CALL(*backend_, ProcessRegisterRequest(_, _, _, _)).Times(1); 130 MockDeviceManagementBackendSucceedRegister());
131 SimulateSuccessfulLoginAndRunPending(); 131 SimulateSuccessfulLoginAndRunPending();
132 ASSERT_FALSE(fetcher_->IsTokenPending()); 132 ASSERT_FALSE(fetcher_->IsTokenPending());
133 const std::string token(fetcher_->GetDeviceToken()); 133 const std::string token(fetcher_->GetDeviceToken());
134 EXPECT_NE("", token); 134 EXPECT_NE("", token);
135 135
136 SimulateSuccessfulLoginAndRunPending(); 136 SimulateSuccessfulLoginAndRunPending();
137 ASSERT_FALSE(fetcher_->IsTokenPending()); 137 ASSERT_FALSE(fetcher_->IsTokenPending());
138 const std::string token2(fetcher_->GetDeviceToken()); 138 const std::string token2(fetcher_->GetDeviceToken());
139 EXPECT_NE("", token2); 139 EXPECT_NE("", token2);
140 EXPECT_EQ(token, token2); 140 EXPECT_EQ(token, token2);
141 } 141 }
142 142
143 TEST_F(DeviceTokenFetcherTest, FetchBetweenBrowserLaunchAndNotify) { 143 TEST_F(DeviceTokenFetcherTest, FetchBetweenBrowserLaunchAndNotify) {
144 MockTokenAvailableObserver observer; 144 MockTokenAvailableObserver observer;
145 DeviceTokenFetcher::ObserverRegistrar registrar; 145 DeviceTokenFetcher::ObserverRegistrar registrar;
146 registrar.Init(fetcher_); 146 registrar.Init(fetcher_);
147 registrar.AddObserver(&observer); 147 registrar.AddObserver(&observer);
148 EXPECT_CALL(observer, OnTokenSuccess()).Times(1); 148 EXPECT_CALL(observer, OnTokenSuccess()).Times(1);
149 EXPECT_CALL(observer, OnTokenError()).Times(0); 149 EXPECT_CALL(observer, OnTokenError()).Times(0);
150 backend_->AllShouldSucceed(); 150 EXPECT_CALL(*backend_, ProcessRegisterRequest(_, _, _, _)).WillOnce(
151 EXPECT_CALL(*backend_, ProcessRegisterRequest(_, _, _, _)).Times(1); 151 MockDeviceManagementBackendSucceedRegister());
152 SimulateSuccessfulLoginAndRunPending(); 152 SimulateSuccessfulLoginAndRunPending();
153 ASSERT_FALSE(fetcher_->IsTokenPending()); 153 ASSERT_FALSE(fetcher_->IsTokenPending());
154 const std::string token(fetcher_->GetDeviceToken()); 154 const std::string token(fetcher_->GetDeviceToken());
155 EXPECT_NE("", token); 155 EXPECT_NE("", token);
156 Mock::VerifyAndClearExpectations(&observer); 156 Mock::VerifyAndClearExpectations(&observer);
157 157
158 // Swap out the fetchers, including copying the device management token on 158 // Swap out the fetchers, including copying the device management token on
159 // disk to where the new fetcher expects it. 159 // disk to where the new fetcher expects it.
160 registrar.RemoveAll(); 160 registrar.RemoveAll();
161 fetcher_ = NewTestFetcher(temp_user_data_dir_.path()); 161 fetcher_ = NewTestFetcher(temp_user_data_dir_.path());
162 registrar.Init(fetcher_); 162 registrar.Init(fetcher_);
163 fetcher_->StartFetching(); 163 fetcher_->StartFetching();
164 ASSERT_TRUE(fetcher_->IsTokenPending()); 164 ASSERT_TRUE(fetcher_->IsTokenPending());
165 loop_.RunAllPending(); 165 loop_.RunAllPending();
166 ASSERT_FALSE(fetcher_->IsTokenPending()); 166 ASSERT_FALSE(fetcher_->IsTokenPending());
167 const std::string token2(fetcher_->GetDeviceToken()); 167 const std::string token2(fetcher_->GetDeviceToken());
168 EXPECT_NE("", token2); 168 EXPECT_NE("", token2);
169 EXPECT_EQ(token, token2); 169 EXPECT_EQ(token, token2);
170 } 170 }
171 171
172 TEST_F(DeviceTokenFetcherTest, FailedServerRequest) { 172 TEST_F(DeviceTokenFetcherTest, FailedServerRequest) {
173 MockTokenAvailableObserver observer; 173 MockTokenAvailableObserver observer;
174 DeviceTokenFetcher::ObserverRegistrar registrar; 174 DeviceTokenFetcher::ObserverRegistrar registrar;
175 registrar.Init(fetcher_); 175 registrar.Init(fetcher_);
176 registrar.AddObserver(&observer); 176 registrar.AddObserver(&observer);
177 EXPECT_CALL(observer, OnTokenSuccess()).Times(0); 177 EXPECT_CALL(observer, OnTokenSuccess()).Times(0);
178 EXPECT_CALL(observer, OnTokenError()).Times(1); 178 EXPECT_CALL(observer, OnTokenError()).Times(1);
179 backend_->AllShouldFail(); 179 EXPECT_CALL(*backend_, ProcessRegisterRequest(_, _, _, _)).WillOnce(
180 EXPECT_CALL(*backend_, ProcessRegisterRequest(_, _, _, _)).Times(1); 180 MockDeviceManagementBackendFailRegister(
181 DeviceManagementBackend::kErrorRequestFailed));
181 SimulateSuccessfulLoginAndRunPending(); 182 SimulateSuccessfulLoginAndRunPending();
182 ASSERT_FALSE(fetcher_->IsTokenPending()); 183 ASSERT_FALSE(fetcher_->IsTokenPending());
183 const std::string token(fetcher_->GetDeviceToken()); 184 const std::string token(fetcher_->GetDeviceToken());
184 EXPECT_EQ("", token); 185 EXPECT_EQ("", token);
185 } 186 }
186 187
187 TEST_F(DeviceTokenFetcherTest, UnmanagedDevice) { 188 TEST_F(DeviceTokenFetcherTest, UnmanagedDevice) {
188 FilePath token_path; 189 FilePath token_path;
189 GetDeviceTokenPath(fetcher_, &token_path); 190 GetDeviceTokenPath(fetcher_, &token_path);
190 file_util::WriteFile(token_path, "foo", 3); 191 file_util::WriteFile(token_path, "foo", 3);
191 ASSERT_TRUE(file_util::PathExists(token_path)); 192 ASSERT_TRUE(file_util::PathExists(token_path));
192 backend_->UnmanagedDevice(); 193 EXPECT_CALL(*backend_, ProcessRegisterRequest(_, _, _, _)).WillOnce(
193 EXPECT_CALL(*backend_, ProcessRegisterRequest(_, _, _, _)).Times(1); 194 MockDeviceManagementBackendFailRegister(
195 DeviceManagementBackend::kErrorServiceManagementNotSupported));
194 SimulateSuccessfulLoginAndRunPending(); 196 SimulateSuccessfulLoginAndRunPending();
195 ASSERT_FALSE(fetcher_->IsTokenPending()); 197 ASSERT_FALSE(fetcher_->IsTokenPending());
196 ASSERT_EQ("", fetcher_->GetDeviceToken()); 198 ASSERT_EQ("", fetcher_->GetDeviceToken());
197 ASSERT_EQ("", device_id(fetcher_)); 199 ASSERT_EQ("", device_id(fetcher_));
198 ASSERT_FALSE(file_util::PathExists(token_path)); 200 ASSERT_FALSE(file_util::PathExists(token_path));
199 } 201 }
200 202
201 } // namespace policy 203 } // namespace policy
OLDNEW

Powered by Google App Engine
This is Rietveld 408576698