From ca20d3255ef1764463e5598c93ca535d2f6887dc Mon Sep 17 00:00:00 2001 From: Fred Gylys-Colwell Date: Tue, 30 Apr 2024 14:39:22 -0700 Subject: [PATCH] Fix LicenseRenewalSpecifiedServer for SDK servers The test only needs to verify that the license has a renewal server url. It does not need to fetch a renewal from that url. bug: 338103523 Merged from https://widevine-internal-review.googlesource.com/197955 Change-Id: I1513f8692089c3f51a53ffd6ecb62348702b8fb8 --- .../cdm/core/test/cdm_engine_test.cpp | 28 ++++++------------- 1 file changed, 9 insertions(+), 19 deletions(-) diff --git a/libwvdrmengine/cdm/core/test/cdm_engine_test.cpp b/libwvdrmengine/cdm/core/test/cdm_engine_test.cpp index 8f266bed..0925ff1f 100644 --- a/libwvdrmengine/cdm/core/test/cdm_engine_test.cpp +++ b/libwvdrmengine/cdm/core/test/cdm_engine_test.cpp @@ -191,7 +191,6 @@ class WvCdmEngineTest : public WvCdmEnginePreProvTest { EXPECT_EQ(KEY_MESSAGE, result); key_msg_ = request.message; - server_url_ = request.url; } std::string GetKeyRequestResponse(const std::string& server_url, @@ -295,8 +294,6 @@ class WvCdmEngineTest : public WvCdmEnginePreProvTest { << "Expected request type " << key_request_type << " was not found. " << "metrics: " << wvutil::b2a_hex(serialized_metrics); } - - std::string server_url_; }; // Tests to validate service certificate @@ -403,22 +400,15 @@ TEST_F(WvCdmEngineTest, LoadKey) { // command line. TEST_F(WvCdmEngineTest, LicenseRenewalSpecifiedServer) { EnsureProvisioned(); - GenerateKeyRequest(binary_key_id(), kCencMimeType); - VerifyNewKeyResponse(config_.license_server(), config_.client_auth()); - - GenerateRenewalRequest(); - if (!server_url_.empty()) { - // If the license server put a URL for the renewal in the license, we should - // be able to verify the renewal against that server. - VerifyRenewalKeyResponse(server_url_, config_.client_auth()); - } else { - // If the license server did not give us a URL, we won't verify it. - LOGE("License server did not set renewal URL. license_url=%s.", - config_.license_server().c_str()); - // This is OK when you are using a local, debug, license server, but it - // should NOT happen if using UAT or UAT nightly. - EXPECT_EQ(std::string::npos, config_.license_server().find("proxy.uat")); - } + LicenseHolder holder("CDM_SpecifyRenewalUrl", &cdm_engine_, config_); + ASSERT_NO_FATAL_FAILURE(holder.OpenSession()); + ASSERT_NO_FATAL_FAILURE(holder.FetchLicense()); + ASSERT_NO_FATAL_FAILURE(holder.LoadLicense()); + CdmKeyRequest request; + const CdmResponseType result = + cdm_engine_.GenerateRenewalRequest(holder.session_id(), &request); + ASSERT_EQ(KEY_MESSAGE, result); + EXPECT_EQ(request.url, "url_as_specified_in_integration_console"); } // This test generates a renewal and then requests it from the server specified