Source release 19.5.0
This commit is contained in:
@@ -10,6 +10,8 @@
|
||||
#include "properties.h"
|
||||
#include "test_base.h"
|
||||
|
||||
using video_widevine::SignedMessage;
|
||||
|
||||
namespace wvcdm {
|
||||
namespace {
|
||||
const std::string kCencMimeType = "cenc";
|
||||
@@ -42,11 +44,24 @@ void LicenseHolder::FetchLicense() {
|
||||
if (config_.dump_golden_data()) {
|
||||
MessageDumper::DumpLicenseRequest(key_request);
|
||||
}
|
||||
if (log_core_message_) MessageDumper::PrintLicenseRequest(key_request);
|
||||
ASSERT_NO_FATAL_FAILURE(GetKeyResponse(key_request))
|
||||
<< "Failed for " << content_id();
|
||||
if (config_.dump_golden_data()) {
|
||||
MessageDumper::DumpLicense(key_response_);
|
||||
}
|
||||
if (pst_length_ > 0) {
|
||||
SignedMessage signed_message;
|
||||
ASSERT_TRUE(signed_message.ParseFromString(key_response_));
|
||||
|
||||
video_widevine::License license;
|
||||
ASSERT_TRUE(license.ParseFromString(signed_message.msg()));
|
||||
|
||||
// Verify that pst exists and matches |pst_length_|.
|
||||
ASSERT_TRUE(!license.id().provider_session_token().empty());
|
||||
ASSERT_EQ(pst_length_, license.id().provider_session_token().length());
|
||||
}
|
||||
if (log_core_message_) MessageDumper::PrintLicenseResponse(key_response_);
|
||||
}
|
||||
|
||||
void LicenseHolder::LoadLicense() {
|
||||
@@ -93,6 +108,37 @@ void LicenseHolder::GenerateAndPostRenewalRequest(
|
||||
if (config_.dump_golden_data()) {
|
||||
MessageDumper::DumpRenewalRequest(request);
|
||||
}
|
||||
|
||||
if (renewal_info_check_) {
|
||||
SignedMessage signed_message;
|
||||
ASSERT_TRUE(signed_message.ParseFromString(request.message));
|
||||
|
||||
video_widevine::LicenseRequest renewal_request;
|
||||
ASSERT_TRUE(renewal_request.ParseFromString(signed_message.msg()));
|
||||
|
||||
if (client_id_check_) {
|
||||
// Check that a renewal request where client ID is always included
|
||||
// has a client ID.
|
||||
ASSERT_TRUE(renewal_request.has_client_id());
|
||||
} else {
|
||||
// Check that a renewal request where can_persist = true does not include
|
||||
// the client ID.
|
||||
ASSERT_FALSE(renewal_request.has_client_id());
|
||||
}
|
||||
|
||||
// Check that a renewal request where can_persist = true does not include
|
||||
// usage entry info.
|
||||
ASSERT_FALSE(renewal_request.content_id()
|
||||
.existing_license()
|
||||
.has_session_usage_table_entry());
|
||||
|
||||
// Check that a renewal request where can_persist = true includes the PST.
|
||||
ASSERT_TRUE(renewal_request.content_id()
|
||||
.existing_license()
|
||||
.license_id()
|
||||
.has_provider_session_token());
|
||||
}
|
||||
|
||||
const std::string url = MakeUrl(config_.renewal_server(), renewal_policy_id);
|
||||
request_in_flight_.reset(new UrlRequest(url));
|
||||
ASSERT_TRUE(request_in_flight_->is_connected())
|
||||
@@ -113,7 +159,17 @@ void LicenseHolder::LoadRenewal() {
|
||||
if (config_.dump_golden_data()) {
|
||||
MessageDumper::DumpRenewal(request_message_);
|
||||
}
|
||||
EXPECT_EQ(KEY_ADDED, cdm_engine_->RenewKey(session_id_, request_message_))
|
||||
if (renewal_info_check_) {
|
||||
SignedMessage signed_message;
|
||||
ASSERT_TRUE(signed_message.ParseFromString(request_message_));
|
||||
|
||||
video_widevine::License renewal;
|
||||
ASSERT_TRUE(renewal.ParseFromString(signed_message.msg()));
|
||||
|
||||
// Verify that pst exist.
|
||||
ASSERT_TRUE(renewal.id().has_provider_session_token());
|
||||
}
|
||||
ASSERT_EQ(KEY_ADDED, cdm_engine_->RenewKey(session_id_, request_message_))
|
||||
<< "Failed for " << content_id();
|
||||
}
|
||||
|
||||
@@ -148,10 +204,6 @@ void LicenseHolder::GenerateAndPostReleaseRequest(
|
||||
if (!Properties::AlwaysUseKeySetIds()) {
|
||||
cdm_engine_->CloseKeySetSession(key_set_id_);
|
||||
}
|
||||
if (config_.dump_golden_data()) {
|
||||
// TODO (b/295956275) vickymin: write DumpReleaseRequest function
|
||||
// MessageDumper::DumpReleaseRequest(request);
|
||||
}
|
||||
const std::string url = MakeUrl(config_.renewal_server(), release_policy_id);
|
||||
request_in_flight_.reset(new UrlRequest(url));
|
||||
ASSERT_TRUE(request_in_flight_->is_connected())
|
||||
@@ -169,14 +221,10 @@ void LicenseHolder::FetchRelease() {
|
||||
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_))
|
||||
ASSERT_EQ(NO_ERROR, cdm_engine_->RemoveLicense(session_id_))
|
||||
<< "Failed for " << content_id();
|
||||
}
|
||||
|
||||
|
||||
Reference in New Issue
Block a user