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

Unified Diff: components/policy/core/common/cloud/cloud_policy_client_unittest.cc

Issue 2276593004: Device registration using an enrollment certificate from the PCA. (Closed) Base URL: https://chromium.googlesource.com/chromium/src.git@master
Patch Set: Fixed constant. Created 4 years, 4 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
Index: components/policy/core/common/cloud/cloud_policy_client_unittest.cc
diff --git a/components/policy/core/common/cloud/cloud_policy_client_unittest.cc b/components/policy/core/common/cloud/cloud_policy_client_unittest.cc
index a2c97c6456e330bddbd781cb3c7737d2b80b7387..c07757b503fb3f6f35d2c23330fd89a510f59e1d 100644
--- a/components/policy/core/common/cloud/cloud_policy_client_unittest.cc
+++ b/components/policy/core/common/cloud/cloud_policy_client_unittest.cc
@@ -20,6 +20,7 @@
#include "base/message_loop/message_loop.h"
#include "components/policy/core/common/cloud/mock_cloud_policy_client.h"
#include "components/policy/core/common/cloud/mock_device_management_service.h"
+#include "components/policy/core/common/cloud/mock_signing_service.h"
#include "components/policy/proto/device_management_backend.pb.h"
#include "net/url_request/url_request_context_getter.h"
#include "net/url_request/url_request_test_util.h"
@@ -53,8 +54,6 @@ const char kAssetId[] = "fake-asset-id";
const char kLocation[] = "fake-location";
const char kGcmID[] = "fake-gcm-id";
const char kEnrollmentCertificate[] = "fake-certificate";
-const char kSignedDataNonce[] = "+nonce";
-const char kSignature[] = "fake-signature";
const int64_t kAgeOfCommand = 123123123;
const int64_t kLastCommandId = 123456789;
@@ -83,42 +82,6 @@ class MockRemoteCommandsObserver {
const std::vector<em::RemoteCommand>&));
};
-// A mock SigningService.
-class FakeSigningService : public CloudPolicyClient::SigningService {
- public:
- static void SignRegistrationData(
- em::CertificateBasedDeviceRegistrationData* registration_data,
- em::SignedData* signed_data) {
- DoSignData(registration_data->SerializeAsString(), signed_data);
- }
-
- void SignData(const std::string& data, const SigningCallback& callback)
- override {
- em::SignedData signed_data;
- const bool success = !ShouldSignDataFail();
- if (success)
- DoSignData(data, &signed_data);
- callback.Run(success, signed_data);
- }
-
- protected:
- virtual bool ShouldSignDataFail() const {
- return false;
- }
-
- private:
- static void DoSignData(const std::string& data, em::SignedData* signed_data) {
- signed_data->set_data(data + kSignedDataNonce);
- signed_data->set_signature(kSignature);
- signed_data->set_extra_data_bytes(sizeof(kSignedDataNonce) - 1);
- }
-};
-
-class MockSigningService : public FakeSigningService {
- public:
- MOCK_CONST_METHOD0(ShouldSignDataFail, bool());
-};
-
} // namespace
class CloudPolicyClientTest : public testing::Test {
@@ -148,8 +111,7 @@ class CloudPolicyClientTest : public testing::Test {
em::CertificateBasedDeviceRegisterRequest* cert_based_register_request =
cert_based_registration_request_.mutable_cert_based_register_request();
- // We are not testing signature.
- FakeSigningService::SignRegistrationData(&data,
+ fake_signing_service_.SignRegistrationData(&data,
cert_based_register_request->mutable_signed_request());
em::PolicyFetchRequest* policy_fetch_request =
@@ -232,7 +194,7 @@ class CloudPolicyClientTest : public testing::Test {
kPolicyVerificationKeyHash,
&service_,
request_context_,
- &signing_service_));
+ &fake_signing_service_));
client_->AddPolicyTypeToFetch(policy_type_, std::string());
client_->AddObserver(&observer_);
}
@@ -394,7 +356,7 @@ class CloudPolicyClientTest : public testing::Test {
MockDeviceManagementService service_;
StrictMock<MockCloudPolicyClientObserver> observer_;
StrictMock<MockStatusCallbackObserver> callback_observer_;
- MockSigningService signing_service_;
+ FakeSigningService fake_signing_service_;
std::unique_ptr<CloudPolicyClient> client_;
// Pointer to the client's request context.
scoped_refptr<net::URLRequestContextGetter> request_context_;
@@ -440,8 +402,7 @@ TEST_F(CloudPolicyClientTest, RegistrationAndPolicyFetch) {
TEST_F(CloudPolicyClientTest, RegistrationWithCertificateAndPolicyFetch) {
ExpectCertBasedRegistration();
- EXPECT_CALL(signing_service_, ShouldSignDataFail())
- .WillOnce(Return(false));
+ fake_signing_service_.set_success(true);
EXPECT_CALL(observer_, OnRegistrationStateChanged(_));
client_->RegisterWithCertificate(em::DeviceRegisterRequest::DEVICE,
em::DeviceRegisterRequest::FLAVOR_ENROLLMENT_ATTESTATION,
@@ -456,13 +417,12 @@ TEST_F(CloudPolicyClientTest, RegistrationWithCertificateAndPolicyFetch) {
EXPECT_EQ(DM_STATUS_SUCCESS, client_->status());
CheckPolicyResponse();
}
+
TEST_F(CloudPolicyClientTest, RegistrationWithCertificateFailToSignRequest) {
- EXPECT_CALL(signing_service_, ShouldSignDataFail())
- .WillOnce(Return(true));
+ fake_signing_service_.set_success(false);
EXPECT_CALL(observer_, OnClientError(_));
client_->RegisterWithCertificate(em::DeviceRegisterRequest::DEVICE,
- // TODO(drcrash): Use FLAVOR_ATTESTATION after 2186623002 has landed.
- em::DeviceRegisterRequest::FLAVOR_ENROLLMENT_MANUAL,
+ em::DeviceRegisterRequest::FLAVOR_ENROLLMENT_ATTESTATION,
kEnrollmentCertificate, std::string(), std::string(), std::string());
EXPECT_FALSE(client_->is_registered());
EXPECT_EQ(DM_STATUS_CANNOT_SIGN_REQUEST, client_->status());
« no previous file with comments | « components/policy/core/common/cloud/cloud_policy_client.cc ('k') | components/policy/core/common/cloud/mock_signing_service.h » ('j') | no next file with comments »

Powered by Google App Engine
This is Rietveld 408576698