Source release 15.3.0
This commit is contained in:
@@ -44,6 +44,8 @@ const std::string kWebmMimeType = "video/webm";
|
||||
const std::string kEmptyString;
|
||||
const std::string kComma = ",";
|
||||
|
||||
const std::string kFakeSessionId = "TotallyARealSession123456789";
|
||||
|
||||
} // namespace
|
||||
|
||||
class WvCdmEnginePreProvTest : public WvCdmTestBase {
|
||||
@@ -317,6 +319,27 @@ TEST_F(WvCdmEnginePreProvTestUat, ProvisioningServiceCertificateInvalidTest) {
|
||||
ASSERT_NE(cdm_engine_.ValidateServiceCertificate(certificate), NO_ERROR);
|
||||
};
|
||||
|
||||
TEST_F(WvCdmEngineTest, SetLicensingServiceValidCertificate) {
|
||||
ASSERT_EQ(cdm_engine_.SetSessionServiceCertificate(
|
||||
session_id_, config_.license_service_certificate()),
|
||||
NO_ERROR);
|
||||
};
|
||||
|
||||
TEST_F(WvCdmEngineTest, SetLicensingServiceCertificateUnknownSession) {
|
||||
ASSERT_EQ(cdm_engine_.SetSessionServiceCertificate(
|
||||
kFakeSessionId, config_.license_service_certificate()),
|
||||
SESSION_NOT_FOUND_22);
|
||||
};
|
||||
|
||||
TEST_F(WvCdmEngineTest, SetLicensingServiceInvalidCertificate) {
|
||||
std::string certificate = config_.license_service_certificate();
|
||||
// Add four nulls to the beginning of the cert to invalidate it
|
||||
certificate.insert(0, 4, '\0');
|
||||
|
||||
ASSERT_NE(cdm_engine_.SetSessionServiceCertificate(session_id_, certificate),
|
||||
NO_ERROR);
|
||||
};
|
||||
|
||||
TEST_F(WvCdmEnginePreProvTestStaging, ProvisioningTest) { Provision(); }
|
||||
|
||||
TEST_F(WvCdmEnginePreProvTestUatBinary, ProvisioningTest) {
|
||||
|
||||
@@ -282,10 +282,9 @@ TEST_F(CdmLicenseTest, InitWithEmptyServiceCert) {
|
||||
EXPECT_CALL(*crypto_session_, IsOpen()).WillOnce(Return(true));
|
||||
|
||||
CreateCdmLicense();
|
||||
EXPECT_EQ(cdm_license_->Init(kToken, kClientTokenDrmCert, "", true,
|
||||
kEmptyServiceCertificate, crypto_session_,
|
||||
policy_engine_),
|
||||
Properties::allow_service_certificate_requests());
|
||||
EXPECT_TRUE(cdm_license_->Init(kToken, kClientTokenDrmCert, "", true,
|
||||
kEmptyServiceCertificate, crypto_session_,
|
||||
policy_engine_));
|
||||
}
|
||||
|
||||
TEST_F(CdmLicenseTest, InitWithInvalidServiceCert) {
|
||||
|
||||
@@ -30,7 +30,7 @@ using wvcdm::metrics::EngineMetrics;
|
||||
|
||||
namespace wvcdm {
|
||||
namespace {
|
||||
void show_menu(char* prog_name) {
|
||||
void show_menu(const char* prog_name, const std::string& extra_help_text) {
|
||||
std::cout << std::endl;
|
||||
std::cout << "usage: " << prog_name << " [options]" << std::endl << std::endl;
|
||||
std::cout << " enclose multiple arguments in '' when using adb shell"
|
||||
@@ -90,6 +90,8 @@ void show_menu(char* prog_name) {
|
||||
std::cout << " configure the provisioning server url, please include http[s]"
|
||||
<< " in the url" << std::endl
|
||||
<< std::endl;
|
||||
|
||||
std::cout << extra_help_text << std::endl;
|
||||
}
|
||||
|
||||
/*
|
||||
@@ -343,7 +345,8 @@ void WvCdmTestBase::EnsureProvisioned() {
|
||||
ASSERT_EQ(NO_ERROR, cdm_engine.CloseSession(session_id));
|
||||
}
|
||||
|
||||
bool WvCdmTestBase::Initialize(int argc, char **argv) {
|
||||
bool WvCdmTestBase::Initialize(int argc, const char* const argv[],
|
||||
const std::string& extra_help_text) {
|
||||
Properties::Init();
|
||||
bool is_cast_receiver = false;
|
||||
bool force_load_test_keybox = false; // TODO(fredgc): obsolete. remove.
|
||||
@@ -403,7 +406,7 @@ bool WvCdmTestBase::Initialize(int argc, char **argv) {
|
||||
}
|
||||
|
||||
if (show_usage) {
|
||||
show_menu(argv[0]);
|
||||
show_menu(argv[0], extra_help_text);
|
||||
return false;
|
||||
}
|
||||
|
||||
|
||||
@@ -5,6 +5,9 @@
|
||||
#ifndef WVCDM_CORE_TEST_BASE_H_
|
||||
#define WVCDM_CORE_TEST_BASE_H_
|
||||
|
||||
#include <string>
|
||||
#include <vector>
|
||||
|
||||
#include <gtest/gtest.h>
|
||||
|
||||
#include "cdm_engine.h"
|
||||
@@ -26,8 +29,13 @@ class WvCdmTestBase : public ::testing::Test {
|
||||
|
||||
// Returns true if the test program should continue, if false, the caller
|
||||
// should exit. This should be called by main() to allow the user to pass in
|
||||
// command line switches.
|
||||
static bool Initialize(int argc, char **argv);
|
||||
// command line switches. The |extra_help_text| parameter can be used to
|
||||
// append platform-specific information to the usage information printed when
|
||||
// invalid flags are detected. For instance, a platform might add information
|
||||
// about platform-specific flags that were already parsed before calling
|
||||
// Initialize().
|
||||
static bool Initialize(int argc, const char* const argv[],
|
||||
const std::string& extra_help_text = std::string());
|
||||
// Install a test keybox, if appropriate.
|
||||
static void InstallTestRootOfTrust();
|
||||
|
||||
|
||||
@@ -781,6 +781,9 @@ void PrintTo(const enum CdmResponseType& value, ::std::ostream* os) {
|
||||
case SESSION_NOT_FOUND_21:
|
||||
*os << "SESSION_NOT_FOUND_21";
|
||||
break;
|
||||
case SESSION_NOT_FOUND_22:
|
||||
*os << "SESSION_NOT_FOUND_22";
|
||||
break;
|
||||
case INVALID_DECRYPT_HASH_FORMAT:
|
||||
*os << "INVALID_DECRYPT_HASH_FORMAT";
|
||||
break;
|
||||
|
||||
Reference in New Issue
Block a user