1 // Copyright 2020 The Chromium Authors. All rights reserved.
2 // Use of this source code is governed by a BSD-style license that can be
3 // found in the LICENSE file.
4
5 #include "chrome/browser/chromeos/cert_provisioning/mock_cert_provisioning_worker.h"
6 #include "base/test/values_test_util.h"
7
8 using base::test::IsJson;
9 using testing::_;
10 using testing::Return;
11 using testing::ReturnRef;
12
13 namespace chromeos {
14 namespace cert_provisioning {
15
16 // ================ MockCertProvisioningWorkerFactory ==========================
17
18 MockCertProvisioningWorkerFactory::MockCertProvisioningWorkerFactory() =
19 default;
20
21 MockCertProvisioningWorkerFactory::~MockCertProvisioningWorkerFactory() =
22 default;
23
24 MockCertProvisioningWorker*
ExpectCreateReturnMock(CertScope cert_scope,const CertProfile & cert_profile)25 MockCertProvisioningWorkerFactory::ExpectCreateReturnMock(
26 CertScope cert_scope,
27 const CertProfile& cert_profile) {
28 auto mock_worker = std::make_unique<MockCertProvisioningWorker>();
29 MockCertProvisioningWorker* pointer = mock_worker.get();
30
31 EXPECT_CALL(*this, Create(cert_scope, _, _, cert_profile, _, _, _, _))
32 .Times(1)
33 .WillOnce(Return(testing::ByMove(std::move(mock_worker))));
34
35 return pointer;
36 }
37
38 MockCertProvisioningWorker*
ExpectDeserializeReturnMock(CertScope cert_scope,const base::Value & saved_worker)39 MockCertProvisioningWorkerFactory::ExpectDeserializeReturnMock(
40 CertScope cert_scope,
41 const base::Value& saved_worker) {
42 auto mock_worker = std::make_unique<MockCertProvisioningWorker>();
43 MockCertProvisioningWorker* pointer = mock_worker.get();
44
45 EXPECT_CALL(*this,
46 Deserialize(cert_scope, _, _, IsJson(saved_worker), _, _, _, _))
47 .Times(1)
48 .WillOnce(Return(testing::ByMove(std::move(mock_worker))));
49
50 return pointer;
51 }
52
53 // ================ MockCertProvisioningWorker =================================
54
MockCertProvisioningWorker()55 MockCertProvisioningWorker::MockCertProvisioningWorker() {
56 static const std::string default_public_key;
57 ON_CALL(*this, GetPublicKey).WillByDefault(ReturnRef(default_public_key));
58 }
59
60 MockCertProvisioningWorker::~MockCertProvisioningWorker() = default;
61
SetExpectations(testing::Cardinality do_step_times,bool is_waiting,const CertProfile & cert_profile)62 void MockCertProvisioningWorker::SetExpectations(
63 testing::Cardinality do_step_times,
64 bool is_waiting,
65 const CertProfile& cert_profile) {
66 testing::Mock::VerifyAndClearExpectations(this);
67
68 cert_profile_ = cert_profile;
69
70 EXPECT_CALL(*this, DoStep).Times(do_step_times);
71 EXPECT_CALL(*this, IsWaiting).WillRepeatedly(Return(is_waiting));
72 EXPECT_CALL(*this, GetCertProfile).WillRepeatedly(ReturnRef(cert_profile_));
73 }
74
75 } // namespace cert_provisioning
76 } // namespace chromeos
77