Add integration test for license release
Bug: 258816489 Change-Id: I315eefeb479146de2563aefa75303633341d86f0
This commit is contained in:
@@ -86,28 +86,70 @@ void LicenseHolder::GenerateAndPostRenewalRequest(
|
||||
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())
|
||||
request_in_flight_.reset(new UrlRequest(url));
|
||||
ASSERT_TRUE(request_in_flight_->is_connected())
|
||||
<< "Failed for " << content_id();
|
||||
renewal_in_flight_->PostRequest(request.message);
|
||||
request_in_flight_->PostRequest(request.message);
|
||||
}
|
||||
|
||||
void LicenseHolder::FetchRenewal() {
|
||||
ASSERT_NE(renewal_in_flight_, nullptr) << "Failed for " << content_id();
|
||||
ASSERT_NE(request_in_flight_, nullptr) << "Failed for " << content_id();
|
||||
ASSERT_NO_FATAL_FAILURE(
|
||||
renewal_in_flight_->AssertOkResponse(&renewal_response_))
|
||||
request_in_flight_->AssertOkResponse(&request_response_))
|
||||
<< "Renewal failed for " << content_id();
|
||||
}
|
||||
|
||||
void LicenseHolder::LoadRenewal() {
|
||||
LicenseRequest license_request;
|
||||
license_request.GetDrmMessage(renewal_response_, renewal_message_);
|
||||
license_request.GetDrmMessage(request_response_, request_message_);
|
||||
if (config_.dump_golden_data()) {
|
||||
MessageDumper::DumpRenewal(renewal_message_);
|
||||
MessageDumper::DumpRenewal(request_message_);
|
||||
}
|
||||
EXPECT_EQ(KEY_ADDED, cdm_engine_->RenewKey(session_id_, renewal_message_))
|
||||
EXPECT_EQ(KEY_ADDED, cdm_engine_->RenewKey(session_id_, request_message_))
|
||||
<< "Failed for " << content_id();
|
||||
}
|
||||
|
||||
void LicenseHolder::GenerateAndPostReleaseRequest(
|
||||
const std::string& policy_id) {
|
||||
event_listener_.set_renewal_needed(false);
|
||||
CdmKeyRequest request;
|
||||
CdmAppParameterMap empty_app_parameters;
|
||||
video_widevine::WidevinePsshData pssh;
|
||||
pssh.set_content_id(content_id_);
|
||||
const std::string init_data_string = MakePSSH(pssh);
|
||||
const InitializationData init_data(kCencMimeType, init_data_string);
|
||||
init_data.DumpToLogs();
|
||||
const CdmResponseType result = cdm_engine_->GenerateKeyRequest(
|
||||
session_id_, key_set_id_, init_data, kLicenseTypeRelease,
|
||||
empty_app_parameters, &request);
|
||||
ASSERT_EQ(KEY_MESSAGE, result) << "Failed for " << content_id();
|
||||
if (config_.dump_golden_data()) {
|
||||
// TODO (b/295956275) vickymin: write DumpReleaseRequest function
|
||||
// MessageDumper::DumpReleaseRequest(request);
|
||||
}
|
||||
const std::string url = MakeUrl(config_.renewal_server(), policy_id);
|
||||
request_in_flight_.reset(new UrlRequest(url));
|
||||
ASSERT_TRUE(request_in_flight_->is_connected())
|
||||
<< "Failed for " << content_id();
|
||||
request_in_flight_->PostRequest(request.message);
|
||||
}
|
||||
|
||||
void LicenseHolder::FetchRelease() {
|
||||
ASSERT_NE(request_in_flight_, nullptr) << "Failed for " << content_id();
|
||||
ASSERT_NO_FATAL_FAILURE(
|
||||
request_in_flight_->AssertOkResponse(&request_response_))
|
||||
<< "Renewal failed for " << content_id();
|
||||
}
|
||||
|
||||
void LicenseHolder::LoadRelease() {
|
||||
LicenseRequest license_request;
|
||||
license_request.GetDrmMessage(request_response_, request_message_);
|
||||
if (config_.dump_golden_data()) {
|
||||
// TODO (b/295956275) vickymin: write DumpRelease function
|
||||
// MessageDumper::DumpRelease(request_message_);
|
||||
}
|
||||
}
|
||||
|
||||
void LicenseHolder::RemoveLicense() {
|
||||
EXPECT_EQ(NO_ERROR, cdm_engine_->RemoveLicense(session_id_))
|
||||
<< "Failed for " << content_id();
|
||||
|
||||
Reference in New Issue
Block a user