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

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

Issue 12189011: Split up chrome/browser/policy subdirectory (Closed) Base URL: svn://svn.chromium.org/chrome/trunk/src
Patch Set: Rebase, add chrome/browser/chromeos/policy/OWNERS Created 7 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 side-by-side diff with in-line comments
Download patch
« no previous file with comments | « chrome/browser/policy/auto_enrollment_client.cc ('k') | chrome/browser/policy/browser_policy_connector.h » ('j') | no next file with comments »
Expand Comments ('e') | Collapse Comments ('c') | Show Comments Hide Comments ('s')
Index: chrome/browser/policy/auto_enrollment_client_unittest.cc
diff --git a/chrome/browser/policy/auto_enrollment_client_unittest.cc b/chrome/browser/policy/auto_enrollment_client_unittest.cc
deleted file mode 100644
index 3a6a3a83b6d8703acde9dc1770f40b66792b69cc..0000000000000000000000000000000000000000
--- a/chrome/browser/policy/auto_enrollment_client_unittest.cc
+++ /dev/null
@@ -1,325 +0,0 @@
-// Copyright (c) 2012 The Chromium Authors. All rights reserved.
-// Use of this source code is governed by a BSD-style license that can be
-// found in the LICENSE file.
-
-#include "chrome/browser/policy/auto_enrollment_client.h"
-
-#include "base/bind.h"
-#include "base/bind_helpers.h"
-#include "base/prefs/pref_service.h"
-#include "base/prefs/testing_pref_service.h"
-#include "base/values.h"
-#include "chrome/browser/browser_process.h"
-#include "chrome/browser/policy/mock_device_management_service.h"
-#include "chrome/common/pref_names.h"
-#include "chrome/test/base/scoped_testing_local_state.h"
-#include "chrome/test/base/testing_browser_process.h"
-#include "crypto/sha2.h"
-#include "testing/gmock/include/gmock/gmock.h"
-#include "testing/gtest/include/gtest/gtest.h"
-
-namespace em = enterprise_management;
-
-namespace policy {
-
-namespace {
-
-const char* kSerial = "serial";
-const char* kSerialHash =
- "\x01\x44\xb1\xde\xfc\xf7\x56\x10\x87\x01\x5f\x8d\x83\x0d\x65\xb1"
- "\x6f\x02\x4a\xd7\xeb\x92\x45\xfc\xd4\xe4\x37\xa1\x55\x2b\x13\x8a";
-
-using ::testing::InSequence;
-using ::testing::SaveArg;
-using ::testing::_;
-
-class AutoEnrollmentClientTest : public testing::Test {
- protected:
- AutoEnrollmentClientTest()
- : scoped_testing_local_state_(
- TestingBrowserProcess::GetGlobal()),
- local_state_(scoped_testing_local_state_.Get()),
- service_(NULL),
- completion_callback_count_(0) {}
-
- virtual void SetUp() OVERRIDE {
- CreateClient(kSerial, 4, 8);
- ASSERT_FALSE(local_state_->GetUserPref(prefs::kShouldAutoEnroll));
- ASSERT_FALSE(local_state_->GetUserPref(prefs::kAutoEnrollmentPowerLimit));
- }
-
- void CreateClient(const std::string& serial,
- int power_initial,
- int power_limit) {
- service_ = new MockDeviceManagementService();
- EXPECT_CALL(*service_, StartJob(_, _, _, _, _, _, _))
- .WillRepeatedly(SaveArg<6>(&last_request_));
- base::Closure callback =
- base::Bind(&AutoEnrollmentClientTest::CompletionCallback,
- base::Unretained(this));
- client_.reset(new AutoEnrollmentClient(callback,
- service_,
- local_state_,
- serial,
- power_initial,
- power_limit));
- }
-
- void CompletionCallback() {
- completion_callback_count_++;
- }
-
- void ServerWillFail(DeviceManagementStatus error) {
- em::DeviceManagementResponse dummy_response;
- EXPECT_CALL(*service_,
- CreateJob(DeviceManagementRequestJob::TYPE_AUTO_ENROLLMENT))
- .WillOnce(service_->FailJob(error));
- }
-
- void ServerWillReply(int64 modulus, bool with_hashes, bool with_serial_hash) {
- em::DeviceManagementResponse response;
- em::DeviceAutoEnrollmentResponse* enrollment_response =
- response.mutable_auto_enrollment_response();
- if (modulus >= 0)
- enrollment_response->set_expected_modulus(modulus);
- if (with_hashes) {
- for (size_t i = 0; i < 10; ++i) {
- std::string serial = "serial X";
- serial[7] = '0' + i;
- std::string hash = crypto::SHA256HashString(serial);
- enrollment_response->mutable_hash()->Add()->assign(hash);
- }
- }
- if (with_serial_hash) {
- enrollment_response->mutable_hash()->Add()->assign(kSerialHash,
- crypto::kSHA256Length);
- }
- EXPECT_CALL(*service_,
- CreateJob(DeviceManagementRequestJob::TYPE_AUTO_ENROLLMENT))
- .WillOnce(service_->SucceedJob(response));
- }
-
- void VerifyCachedResult(bool should_enroll, int power_limit) {
- base::FundamentalValue value_should_enroll(should_enroll);
- base::FundamentalValue value_power_limit(power_limit);
- EXPECT_TRUE(Value::Equals(
- &value_should_enroll,
- local_state_->GetUserPref(prefs::kShouldAutoEnroll)));
- EXPECT_TRUE(Value::Equals(
- &value_power_limit,
- local_state_->GetUserPref(prefs::kAutoEnrollmentPowerLimit)));
- }
-
- const em::DeviceAutoEnrollmentRequest& auto_enrollment_request() {
- return last_request_.auto_enrollment_request();
- }
-
- ScopedTestingLocalState scoped_testing_local_state_;
- TestingPrefServiceSimple* local_state_;
- MockDeviceManagementService* service_;
- scoped_ptr<AutoEnrollmentClient> client_;
- em::DeviceManagementRequest last_request_;
- int completion_callback_count_;
-
- private:
- DISALLOW_COPY_AND_ASSIGN(AutoEnrollmentClientTest);
-};
-
-TEST_F(AutoEnrollmentClientTest, NetworkFailure) {
- ServerWillFail(DM_STATUS_TEMPORARY_UNAVAILABLE);
- client_->Start();
- EXPECT_FALSE(client_->should_auto_enroll());
- EXPECT_EQ(1, completion_callback_count_);
- VerifyCachedResult(false, 8);
-}
-
-TEST_F(AutoEnrollmentClientTest, EmptyReply) {
- ServerWillReply(-1, false, false);
- client_->Start();
- EXPECT_FALSE(client_->should_auto_enroll());
- EXPECT_EQ(1, completion_callback_count_);
- VerifyCachedResult(false, 8);
-}
-
-TEST_F(AutoEnrollmentClientTest, ClientUploadsRightBits) {
- ServerWillReply(-1, false, false);
- client_->Start();
- EXPECT_FALSE(client_->should_auto_enroll());
- EXPECT_EQ(1, completion_callback_count_);
-
- EXPECT_TRUE(auto_enrollment_request().has_remainder());
- EXPECT_TRUE(auto_enrollment_request().has_modulus());
- EXPECT_EQ(16, auto_enrollment_request().modulus());
- EXPECT_EQ(kSerialHash[31] & 0xf, auto_enrollment_request().remainder());
- VerifyCachedResult(false, 8);
-}
-
-TEST_F(AutoEnrollmentClientTest, AskForMoreThenFail) {
- InSequence sequence;
- ServerWillReply(32, false, false);
- ServerWillFail(DM_STATUS_TEMPORARY_UNAVAILABLE);
- client_->Start();
- EXPECT_FALSE(client_->should_auto_enroll());
- EXPECT_EQ(1, completion_callback_count_);
- VerifyCachedResult(false, 8);
-}
-
-TEST_F(AutoEnrollmentClientTest, AskForMoreThenEvenMore) {
- InSequence sequence;
- ServerWillReply(32, false, false);
- ServerWillReply(64, false, false);
- client_->Start();
- EXPECT_FALSE(client_->should_auto_enroll());
- EXPECT_EQ(1, completion_callback_count_);
- VerifyCachedResult(false, 8);
-}
-
-TEST_F(AutoEnrollmentClientTest, AskForLess) {
- InSequence sequence;
- ServerWillReply(8, false, false);
- ServerWillReply(-1, true, true);
- client_->Start();
- EXPECT_TRUE(client_->should_auto_enroll());
- EXPECT_EQ(1, completion_callback_count_);
- VerifyCachedResult(true, 8);
-}
-
-TEST_F(AutoEnrollmentClientTest, AskForSame) {
- InSequence sequence;
- ServerWillReply(16, false, false);
- ServerWillReply(-1, true, true);
- client_->Start();
- EXPECT_TRUE(client_->should_auto_enroll());
- EXPECT_EQ(1, completion_callback_count_);
- VerifyCachedResult(true, 8);
-}
-
-TEST_F(AutoEnrollmentClientTest, AskForSameTwice) {
- InSequence sequence;
- ServerWillReply(16, false, false);
- ServerWillReply(16, false, false);
- client_->Start();
- EXPECT_FALSE(client_->should_auto_enroll());
- EXPECT_EQ(1, completion_callback_count_);
- VerifyCachedResult(false, 8);
-}
-
-TEST_F(AutoEnrollmentClientTest, AskForTooMuch) {
- ServerWillReply(512, false, false);
- client_->Start();
- EXPECT_FALSE(client_->should_auto_enroll());
- EXPECT_EQ(1, completion_callback_count_);
- VerifyCachedResult(false, 8);
-}
-
-TEST_F(AutoEnrollmentClientTest, AskNonPowerOf2) {
- InSequence sequence;
- ServerWillReply(100, false, false);
- ServerWillReply(-1, false, false);
- client_->Start();
- EXPECT_FALSE(client_->should_auto_enroll());
- EXPECT_EQ(1, completion_callback_count_);
- EXPECT_TRUE(auto_enrollment_request().has_remainder());
- EXPECT_TRUE(auto_enrollment_request().has_modulus());
- EXPECT_EQ(128, auto_enrollment_request().modulus());
- EXPECT_EQ(kSerialHash[31] & 0x7f, auto_enrollment_request().remainder());
- VerifyCachedResult(false, 8);
-}
-
-TEST_F(AutoEnrollmentClientTest, ConsumerDevice) {
- ServerWillReply(-1, true, false);
- client_->Start();
- EXPECT_FALSE(client_->should_auto_enroll());
- EXPECT_EQ(1, completion_callback_count_);
- VerifyCachedResult(false, 8);
-}
-
-TEST_F(AutoEnrollmentClientTest, EnterpriseDevice) {
- ServerWillReply(-1, true, true);
- client_->Start();
- EXPECT_TRUE(client_->should_auto_enroll());
- EXPECT_EQ(1, completion_callback_count_);
- VerifyCachedResult(true, 8);
-}
-
-TEST_F(AutoEnrollmentClientTest, NoSerial) {
- CreateClient("", 4, 8);
- client_->Start();
- EXPECT_FALSE(client_->should_auto_enroll());
- EXPECT_EQ(1, completion_callback_count_);
- EXPECT_FALSE(local_state_->GetUserPref(prefs::kShouldAutoEnroll));
- EXPECT_FALSE(local_state_->GetUserPref(prefs::kAutoEnrollmentPowerLimit));
-}
-
-TEST_F(AutoEnrollmentClientTest, NoBitsUploaded) {
- CreateClient(kSerial, 0, 0);
- ServerWillReply(-1, false, false);
- client_->Start();
- EXPECT_FALSE(client_->should_auto_enroll());
- EXPECT_EQ(1, completion_callback_count_);
- EXPECT_TRUE(auto_enrollment_request().has_remainder());
- EXPECT_TRUE(auto_enrollment_request().has_modulus());
- EXPECT_EQ(1, auto_enrollment_request().modulus());
- EXPECT_EQ(0, auto_enrollment_request().remainder());
- VerifyCachedResult(false, 0);
-}
-
-TEST_F(AutoEnrollmentClientTest, ManyBitsUploaded) {
- int64 bottom62 = GG_INT64_C(0x14e437a1552b138a);
- for (int i = 0; i <= 62; ++i) {
- completion_callback_count_ = 0;
- CreateClient(kSerial, i, i);
- ServerWillReply(-1, false, false);
- client_->Start();
- EXPECT_FALSE(client_->should_auto_enroll());
- EXPECT_EQ(1, completion_callback_count_);
- EXPECT_TRUE(auto_enrollment_request().has_remainder());
- EXPECT_TRUE(auto_enrollment_request().has_modulus());
- EXPECT_EQ(GG_INT64_C(1) << i, auto_enrollment_request().modulus());
- EXPECT_EQ(bottom62 % (GG_INT64_C(1) << i),
- auto_enrollment_request().remainder());
- VerifyCachedResult(false, i);
- }
-}
-
-TEST_F(AutoEnrollmentClientTest, MoreThan32BitsUploaded) {
- CreateClient(kSerial, 10, 37);
- InSequence sequence;
- ServerWillReply(GG_INT64_C(1) << 37, false, false);
- ServerWillReply(-1, true, true);
- client_->Start();
- EXPECT_TRUE(client_->should_auto_enroll());
- EXPECT_EQ(1, completion_callback_count_);
- VerifyCachedResult(true, 37);
-}
-
-TEST_F(AutoEnrollmentClientTest, ReuseCachedDecision) {
- EXPECT_CALL(*service_, CreateJob(_)).Times(0);
- local_state_->SetUserPref(prefs::kShouldAutoEnroll,
- Value::CreateBooleanValue(true));
- local_state_->SetUserPref(prefs::kAutoEnrollmentPowerLimit,
- Value::CreateIntegerValue(8));
- client_->Start();
- EXPECT_TRUE(client_->should_auto_enroll());
- EXPECT_EQ(1, completion_callback_count_);
- AutoEnrollmentClient::CancelAutoEnrollment();
- client_->Start();
- EXPECT_FALSE(client_->should_auto_enroll());
- EXPECT_EQ(2, completion_callback_count_);
-}
-
-TEST_F(AutoEnrollmentClientTest, RetryIfPowerLargerThanCached) {
- local_state_->SetUserPref(prefs::kShouldAutoEnroll,
- Value::CreateBooleanValue(false));
- local_state_->SetUserPref(prefs::kAutoEnrollmentPowerLimit,
- Value::CreateIntegerValue(8));
- CreateClient(kSerial, 5, 10);
- ServerWillReply(-1, true, true);
- client_->Start();
- EXPECT_TRUE(client_->should_auto_enroll());
- EXPECT_EQ(1, completion_callback_count_);
-}
-
-} // namespace
-
-} // namespace policy
« no previous file with comments | « chrome/browser/policy/auto_enrollment_client.cc ('k') | chrome/browser/policy/browser_policy_connector.h » ('j') | no next file with comments »

Powered by Google App Engine
This is Rietveld 408576698