Commit 3f46a864 authored by Michael Ershov's avatar Michael Ershov Committed by Commit Bot

CloudPolicyClient: wrap error into base::Optional

Wrap the error into base::Optional to distinguish between "no error"
state and "unknown error".

Bug: 1045895
Test: CloudPolicyClientCertProvisioning*
Change-Id: Icf6f22f127c46c1604632520cf4026a1760b6d69
Reviewed-on: https://chromium-review.googlesource.com/c/chromium/src/+/2077993Reviewed-by: default avatarPavol Marko <pmarko@chromium.org>
Commit-Queue: Michael Ershov <miersh@google.com>
Cr-Commit-Position: refs/heads/master@{#748158}
parent 7a42abf1
...@@ -1162,7 +1162,7 @@ namespace { ...@@ -1162,7 +1162,7 @@ namespace {
bool CheckCommonClientCertProvisioningResponse( bool CheckCommonClientCertProvisioningResponse(
const em::DeviceManagementResponse& response, const em::DeviceManagementResponse& response,
policy::DeviceManagementStatus* status, policy::DeviceManagementStatus* status,
CertProvisioningResponseErrorType* response_error, base::Optional<CertProvisioningResponseErrorType>* response_error,
base::Optional<int64_t>* try_later) { base::Optional<int64_t>* try_later) {
if (*status != DM_STATUS_SUCCESS) { if (*status != DM_STATUS_SUCCESS) {
return false; return false;
...@@ -1201,8 +1201,7 @@ void CloudPolicyClient::OnClientCertProvisioningStartCsrResponse( ...@@ -1201,8 +1201,7 @@ void CloudPolicyClient::OnClientCertProvisioningStartCsrResponse(
&CloudPolicyClient::RemoveJob, base::Unretained(this), job)); &CloudPolicyClient::RemoveJob, base::Unretained(this), job));
status_ = status; status_ = status;
CertProvisioningResponseErrorType response_error = base::Optional<CertProvisioningResponseErrorType> response_error;
CertProvisioningResponseError::UNDEFINED;
base::Optional<int64_t> try_later; base::Optional<int64_t> try_later;
// Single step loop for convenience. // Single step loop for convenience.
...@@ -1274,8 +1273,7 @@ void CloudPolicyClient::OnClientCertProvisioningFinishCsrResponse( ...@@ -1274,8 +1273,7 @@ void CloudPolicyClient::OnClientCertProvisioningFinishCsrResponse(
&CloudPolicyClient::RemoveJob, base::Unretained(this), job)); &CloudPolicyClient::RemoveJob, base::Unretained(this), job));
status_ = status; status_ = status;
CertProvisioningResponseErrorType response_error = base::Optional<CertProvisioningResponseErrorType> response_error;
CertProvisioningResponseError::UNDEFINED;
base::Optional<int64_t> try_later; base::Optional<int64_t> try_later;
// Single step loop for convenience. // Single step loop for convenience.
...@@ -1308,8 +1306,7 @@ void CloudPolicyClient::OnClientCertProvisioningDownloadCertResponse( ...@@ -1308,8 +1306,7 @@ void CloudPolicyClient::OnClientCertProvisioningDownloadCertResponse(
&CloudPolicyClient::RemoveJob, base::Unretained(this), job)); &CloudPolicyClient::RemoveJob, base::Unretained(this), job));
status_ = status; status_ = status;
CertProvisioningResponseErrorType response_error = base::Optional<CertProvisioningResponseErrorType> response_error;
CertProvisioningResponseError::UNDEFINED;
base::Optional<int64_t> try_later; base::Optional<int64_t> try_later;
// Single step loop for convenience. // Single step loop for convenience.
......
...@@ -75,7 +75,8 @@ class POLICY_EXPORT CloudPolicyClient { ...@@ -75,7 +75,8 @@ class POLICY_EXPORT CloudPolicyClient {
using ClientCertProvisioningStartCsrCallback = base::OnceCallback<void( using ClientCertProvisioningStartCsrCallback = base::OnceCallback<void(
DeviceManagementStatus, DeviceManagementStatus,
enterprise_management::ClientCertificateProvisioningResponse::Error, base::Optional<
enterprise_management::ClientCertificateProvisioningResponse::Error>,
base::Optional<int64_t> try_later, base::Optional<int64_t> try_later,
const std::string& invalidation_topic, const std::string& invalidation_topic,
const std::string& va_challenge, const std::string& va_challenge,
...@@ -84,12 +85,14 @@ class POLICY_EXPORT CloudPolicyClient { ...@@ -84,12 +85,14 @@ class POLICY_EXPORT CloudPolicyClient {
using ClientCertProvisioningFinishCsrCallback = base::OnceCallback<void( using ClientCertProvisioningFinishCsrCallback = base::OnceCallback<void(
DeviceManagementStatus, DeviceManagementStatus,
enterprise_management::ClientCertificateProvisioningResponse::Error, base::Optional<
enterprise_management::ClientCertificateProvisioningResponse::Error>,
base::Optional<int64_t> try_later)>; base::Optional<int64_t> try_later)>;
using ClientCertProvisioningDownloadCertCallback = base::OnceCallback<void( using ClientCertProvisioningDownloadCertCallback = base::OnceCallback<void(
DeviceManagementStatus, DeviceManagementStatus,
enterprise_management::ClientCertificateProvisioningResponse::Error, base::Optional<
enterprise_management::ClientCertificateProvisioningResponse::Error>,
base::Optional<int64_t> try_later, base::Optional<int64_t> try_later,
const std::string& pem_encoded_certificate)>; const std::string& pem_encoded_certificate)>;
......
...@@ -1909,7 +1909,7 @@ class MockClientCertProvisioningStartCsrCallbackObserver { ...@@ -1909,7 +1909,7 @@ class MockClientCertProvisioningStartCsrCallbackObserver {
MOCK_METHOD(void, MOCK_METHOD(void,
Callback, Callback,
(DeviceManagementStatus, (DeviceManagementStatus,
CertProvisioningResponseErrorType, base::Optional<CertProvisioningResponseErrorType>,
base::Optional<int64_t> try_later, base::Optional<int64_t> try_later,
const std::string& invalidation_topic, const std::string& invalidation_topic,
const std::string& va_challenge, const std::string& va_challenge,
...@@ -1992,11 +1992,11 @@ TEST_F(CloudPolicyClientCertProvisioningStartCsrTest, ...@@ -1992,11 +1992,11 @@ TEST_F(CloudPolicyClientCertProvisioningStartCsrTest,
} }
MockClientCertProvisioningStartCsrCallbackObserver callback_observer; MockClientCertProvisioningStartCsrCallbackObserver callback_observer;
EXPECT_CALL(callback_observer, EXPECT_CALL(
Callback(DeviceManagementStatus::DM_STATUS_SUCCESS, callback_observer,
CertProvisioningResponseError::UNDEFINED, Callback(DeviceManagementStatus::DM_STATUS_SUCCESS,
testing::Eq(base::nullopt), invalidation_topic, testing::Eq(base::nullopt), testing::Eq(base::nullopt),
va_challenge, hash_algorithm, data_to_sign)) invalidation_topic, va_challenge, hash_algorithm, data_to_sign))
.Times(1); .Times(1);
RunTest(fake_response, callback_observer); RunTest(fake_response, callback_observer);
...@@ -2018,8 +2018,8 @@ TEST_F(CloudPolicyClientCertProvisioningStartCsrTest, ...@@ -2018,8 +2018,8 @@ TEST_F(CloudPolicyClientCertProvisioningStartCsrTest,
MockClientCertProvisioningStartCsrCallbackObserver callback_observer; MockClientCertProvisioningStartCsrCallbackObserver callback_observer;
EXPECT_CALL(callback_observer, EXPECT_CALL(callback_observer,
Callback(DeviceManagementStatus::DM_STATUS_SUCCESS, Callback(DeviceManagementStatus::DM_STATUS_SUCCESS,
CertProvisioningResponseError::UNDEFINED, testing::Eq(base::nullopt), testing::Eq(try_later),
testing::Eq(try_later), std::string(), std::string(), std::string(), std::string(),
em::HashingAlgorithm::HASHING_ALGORITHM_UNSPECIFIED, em::HashingAlgorithm::HASHING_ALGORITHM_UNSPECIFIED,
std::string())) std::string()))
.Times(1); .Times(1);
...@@ -2042,11 +2042,12 @@ TEST_F(CloudPolicyClientCertProvisioningStartCsrTest, ...@@ -2042,11 +2042,12 @@ TEST_F(CloudPolicyClientCertProvisioningStartCsrTest,
} }
MockClientCertProvisioningStartCsrCallbackObserver callback_observer; MockClientCertProvisioningStartCsrCallbackObserver callback_observer;
EXPECT_CALL(callback_observer, EXPECT_CALL(
Callback(DeviceManagementStatus::DM_STATUS_SUCCESS, error, callback_observer,
testing::Eq(base::nullopt), std::string(), std::string(), Callback(DeviceManagementStatus::DM_STATUS_SUCCESS, testing::Eq(error),
em::HashingAlgorithm::HASHING_ALGORITHM_UNSPECIFIED, testing::Eq(base::nullopt), std::string(), std::string(),
std::string())) em::HashingAlgorithm::HASHING_ALGORITHM_UNSPECIFIED,
std::string()))
.Times(1); .Times(1);
RunTest(fake_response, callback_observer); RunTest(fake_response, callback_observer);
...@@ -2059,7 +2060,7 @@ class MockClientCertProvisioningFinishCsrCallbackObserver { ...@@ -2059,7 +2060,7 @@ class MockClientCertProvisioningFinishCsrCallbackObserver {
MOCK_METHOD(void, MOCK_METHOD(void,
Callback, Callback,
(DeviceManagementStatus, (DeviceManagementStatus,
CertProvisioningResponseErrorType, base::Optional<CertProvisioningResponseErrorType>,
base::Optional<int64_t> try_later), base::Optional<int64_t> try_later),
(const)); (const));
}; };
...@@ -2134,8 +2135,7 @@ TEST_F(CloudPolicyClientCertProvisioningFinishCsrTest, ...@@ -2134,8 +2135,7 @@ TEST_F(CloudPolicyClientCertProvisioningFinishCsrTest,
MockClientCertProvisioningFinishCsrCallbackObserver callback_observer; MockClientCertProvisioningFinishCsrCallbackObserver callback_observer;
EXPECT_CALL(callback_observer, EXPECT_CALL(callback_observer,
Callback(DeviceManagementStatus::DM_STATUS_SUCCESS, Callback(DeviceManagementStatus::DM_STATUS_SUCCESS,
CertProvisioningResponseError::UNDEFINED, testing::Eq(base::nullopt), testing::Eq(base::nullopt)))
testing::Eq(base::nullopt)))
.Times(1); .Times(1);
RunTest(fake_response, callback_observer); RunTest(fake_response, callback_observer);
...@@ -2157,8 +2157,8 @@ TEST_F(CloudPolicyClientCertProvisioningFinishCsrTest, ...@@ -2157,8 +2157,8 @@ TEST_F(CloudPolicyClientCertProvisioningFinishCsrTest,
MockClientCertProvisioningFinishCsrCallbackObserver callback_observer; MockClientCertProvisioningFinishCsrCallbackObserver callback_observer;
EXPECT_CALL(callback_observer, EXPECT_CALL(callback_observer,
Callback(DeviceManagementStatus::DM_STATUS_SUCCESS, error, Callback(DeviceManagementStatus::DM_STATUS_SUCCESS,
testing::Eq(base::nullopt))) testing::Eq(error), testing::Eq(base::nullopt)))
.Times(1); .Times(1);
RunTest(fake_response, callback_observer); RunTest(fake_response, callback_observer);
...@@ -2171,7 +2171,7 @@ class MockClientCertProvisioningDownloadCertCallbackObserver { ...@@ -2171,7 +2171,7 @@ class MockClientCertProvisioningDownloadCertCallbackObserver {
MOCK_METHOD(void, MOCK_METHOD(void,
Callback, Callback,
(DeviceManagementStatus, (DeviceManagementStatus,
CertProvisioningResponseErrorType, base::Optional<CertProvisioningResponseErrorType>,
base::Optional<int64_t> try_later, base::Optional<int64_t> try_later,
const std::string& pem_encoded_certificate), const std::string& pem_encoded_certificate),
(const)); (const));
...@@ -2246,8 +2246,8 @@ TEST_F(CloudPolicyClientCertProvisioningDownloadCertTest, ...@@ -2246,8 +2246,8 @@ TEST_F(CloudPolicyClientCertProvisioningDownloadCertTest,
MockClientCertProvisioningDownloadCertCallbackObserver callback_observer; MockClientCertProvisioningDownloadCertCallbackObserver callback_observer;
EXPECT_CALL(callback_observer, EXPECT_CALL(callback_observer,
Callback(DeviceManagementStatus::DM_STATUS_SUCCESS, Callback(DeviceManagementStatus::DM_STATUS_SUCCESS,
CertProvisioningResponseError::UNDEFINED, testing::Eq(base::nullopt), testing::Eq(base::nullopt),
testing::Eq(base::nullopt), pem_encoded_cert)) pem_encoded_cert))
.Times(1); .Times(1);
RunTest(fake_response, callback_observer); RunTest(fake_response, callback_observer);
...@@ -2269,10 +2269,10 @@ TEST_F(CloudPolicyClientCertProvisioningDownloadCertTest, ...@@ -2269,10 +2269,10 @@ TEST_F(CloudPolicyClientCertProvisioningDownloadCertTest,
} }
MockClientCertProvisioningDownloadCertCallbackObserver callback_observer; MockClientCertProvisioningDownloadCertCallbackObserver callback_observer;
EXPECT_CALL(callback_observer, EXPECT_CALL(
Callback(DeviceManagementStatus::DM_STATUS_SUCCESS, callback_observer,
CertProvisioningResponseError::CA_ERROR, Callback(DeviceManagementStatus::DM_STATUS_SUCCESS, testing::Eq(error),
testing::Eq(base::nullopt), std::string())) testing::Eq(base::nullopt), std::string()))
.Times(1); .Times(1);
RunTest(fake_response, callback_observer); RunTest(fake_response, callback_observer);
......
Markdown is supported
0%
or
You are about to add 0 people to the discussion. Proceed with caution.
Finish editing this message first!
Please register or to comment