Generate golden data tests for ODK

Generate core message request and responses for
golden data tests.

This CL does not have any golden data. The golden data
will be added to a google3 CL.

To turn on dumping of golden data, set the environment
variable DUMP_GOLDEN_DATA to "yes".

Merged from https://widevine-internal-review.googlesource.com/171750

Change-Id: I7ae2d76ec7330d9131aae98dfd07b7909d10f726
This commit is contained in:
Fred Gylys-Colwell
2022-12-15 23:04:14 -08:00
committed by Robert Shih
parent cebd90e300
commit e9b0196a23
10 changed files with 306 additions and 11 deletions

View File

@@ -5,6 +5,7 @@
#include "license_holder.h"
#include "license_request.h"
#include "message_dumper.h"
#include "oec_device_features.h"
#include "test_base.h"
@@ -37,8 +38,14 @@ void LicenseHolder::FetchLicense() {
CdmKeyRequest key_request;
ASSERT_NO_FATAL_FAILURE(GenerateKeyRequest(init_data, &key_request))
<< "Failed for " << content_id();
if (config_.dump_golden_data()) {
MessageDumper::DumpLicenseRequest(key_request);
}
ASSERT_NO_FATAL_FAILURE(GetKeyResponse(key_request))
<< "Failed for " << content_id();
if (config_.dump_golden_data()) {
MessageDumper::DumpLicense(key_response_);
}
}
void LicenseHolder::LoadLicense() {
@@ -75,6 +82,9 @@ void LicenseHolder::GenerateAndPostRenewalRequest(
const CdmResponseType result =
cdm_engine_->GenerateRenewalRequest(session_id_, &request);
ASSERT_EQ(KEY_MESSAGE, result) << "Failed for " << content_id();
if (config_.dump_golden_data()) {
MessageDumper::DumpRenewalRequest(request);
}
const std::string url = MakeUrl(config_.renewal_server(), policy_id);
renewal_in_flight_.reset(new UrlRequest(url));
ASSERT_TRUE(renewal_in_flight_->is_connected())
@@ -91,6 +101,9 @@ void LicenseHolder::FetchRenewal() {
void LicenseHolder::LoadRenewal() {
LicenseRequest license_request;
license_request.GetDrmMessage(renewal_response_, renewal_message_);
if (config_.dump_golden_data()) {
MessageDumper::DumpRenewal(renewal_message_);
}
EXPECT_EQ(KEY_ADDED, cdm_engine_->RenewKey(session_id_, renewal_message_))
<< "Failed for " << content_id();
}