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

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

Issue 6537020: Update policy backend and testserver for the newest policy protocol (Closed) Base URL: svn://svn.chromium.org/chrome/trunk/src
Patch Set: more last minute changes Created 9 years, 9 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) 2011 The Chromium Authors. All rights reserved. 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 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 "chrome/browser/policy/device_token_fetcher.h" 5 #include "chrome/browser/policy/device_token_fetcher.h"
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"
11 #include "chrome/browser/net/gaia/token_service.h" 11 #include "chrome/browser/net/gaia/token_service.h"
12 #include "chrome/browser/policy/cloud_policy_cache.h" 12 #include "chrome/browser/policy/cloud_policy_cache.h"
13 #include "chrome/browser/policy/device_management_service.h" 13 #include "chrome/browser/policy/device_management_service.h"
14 #include "chrome/browser/policy/proto/device_management_backend.pb.h"
14 #include "chrome/browser/policy/mock_device_management_backend.h" 15 #include "chrome/browser/policy/mock_device_management_backend.h"
15 #include "chrome/common/net/gaia/gaia_constants.h" 16 #include "chrome/common/net/gaia/gaia_constants.h"
16 #include "chrome/test/testing_profile.h" 17 #include "chrome/test/testing_profile.h"
17 #include "testing/gmock/include/gmock/gmock.h" 18 #include "testing/gmock/include/gmock/gmock.h"
18 #include "testing/gtest/include/gtest/gtest.h" 19 #include "testing/gtest/include/gtest/gtest.h"
19 20
20 namespace policy { 21 namespace policy {
21 22
22 const char kTestToken[] = "device_token_fetcher_test_auth_token"; 23 const char kTestToken[] = "device_token_fetcher_test_auth_token";
23 24
(...skipping 54 matching lines...) Expand 10 before | Expand all | Expand 10 after
78 request, delegate); 79 request, delegate);
79 } 80 }
80 virtual void ProcessPolicyRequest( 81 virtual void ProcessPolicyRequest(
81 const std::string& device_management_token, 82 const std::string& device_management_token,
82 const std::string& device_id, 83 const std::string& device_id,
83 const em::DevicePolicyRequest& request, 84 const em::DevicePolicyRequest& request,
84 DevicePolicyResponseDelegate* delegate) { 85 DevicePolicyResponseDelegate* delegate) {
85 backend_->ProcessPolicyRequest(device_management_token, device_id, 86 backend_->ProcessPolicyRequest(device_management_token, device_id,
86 request, delegate); 87 request, delegate);
87 } 88 }
88 virtual void ProcessCloudPolicyRequest(
89 const std::string& device_management_token,
90 const std::string& device_id,
91 const em::CloudPolicyRequest& request,
92 DevicePolicyResponseDelegate* delegate) {
93 backend_->ProcessCloudPolicyRequest(device_management_token, device_id,
94 request, delegate);
95 }
96 89
97 private: 90 private:
98 DeviceManagementBackend* backend_; // weak 91 DeviceManagementBackend* backend_; // weak
99 DISALLOW_COPY_AND_ASSIGN(ProxyDeviceManagementBackend); 92 DISALLOW_COPY_AND_ASSIGN(ProxyDeviceManagementBackend);
100 }; 93 };
101 94
102 DeviceManagementBackend* 95 DeviceManagementBackend*
103 MockDeviceManagementService::CreateBackend() { 96 MockDeviceManagementService::CreateBackend() {
104 return new ProxyDeviceManagementBackend(backend_); 97 return new ProxyDeviceManagementBackend(backend_);
105 } 98 }
(...skipping 29 matching lines...) Expand all
135 128
136 TEST_F(DeviceTokenFetcherTest, FetchToken) { 129 TEST_F(DeviceTokenFetcherTest, FetchToken) {
137 testing::InSequence s; 130 testing::InSequence s;
138 EXPECT_CALL(backend_, ProcessRegisterRequest(_, _, _, _)).WillOnce( 131 EXPECT_CALL(backend_, ProcessRegisterRequest(_, _, _, _)).WillOnce(
139 MockDeviceManagementBackendSucceedRegister()); 132 MockDeviceManagementBackendSucceedRegister());
140 DeviceTokenFetcher fetcher(&service_, cache_.get()); 133 DeviceTokenFetcher fetcher(&service_, cache_.get());
141 MockTokenAvailableObserver observer; 134 MockTokenAvailableObserver observer;
142 EXPECT_CALL(observer, OnDeviceTokenAvailable()); 135 EXPECT_CALL(observer, OnDeviceTokenAvailable());
143 fetcher.AddObserver(&observer); 136 fetcher.AddObserver(&observer);
144 EXPECT_EQ("", fetcher.GetDeviceToken()); 137 EXPECT_EQ("", fetcher.GetDeviceToken());
145 fetcher.FetchToken("fake_auth_token", "fake_device_id"); 138 fetcher.FetchToken("fake_auth_token", "fake_device_id",
139 em::DeviceRegisterRequest::USER, "fake_machine_id");
146 loop_.RunAllPending(); 140 loop_.RunAllPending();
147 Mock::VerifyAndClearExpectations(&observer); 141 Mock::VerifyAndClearExpectations(&observer);
148 std::string token = fetcher.GetDeviceToken(); 142 std::string token = fetcher.GetDeviceToken();
149 EXPECT_NE("", token); 143 EXPECT_NE("", token);
150 144
151 // Calling FetchToken() again should result in a new token being fetched. 145 // Calling FetchToken() again should result in a new token being fetched.
152 EXPECT_CALL(backend_, ProcessRegisterRequest(_, _, _, _)).WillOnce( 146 EXPECT_CALL(backend_, ProcessRegisterRequest(_, _, _, _)).WillOnce(
153 MockDeviceManagementBackendSucceedRegister()); 147 MockDeviceManagementBackendSucceedRegister());
154 EXPECT_CALL(observer, OnDeviceTokenAvailable()); 148 EXPECT_CALL(observer, OnDeviceTokenAvailable());
155 fetcher.FetchToken("fake_auth_token", "fake_device_id"); 149 fetcher.FetchToken("fake_auth_token", "fake_device_id",
150 em::DeviceRegisterRequest::USER, "fake_machine_id");
156 loop_.RunAllPending(); 151 loop_.RunAllPending();
157 Mock::VerifyAndClearExpectations(&observer); 152 Mock::VerifyAndClearExpectations(&observer);
158 std::string token2 = fetcher.GetDeviceToken(); 153 std::string token2 = fetcher.GetDeviceToken();
159 EXPECT_NE("", token2); 154 EXPECT_NE("", token2);
160 EXPECT_NE(token, token2); 155 EXPECT_NE(token, token2);
161 fetcher.RemoveObserver(&observer); 156 fetcher.RemoveObserver(&observer);
162 } 157 }
163 158
164 TEST_F(DeviceTokenFetcherTest, RetryOnError) { 159 TEST_F(DeviceTokenFetcherTest, RetryOnError) {
165 testing::InSequence s; 160 testing::InSequence s;
166 EXPECT_CALL(backend_, ProcessRegisterRequest(_, _, _, _)).WillOnce( 161 EXPECT_CALL(backend_, ProcessRegisterRequest(_, _, _, _)).WillOnce(
167 MockDeviceManagementBackendFailRegister( 162 MockDeviceManagementBackendFailRegister(
168 DeviceManagementBackend::kErrorRequestFailed)).WillOnce( 163 DeviceManagementBackend::kErrorRequestFailed)).WillOnce(
169 MockDeviceManagementBackendSucceedRegister()); 164 MockDeviceManagementBackendSucceedRegister());
170 DeviceTokenFetcher fetcher(&service_, cache_.get(), 0, 0); 165 DeviceTokenFetcher fetcher(&service_, cache_.get(), 0, 0);
171 MockTokenAvailableObserver observer; 166 MockTokenAvailableObserver observer;
172 EXPECT_CALL(observer, OnDeviceTokenAvailable()); 167 EXPECT_CALL(observer, OnDeviceTokenAvailable());
173 fetcher.AddObserver(&observer); 168 fetcher.AddObserver(&observer);
174 fetcher.FetchToken("fake_auth_token", "fake_device_id"); 169 fetcher.FetchToken("fake_auth_token", "fake_device_id",
170 em::DeviceRegisterRequest::USER, "fake_machine_id");
175 loop_.RunAllPending(); 171 loop_.RunAllPending();
176 Mock::VerifyAndClearExpectations(&observer); 172 Mock::VerifyAndClearExpectations(&observer);
177 EXPECT_NE("", fetcher.GetDeviceToken()); 173 EXPECT_NE("", fetcher.GetDeviceToken());
178 fetcher.RemoveObserver(&observer); 174 fetcher.RemoveObserver(&observer);
179 } 175 }
180 176
181 TEST_F(DeviceTokenFetcherTest, UnmanagedDevice) { 177 TEST_F(DeviceTokenFetcherTest, UnmanagedDevice) {
182 EXPECT_CALL(backend_, ProcessRegisterRequest(_, _, _, _)).WillOnce( 178 EXPECT_CALL(backend_, ProcessRegisterRequest(_, _, _, _)).WillOnce(
183 MockDeviceManagementBackendFailRegister( 179 MockDeviceManagementBackendFailRegister(
184 DeviceManagementBackend::kErrorServiceManagementNotSupported)); 180 DeviceManagementBackend::kErrorServiceManagementNotSupported));
185 EXPECT_FALSE(cache_->is_unmanaged()); 181 EXPECT_FALSE(cache_->is_unmanaged());
186 DeviceTokenFetcher fetcher(&service_, cache_.get()); 182 DeviceTokenFetcher fetcher(&service_, cache_.get());
187 MockTokenAvailableObserver observer; 183 MockTokenAvailableObserver observer;
188 EXPECT_CALL(observer, OnDeviceTokenAvailable()).Times(0); 184 EXPECT_CALL(observer, OnDeviceTokenAvailable()).Times(0);
189 fetcher.AddObserver(&observer); 185 fetcher.AddObserver(&observer);
190 fetcher.FetchToken("fake_auth_token", "fake_device_id"); 186 fetcher.FetchToken("fake_auth_token", "fake_device_id",
187 em::DeviceRegisterRequest::USER, "fake_machine_id");
191 loop_.RunAllPending(); 188 loop_.RunAllPending();
192 Mock::VerifyAndClearExpectations(&observer); 189 Mock::VerifyAndClearExpectations(&observer);
193 EXPECT_EQ("", fetcher.GetDeviceToken()); 190 EXPECT_EQ("", fetcher.GetDeviceToken());
194 EXPECT_TRUE(cache_->is_unmanaged()); 191 EXPECT_TRUE(cache_->is_unmanaged());
195 fetcher.RemoveObserver(&observer); 192 fetcher.RemoveObserver(&observer);
196 } 193 }
197 194
198 } // namespace policy 195 } // namespace policy
OLDNEW
« no previous file with comments | « chrome/browser/policy/device_token_fetcher.cc ('k') | chrome/browser/policy/mock_device_management_backend.h » ('j') | no next file with comments »

Powered by Google App Engine
This is Rietveld 408576698