Merge "Avoid Nonce Flood in core/test/cdm_engine_test.cpp"
This commit is contained in:
committed by
Android (Google) Code Review
commit
872fd1077e
@@ -80,9 +80,18 @@ class WvCdmEngineTest : public testing::Test {
|
|||||||
CdmCertificateType cert_type = kCertificateWidevine;
|
CdmCertificateType cert_type = kCertificateWidevine;
|
||||||
std::string cert_authority;
|
std::string cert_authority;
|
||||||
std::string cert, wrapped_key;
|
std::string cert, wrapped_key;
|
||||||
ASSERT_EQ(NO_ERROR, cdm_engine_.GetProvisioningRequest(
|
CdmResponseType result = NO_ERROR;
|
||||||
cert_type, cert_authority, &prov_request,
|
for (int i = 0; i < 2; i++) { // Retry once if there is a nonce problem.
|
||||||
&provisioning_server_url));
|
result = cdm_engine_.GetProvisioningRequest(
|
||||||
|
cert_type, cert_authority, &prov_request, &provisioning_server_url);
|
||||||
|
if (result == LICENSE_REQUEST_NONCE_GENERATION_ERROR) {
|
||||||
|
LOGW("Woops. Nonce problem. Try again?");
|
||||||
|
sleep(1);
|
||||||
|
} else {
|
||||||
|
break;
|
||||||
|
}
|
||||||
|
}
|
||||||
|
ASSERT_EQ(NO_ERROR, result);
|
||||||
UrlRequest url_request(provisioning_server_url);
|
UrlRequest url_request(provisioning_server_url);
|
||||||
EXPECT_TRUE(url_request.is_connected());
|
EXPECT_TRUE(url_request.is_connected());
|
||||||
url_request.PostCertRequestInQueryString(prov_request);
|
url_request.PostCertRequestInQueryString(prov_request);
|
||||||
@@ -102,10 +111,20 @@ class WvCdmEngineTest : public testing::Test {
|
|||||||
|
|
||||||
CdmKeyRequest key_request;
|
CdmKeyRequest key_request;
|
||||||
|
|
||||||
EXPECT_EQ(KEY_MESSAGE, cdm_engine_.GenerateKeyRequest(
|
CdmResponseType result = NO_ERROR;
|
||||||
|
for(int i=0; i < 2; i++) { // Retry once if there is a nonce problem.
|
||||||
|
result = cdm_engine_.GenerateKeyRequest(
|
||||||
session_id_, key_set_id, init_data,
|
session_id_, key_set_id, init_data,
|
||||||
kLicenseTypeStreaming, app_parameters,
|
kLicenseTypeStreaming, app_parameters,
|
||||||
&key_request));
|
&key_request);
|
||||||
|
if (result == LICENSE_REQUEST_NONCE_GENERATION_ERROR) {
|
||||||
|
LOGW("Woops. Nonce problem. Try again?");
|
||||||
|
sleep(1);
|
||||||
|
} else {
|
||||||
|
break;
|
||||||
|
}
|
||||||
|
}
|
||||||
|
EXPECT_EQ(KEY_MESSAGE, result);
|
||||||
|
|
||||||
key_msg_ = key_request.message;
|
key_msg_ = key_request.message;
|
||||||
EXPECT_EQ(kKeyRequestTypeInitial, key_request.type);
|
EXPECT_EQ(kKeyRequestTypeInitial, key_request.type);
|
||||||
@@ -113,8 +132,17 @@ class WvCdmEngineTest : public testing::Test {
|
|||||||
|
|
||||||
void GenerateRenewalRequest() {
|
void GenerateRenewalRequest() {
|
||||||
CdmKeyRequest request;
|
CdmKeyRequest request;
|
||||||
EXPECT_EQ(KEY_MESSAGE,
|
CdmResponseType result = NO_ERROR;
|
||||||
cdm_engine_.GenerateRenewalRequest(session_id_, &request));
|
for (int i = 0; i < 2; i++) { // Retry once if there is a nonce problem.
|
||||||
|
result = cdm_engine_.GenerateRenewalRequest(session_id_, &request);
|
||||||
|
if (result == LICENSE_REQUEST_NONCE_GENERATION_ERROR) {
|
||||||
|
LOGW("Woops. Nonce problem. Try again?");
|
||||||
|
sleep(1);
|
||||||
|
} else {
|
||||||
|
break;
|
||||||
|
}
|
||||||
|
}
|
||||||
|
EXPECT_EQ(KEY_MESSAGE, result);
|
||||||
|
|
||||||
key_msg_ = request.message;
|
key_msg_ = request.message;
|
||||||
server_url_ = request.url;
|
server_url_ = request.url;
|
||||||
|
|||||||
Reference in New Issue
Block a user