From 8e92fef4106859a585a51c76e4e1a453f1e71436 Mon Sep 17 00:00:00 2001 From: Rahul Frias Date: Wed, 9 Jun 2021 18:06:05 -0700 Subject: [PATCH] Address unit test failures [ Merge of http://go/wvgerrit/126744 ] * EngineMetrics previous_oemcrypto_initialization_failure is set only on a previous failure. Removing it from the list of expectations as we cannot be certain that it will or will not be set unless we know the previous state of the device. * Corrected client_capabililties expectations in CdmLicenseTest.PrepareKeyRequestValidation * Correct error expected in - WVDrmPluginTest.RejectsAtscProvisioningRequests - WVDrmPluginTest.RejectsAtscUnprovisionDeviceRequests * Correct expectations - CdmSessionTest.InitWithBuiltInCertificate, - CdmSessionTest.InitWithCertificate - CdmSessionTest.ReInitFail, - CdmSessionTest.InitFailCryptoError Bug: 181693982 Test: WV unit/integration tests Change-Id: I2f1e1c38604d768e0532b30d8551c77ea45e63f4 --- libwvdrmengine/cdm/core/test/cdm_session_unittest.cpp | 8 ++++++++ libwvdrmengine/cdm/core/test/license_unittest.cpp | 5 ++++- libwvdrmengine/cdm/test/wv_cdm_metrics_test.cpp | 2 -- libwvdrmengine/mediadrm/test/WVDrmPlugin_test.cpp | 4 ++-- 4 files changed, 14 insertions(+), 5 deletions(-) diff --git a/libwvdrmengine/cdm/core/test/cdm_session_unittest.cpp b/libwvdrmengine/cdm/core/test/cdm_session_unittest.cpp index 909897c2..bd6c472f 100644 --- a/libwvdrmengine/cdm/core/test/cdm_session_unittest.cpp +++ b/libwvdrmengine/cdm/core/test/cdm_session_unittest.cpp @@ -224,6 +224,8 @@ TEST_F(CdmSessionTest, InitWithBuiltInCertificate) { EXPECT_CALL(*license_parser_, Init(false, Eq(kEmptyString), Eq(crypto_session_), Eq(policy_engine_))) .WillOnce(Return(true)); + EXPECT_CALL(*license_parser_, provider_session_token()) + .WillRepeatedly(Return("Mock provider session token")); ASSERT_EQ(NO_ERROR, cdm_session_->Init(nullptr)); } @@ -242,6 +244,8 @@ TEST_F(CdmSessionTest, InitWithCertificate) { EXPECT_CALL(*license_parser_, Init(false, Eq(kEmptyString), Eq(crypto_session_), Eq(policy_engine_))) .WillOnce(Return(true)); + EXPECT_CALL(*license_parser_, provider_session_token()) + .WillRepeatedly(Return("Mock provider session token")); ASSERT_EQ(NO_ERROR, cdm_session_->Init(nullptr)); } @@ -260,6 +264,8 @@ TEST_F(CdmSessionTest, ReInitFail) { EXPECT_CALL(*license_parser_, Init(false, Eq(kEmptyString), Eq(crypto_session_), Eq(policy_engine_))) .WillOnce(Return(true)); + EXPECT_CALL(*license_parser_, provider_session_token()) + .WillRepeatedly(Return("Mock provider session token")); ASSERT_EQ(NO_ERROR, cdm_session_->Init(nullptr)); ASSERT_NE(NO_ERROR, cdm_session_->Init(nullptr)); @@ -268,6 +274,8 @@ TEST_F(CdmSessionTest, ReInitFail) { TEST_F(CdmSessionTest, InitFailCryptoError) { EXPECT_CALL(*crypto_session_, Open(Eq(kLevelDefault))) .WillOnce(Return(UNKNOWN_ERROR)); + EXPECT_CALL(*license_parser_, provider_session_token()) + .WillRepeatedly(Return("Mock provider session token")); ASSERT_EQ(UNKNOWN_ERROR, cdm_session_->Init(nullptr)); } diff --git a/libwvdrmengine/cdm/core/test/license_unittest.cpp b/libwvdrmengine/cdm/core/test/license_unittest.cpp index b3549059..199feba6 100644 --- a/libwvdrmengine/cdm/core/test/license_unittest.cpp +++ b/libwvdrmengine/cdm/core/test/license_unittest.cpp @@ -297,6 +297,7 @@ TEST_F(CdmLicenseTest, PrepareKeyRequestValidation) { CryptoSession::HdcpCapability current_hdcp_version = HDCP_NO_DIGITAL_OUTPUT; CryptoSession::HdcpCapability max_hdcp_version = HDCP_V2_1; const uint32_t crypto_session_api_version = 16; + const uint32_t resource_rating_tier = RESOURCE_RATING_TIER_LOW; EXPECT_CALL(*crypto_session_, IsOpen()).WillOnce(Return(true)); EXPECT_CALL(*crypto_session_, request_id()) @@ -312,6 +313,8 @@ TEST_F(CdmLicenseTest, PrepareKeyRequestValidation) { EXPECT_CALL(*crypto_session_, GetApiVersion(NotNull())) .WillOnce( DoAll(SetArgPointee<0>(crypto_session_api_version), Return(true))); + EXPECT_CALL(*crypto_session_, GetResourceRatingTier(NotNull())) + .WillOnce(DoAll(SetArgPointee<0>(resource_rating_tier), Return(true))); EXPECT_CALL(*clock_, GetCurrentTime()).WillOnce(Return(kLicenseStartTime)); EXPECT_CALL(*crypto_session_, GenerateNonce(NotNull())) .WillOnce(DoAll(SetArgPointee<0>(kNonce), Return(NO_ERROR))); @@ -386,7 +389,7 @@ TEST_F(CdmLicenseTest, PrepareKeyRequestValidation) { ClientCapabilities::ECC_SECP256R1, ClientCapabilities::ECC_SECP384R1, ClientCapabilities::ECC_SECP521R1)); - EXPECT_FALSE(client_capabilities.has_resource_rating_tier()); + EXPECT_TRUE(client_capabilities.has_resource_rating_tier()); // Verify Content Identification const LicenseRequest_ContentIdentification& content_id = diff --git a/libwvdrmengine/cdm/test/wv_cdm_metrics_test.cpp b/libwvdrmengine/cdm/test/wv_cdm_metrics_test.cpp index 66e9b436..9b3ba2e4 100644 --- a/libwvdrmengine/cdm/test/wv_cdm_metrics_test.cpp +++ b/libwvdrmengine/cdm/test/wv_cdm_metrics_test.cpp @@ -120,8 +120,6 @@ TEST_F(WvContentDecryptionModuleMetricsTest, EngineAndSessionMetrics) { EXPECT_TRUE( metrics.engine_metrics().has_level3_oemcrypto_initialization_error()); EXPECT_TRUE(metrics.engine_metrics().has_oemcrypto_initialization_mode()); - EXPECT_TRUE( - metrics.engine_metrics().has_previous_oemcrypto_initialization_failure()); ASSERT_THAT(metrics.engine_metrics().cdm_engine_open_session().size(), Eq(1)); EXPECT_THAT(metrics.engine_metrics().cdm_engine_open_session(0).count(), Eq(1)); diff --git a/libwvdrmengine/mediadrm/test/WVDrmPlugin_test.cpp b/libwvdrmengine/mediadrm/test/WVDrmPlugin_test.cpp index 16779b5a..0bff4ae7 100644 --- a/libwvdrmengine/mediadrm/test/WVDrmPlugin_test.cpp +++ b/libwvdrmengine/mediadrm/test/WVDrmPlugin_test.cpp @@ -918,7 +918,7 @@ TEST_F(WVDrmPluginTest, RejectsAtscProvisioningRequests) { plugin.getProvisionRequest( hidl_string(""), hidl_string(""), [&](Status status, hidl_vec , hidl_string ) { - ASSERT_EQ(Status::ERROR_DRM_UNKNOWN, status); + ASSERT_EQ(Status::ERROR_DRM_CANNOT_HANDLE, status); }); } @@ -1161,7 +1161,7 @@ TEST_F(WVDrmPluginTest, RejectsAtscUnprovisionDeviceRequests) { hidl_string("enable")); status = plugin.unprovisionDevice(); - ASSERT_EQ(Status::ERROR_DRM_UNKNOWN, status); + ASSERT_EQ(Status::ERROR_DRM_CANNOT_HANDLE, status); } TEST_F(WVDrmPluginTest, GetsSecureStops) {