From 3df8bc51338e46f96d0be6d1d8414bc347278d36 Mon Sep 17 00:00:00 2001 From: Rahul Frias Date: Tue, 14 Apr 2020 11:35:42 -0700 Subject: [PATCH] Correct OpenSessions_1_1 test failure [ Merge of http://go/wvgerrit/98025 ] This adds mocking for WvContentDecryptionModule::QuerySessionStatus to WvDrmPluginTest which was missing. This corrects the failure in WVDrmPluginTest.OpensSessions_1_1 from libwvdrmdrmplugin_hidl_test Bug: 154011452 Test: wv unit/integration tests Change-Id: I9904595a62a71541ab534aca7d7dfbf95f3225c9 --- libwvdrmengine/mediadrm/test/WVDrmPlugin_test.cpp | 13 ++++++++++++- 1 file changed, 12 insertions(+), 1 deletion(-) diff --git a/libwvdrmengine/mediadrm/test/WVDrmPlugin_test.cpp b/libwvdrmengine/mediadrm/test/WVDrmPlugin_test.cpp index 581e1ad9..bc84e471 100644 --- a/libwvdrmengine/mediadrm/test/WVDrmPlugin_test.cpp +++ b/libwvdrmengine/mediadrm/test/WVDrmPlugin_test.cpp @@ -165,6 +165,9 @@ class MockCDM : public WvContentDecryptionModule { const std::string&, std::string*)); + MOCK_METHOD2(QuerySessionStatus, CdmResponseType(const CdmSessionId&, + CdmQueryMap*)); + MOCK_METHOD2(QueryKeyStatus, CdmResponseType(const CdmSessionId&, CdmQueryMap*)); @@ -384,6 +387,14 @@ TEST_F(WVDrmPluginTest, OpensSessions_1_1) { .WillOnce(DoAll(SetArgPointee<2>(QUERY_VALUE_SECURITY_LEVEL_L3), testing::Return(wvcdm::NO_ERROR))); + CdmQueryMap securityLevelQueryMap; + securityLevelQueryMap[wvcdm::QUERY_KEY_SECURITY_LEVEL] = + wvcdm::QUERY_VALUE_SECURITY_LEVEL_L3; + + EXPECT_CALL(*cdm, QuerySessionStatus(_, NotNull())) + .WillOnce(DoAll(SetArgPointee<1>(securityLevelQueryMap), + testing::Return(wvcdm::NO_ERROR))); + EXPECT_CALL(*cdm, OpenSession(_, _, _, _, _)) .WillRepeatedly(DoAll(SetArgPointee<4>(cdmSessionId), SaveArg<1>(&propertySet), @@ -402,7 +413,7 @@ TEST_F(WVDrmPluginTest, OpensSessions_1_1) { plugin.openSession_1_1(android::hardware::drm::V1_1::SecurityLevel::SW_SECURE_CRYPTO, [&](Status status, hidl_vec hSessionId) { - ASSERT_EQ(Status::ERROR_DRM_INVALID_STATE, status); + ASSERT_EQ(Status::OK, status); sessionId.clear(); sessionId.assign(hSessionId.data(), hSessionId.data() + hSessionId.size()); });