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

Unified Diff: chrome/browser/policy/cloud_policy_controller_unittest.cc

Issue 9064006: Convert DeviceTokenFetcher and CloudPolicyController response callbacks. (Closed) Base URL: svn://svn.chromium.org/chrome/trunk/src
Patch Set: Address nits Created 8 years, 12 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 side-by-side diff with in-line comments
Download patch
« no previous file with comments | « chrome/browser/policy/cloud_policy_controller.cc ('k') | chrome/browser/policy/cloud_policy_data_store.h » ('j') | no next file with comments »
Expand Comments ('e') | Collapse Comments ('c') | Show Comments Hide Comments ('s')
Index: chrome/browser/policy/cloud_policy_controller_unittest.cc
diff --git a/chrome/browser/policy/cloud_policy_controller_unittest.cc b/chrome/browser/policy/cloud_policy_controller_unittest.cc
index 12d2fe7fccd0001b0e9d2c6cbd28ff32203905b6..6295b2c15d3f2f765861ae54ae1644ad75e68d08 100644
--- a/chrome/browser/policy/cloud_policy_controller_unittest.cc
+++ b/chrome/browser/policy/cloud_policy_controller_unittest.cc
@@ -10,9 +10,10 @@
#include "chrome/browser/policy/cloud_policy_data_store.h"
#include "chrome/browser/policy/device_token_fetcher.h"
#include "chrome/browser/policy/logging_work_scheduler.h"
-#include "chrome/browser/policy/mock_device_management_backend.h"
-#include "chrome/browser/policy/mock_device_management_service_old.h"
+#include "chrome/browser/policy/mock_device_management_service.h"
#include "chrome/browser/policy/policy_notifier.h"
+#include "chrome/browser/policy/proto/cloud_policy.pb.h"
+#include "chrome/browser/policy/proto/device_management_backend.pb.h"
#include "chrome/browser/policy/user_policy_cache.h"
#include "content/test/test_browser_thread.h"
#include "policy/policy_constants.h"
@@ -24,7 +25,9 @@ namespace em = enterprise_management;
namespace policy {
using ::testing::AnyNumber;
+using ::testing::DoAll;
using ::testing::InSequence;
+using ::testing::InvokeWithoutArgs;
using ::testing::_;
using content::BrowserThread;
@@ -46,7 +49,24 @@ class CloudPolicyControllerTest : public testing::Test {
public:
CloudPolicyControllerTest()
: ui_thread_(BrowserThread::UI, &loop_),
- file_thread_(BrowserThread::FILE, &loop_) {}
+ file_thread_(BrowserThread::FILE, &loop_) {
+ em::PolicyData signed_response;
+ em::CloudPolicySettings settings;
+ em::DisableSpdyProto* spdy_proto = settings.mutable_disablespdy();
+ spdy_proto->set_disablespdy(true);
+ spdy_proto->mutable_policy_options()->set_mode(
+ em::PolicyOptions::MANDATORY);
+ EXPECT_TRUE(
+ settings.SerializeToString(signed_response.mutable_policy_value()));
+ base::TimeDelta timestamp =
+ base::Time::NowFromSystemTime() - base::Time::UnixEpoch();
+ signed_response.set_timestamp(timestamp.InMilliseconds());
+ std::string serialized_signed_response;
+ EXPECT_TRUE(signed_response.SerializeToString(&serialized_signed_response));
+ em::PolicyFetchResponse* fetch_response =
+ spdy_policy_response_.mutable_policy_response()->add_response();
+ fetch_response->set_policy_data(serialized_signed_response);
+ }
virtual ~CloudPolicyControllerTest() {}
@@ -56,9 +76,7 @@ class CloudPolicyControllerTest : public testing::Test {
temp_user_data_dir_.path().AppendASCII("CloudPolicyControllerTest"),
false /* wait_for_policy_fetch */));
token_fetcher_.reset(new MockDeviceTokenFetcher(cache_.get()));
- EXPECT_CALL(service_, CreateBackend())
- .Times(AnyNumber())
- .WillRepeatedly(MockDeviceManagementServiceProxyBackend(&backend_));
+ EXPECT_CALL(service_, StartJob(_)).Times(AnyNumber());
data_store_.reset(CloudPolicyDataStore::CreateForUserPolicies());
}
@@ -92,20 +110,16 @@ class CloudPolicyControllerTest : public testing::Test {
ASSERT_TRUE(Value::Equals(&expected, policy_map->Get(kPolicyDisableSpdy)));
}
- void StopMessageLoop() {
- loop_.QuitNow();
- }
-
protected:
scoped_ptr<CloudPolicyCacheBase> cache_;
scoped_ptr<CloudPolicyController> controller_;
scoped_ptr<MockDeviceTokenFetcher> token_fetcher_;
scoped_ptr<CloudPolicyDataStore> data_store_;
- MockDeviceManagementBackend backend_;
- MockDeviceManagementServiceOld service_;
+ MockDeviceManagementService service_;
PolicyNotifier notifier_;
ScopedTempDir temp_user_data_dir_;
MessageLoop loop_;
+ em::DeviceManagementResponse spdy_policy_response_;
private:
content::TestBrowserThread ui_thread_;
@@ -119,9 +133,10 @@ class CloudPolicyControllerTest : public testing::Test {
TEST_F(CloudPolicyControllerTest, StartupWithDeviceToken) {
data_store_->SetupForTesting("fake_device_token", "device_id", "", "",
true);
- EXPECT_CALL(backend_, ProcessPolicyRequest(_, _, _, _, _, _)).WillOnce(DoAll(
- InvokeWithoutArgs(this, &CloudPolicyControllerTest::StopMessageLoop),
- MockDeviceManagementBackendSucceedSpdyCloudPolicy()));
+ EXPECT_CALL(service_,
+ CreateJob(DeviceManagementRequestJob::TYPE_POLICY_FETCH))
+ .WillOnce(DoAll(InvokeWithoutArgs(&loop_, &MessageLoop::QuitNow),
+ service_.SucceedJob(spdy_policy_response_)));
CreateNewController();
loop_.RunAllPending();
ExpectHasSpdyPolicy();
@@ -155,13 +170,13 @@ TEST_F(CloudPolicyControllerTest, RefreshAfterSuccessfulPolicy) {
"auth_token", true);
{
InSequence s;
- EXPECT_CALL(backend_, ProcessPolicyRequest(_, _, _, _, _, _)).WillOnce(
- MockDeviceManagementBackendSucceedSpdyCloudPolicy());
- EXPECT_CALL(backend_,
- ProcessPolicyRequest(_, _, _, _, _, _)).WillOnce(DoAll(
- InvokeWithoutArgs(this, &CloudPolicyControllerTest::StopMessageLoop),
- MockDeviceManagementBackendFailPolicy(
- DeviceManagementBackend::kErrorRequestFailed)));
+ EXPECT_CALL(service_,
+ CreateJob(DeviceManagementRequestJob::TYPE_POLICY_FETCH))
+ .WillOnce(service_.SucceedJob(spdy_policy_response_));
+ EXPECT_CALL(service_,
+ CreateJob(DeviceManagementRequestJob::TYPE_POLICY_FETCH))
+ .WillOnce(DoAll(InvokeWithoutArgs(&loop_, &MessageLoop::QuitNow),
+ service_.FailJob(DM_STATUS_REQUEST_FAILED)));
}
CreateNewController();
loop_.RunAllPending();
@@ -175,14 +190,13 @@ TEST_F(CloudPolicyControllerTest, RefreshAfterError) {
"auth_token", true);
{
InSequence s;
- EXPECT_CALL(backend_, ProcessPolicyRequest(_, _, _, _, _, _)).WillOnce(
- MockDeviceManagementBackendFailPolicy(
- DeviceManagementBackend::kErrorRequestFailed));
- EXPECT_CALL(backend_,
- ProcessPolicyRequest(_, _, _, _, _, _)).WillOnce(DoAll(
- InvokeWithoutArgs(this,
- &CloudPolicyControllerTest::StopMessageLoop),
- MockDeviceManagementBackendSucceedSpdyCloudPolicy()));
+ EXPECT_CALL(service_,
+ CreateJob(DeviceManagementRequestJob::TYPE_POLICY_FETCH))
+ .WillOnce(service_.FailJob(DM_STATUS_REQUEST_FAILED));
+ EXPECT_CALL(service_,
+ CreateJob(DeviceManagementRequestJob::TYPE_POLICY_FETCH))
+ .WillOnce(DoAll(InvokeWithoutArgs(&loop_, &MessageLoop::QuitNow),
+ service_.SucceedJob(spdy_policy_response_)));
}
CreateNewController();
loop_.RunAllPending();
@@ -194,9 +208,9 @@ TEST_F(CloudPolicyControllerTest, RefreshAfterError) {
TEST_F(CloudPolicyControllerTest, InvalidToken) {
data_store_->SetupForTesting("device_token", "device_id",
"standup@ten.am", "auth", true);
- EXPECT_CALL(backend_, ProcessPolicyRequest(_, _, _, _, _, _)).WillOnce(
- MockDeviceManagementBackendFailPolicy(
- DeviceManagementBackend::kErrorServiceManagementTokenInvalid));
+ EXPECT_CALL(service_,
+ CreateJob(DeviceManagementRequestJob::TYPE_POLICY_FETCH))
+ .WillOnce(service_.FailJob(DM_STATUS_SERVICE_MANAGEMENT_TOKEN_INVALID));
EXPECT_CALL(*token_fetcher_.get(), FetchToken()).Times(1);
CreateNewController();
loop_.RunAllPending();
@@ -207,9 +221,9 @@ TEST_F(CloudPolicyControllerTest, InvalidToken) {
TEST_F(CloudPolicyControllerTest, DeviceNotFound) {
data_store_->SetupForTesting("device_token", "device_id",
"me@you.com", "auth", true);
- EXPECT_CALL(backend_, ProcessPolicyRequest(_, _, _, _, _, _)).WillOnce(
- MockDeviceManagementBackendFailPolicy(
- DeviceManagementBackend::kErrorServiceDeviceNotFound));
+ EXPECT_CALL(service_,
+ CreateJob(DeviceManagementRequestJob::TYPE_POLICY_FETCH))
+ .WillOnce(service_.FailJob(DM_STATUS_SERVICE_DEVICE_NOT_FOUND));
EXPECT_CALL(*token_fetcher_.get(), FetchToken()).Times(1);
CreateNewController();
loop_.RunAllPending();
@@ -220,9 +234,9 @@ TEST_F(CloudPolicyControllerTest, DeviceNotFound) {
TEST_F(CloudPolicyControllerTest, DeviceIdConflict) {
data_store_->SetupForTesting("device_token", "device_id",
"me@you.com", "auth", true);
- EXPECT_CALL(backend_, ProcessPolicyRequest(_, _, _, _, _, _)).WillOnce(
- MockDeviceManagementBackendFailPolicy(
- DeviceManagementBackend::kErrorServiceDeviceIdConflict));
+ EXPECT_CALL(service_,
+ CreateJob(DeviceManagementRequestJob::TYPE_POLICY_FETCH))
+ .WillOnce(service_.FailJob(DM_STATUS_SERVICE_DEVICE_ID_CONFLICT));
EXPECT_CALL(*token_fetcher_.get(), FetchToken()).Times(1);
CreateNewController();
loop_.RunAllPending();
@@ -234,9 +248,9 @@ TEST_F(CloudPolicyControllerTest, DeviceIdConflict) {
TEST_F(CloudPolicyControllerTest, NoLongerManaged) {
data_store_->SetupForTesting("device_token", "device_id",
"who@what.com", "auth", true);
- EXPECT_CALL(backend_, ProcessPolicyRequest(_, _, _, _, _, _)).WillOnce(
- MockDeviceManagementBackendFailPolicy(
- DeviceManagementBackend::kErrorServiceManagementNotSupported));
+ EXPECT_CALL(service_,
+ CreateJob(DeviceManagementRequestJob::TYPE_POLICY_FETCH))
+ .WillOnce(service_.FailJob(DM_STATUS_SERVICE_MANAGEMENT_NOT_SUPPORTED));
EXPECT_CALL(*token_fetcher_.get(), SetUnmanagedState()).Times(1);
CreateNewController();
loop_.RunAllPending();
@@ -248,9 +262,9 @@ TEST_F(CloudPolicyControllerTest, NoLongerManaged) {
TEST_F(CloudPolicyControllerTest, InvalidSerialNumber) {
data_store_->SetupForTesting("device_token", "device_id",
"who@what.com", "auth", true);
- EXPECT_CALL(backend_, ProcessPolicyRequest(_, _, _, _, _, _)).WillOnce(
- MockDeviceManagementBackendFailPolicy(
- DeviceManagementBackend::kErrorServiceInvalidSerialNumber));
+ EXPECT_CALL(service_,
+ CreateJob(DeviceManagementRequestJob::TYPE_POLICY_FETCH))
+ .WillOnce(service_.FailJob(DM_STATUS_SERVICE_INVALID_SERIAL_NUMBER));
EXPECT_CALL(*token_fetcher_.get(), SetSerialNumberInvalidState()).Times(1);
CreateNewController();
loop_.RunAllPending();
@@ -308,9 +322,10 @@ TEST_F(CloudPolicyControllerTest, SetFetchingDoneAfterPolicyFetch) {
CreateNewWaitingCache();
data_store_->SetupForTesting("device_token", "device_id",
"user@enterprise.com", "auth", true);
- EXPECT_CALL(backend_, ProcessPolicyRequest(_, _, _, _, _, _)).WillOnce(DoAll(
- InvokeWithoutArgs(this, &CloudPolicyControllerTest::StopMessageLoop),
- MockDeviceManagementBackendSucceedSpdyCloudPolicy()));
+ EXPECT_CALL(service_,
+ CreateJob(DeviceManagementRequestJob::TYPE_POLICY_FETCH))
+ .WillOnce(DoAll(InvokeWithoutArgs(&loop_, &MessageLoop::QuitNow),
+ service_.SucceedJob(spdy_policy_response_)));
CreateNewController();
loop_.RunAllPending();
EXPECT_TRUE(cache_->IsReady());
@@ -321,10 +336,10 @@ TEST_F(CloudPolicyControllerTest, SetFetchingDoneAfterPolicyFetchFails) {
CreateNewWaitingCache();
data_store_->SetupForTesting("device_token", "device_id",
"user@enterprise.com", "auth", true);
- EXPECT_CALL(backend_, ProcessPolicyRequest(_, _, _, _, _, _)).WillOnce(DoAll(
- InvokeWithoutArgs(this, &CloudPolicyControllerTest::StopMessageLoop),
- MockDeviceManagementBackendFailPolicy(
- DeviceManagementBackend::kErrorRequestFailed)));
+ EXPECT_CALL(service_,
+ CreateJob(DeviceManagementRequestJob::TYPE_POLICY_FETCH))
+ .WillOnce(DoAll(InvokeWithoutArgs(&loop_, &MessageLoop::QuitNow),
+ service_.FailJob(DM_STATUS_REQUEST_FAILED)));
CreateNewController();
loop_.RunAllPending();
EXPECT_TRUE(cache_->IsReady());
« no previous file with comments | « chrome/browser/policy/cloud_policy_controller.cc ('k') | chrome/browser/policy/cloud_policy_data_store.h » ('j') | no next file with comments »

Powered by Google App Engine
This is Rietveld 408576698