Replace generic OnEvent with actual event callbacks
Also pass session_id and event_listener to PolicyEngine to make it easier to dispatch events from PolicyEngine. Bug: 19771437 Merged from Widevine CDM repo: https://widevine-internal-review.googlesource.com/#/c/13816/ Change-Id: I5723cb371cb3c43c945051af3402b09069ba5859
This commit is contained in:
@@ -243,21 +243,6 @@ class TestWvCdmClientPropertySet : public CdmClientPropertySet {
|
||||
uint32_t session_sharing_id_;
|
||||
};
|
||||
|
||||
class TestWvCdmEventListener : public WvCdmEventListener {
|
||||
public:
|
||||
TestWvCdmEventListener() : WvCdmEventListener() {}
|
||||
virtual void OnEvent(const CdmSessionId& id, CdmEventType event) {
|
||||
session_id_ = id;
|
||||
event_type_ = event;
|
||||
}
|
||||
CdmSessionId session_id() { return session_id_; }
|
||||
CdmEventType event_type() { return event_type_; }
|
||||
|
||||
private:
|
||||
CdmSessionId session_id_;
|
||||
CdmEventType event_type_;
|
||||
};
|
||||
|
||||
class WvCdmExtendedDurationTest : public WvCdmTestBase {
|
||||
public:
|
||||
WvCdmExtendedDurationTest() {}
|
||||
|
||||
@@ -4,6 +4,7 @@
|
||||
#include <getopt.h>
|
||||
#include <sstream>
|
||||
|
||||
#include <gmock/gmock.h>
|
||||
#include <gtest/gtest.h>
|
||||
|
||||
#include "config_test_env.h"
|
||||
@@ -440,16 +441,9 @@ class TestWvCdmClientPropertySet : public CdmClientPropertySet {
|
||||
class TestWvCdmEventListener : public WvCdmEventListener {
|
||||
public:
|
||||
TestWvCdmEventListener() : WvCdmEventListener() {}
|
||||
virtual void OnEvent(const CdmSessionId& id, CdmEventType event) {
|
||||
session_id_ = id;
|
||||
event_type_ = event;
|
||||
}
|
||||
CdmSessionId session_id() { return session_id_; }
|
||||
CdmEventType event_type() { return event_type_; }
|
||||
|
||||
private:
|
||||
CdmSessionId session_id_;
|
||||
CdmEventType event_type_;
|
||||
MOCK_METHOD1(OnSessionRenewalNeeded, void(const CdmSessionId& session_id));
|
||||
MOCK_METHOD1(OnSessionExpiration, void(const CdmSessionId& session_id));
|
||||
};
|
||||
|
||||
class WvCdmRequestLicenseTest : public WvCdmTestBase {
|
||||
@@ -1160,7 +1154,7 @@ TEST_F(WvCdmRequestLicenseTest, ExpiryOnReleaseOfflineKeyTest) {
|
||||
|
||||
session_id_.clear();
|
||||
key_set_id_.clear();
|
||||
TestWvCdmEventListener listener;
|
||||
::testing::StrictMock<TestWvCdmEventListener> listener;
|
||||
decryptor_.OpenSession(g_key_system, NULL, &listener, &session_id_);
|
||||
CdmSessionId restore_session_id = session_id_;
|
||||
EXPECT_EQ(wvcdm::KEY_ADDED,
|
||||
@@ -1168,12 +1162,12 @@ TEST_F(WvCdmRequestLicenseTest, ExpiryOnReleaseOfflineKeyTest) {
|
||||
|
||||
session_id_.clear();
|
||||
key_set_id_.clear();
|
||||
EXPECT_TRUE(listener.session_id().size() == 0);
|
||||
// Maybe called since VerifyKeyRequestResponse could take some time.
|
||||
EXPECT_CALL(listener, OnSessionRenewalNeeded(restore_session_id))
|
||||
.Times(::testing::AtLeast(0));
|
||||
EXPECT_CALL(listener, OnSessionExpiration(restore_session_id)).Times(1);
|
||||
GenerateKeyRelease(key_set_id);
|
||||
key_set_id_ = key_set_id;
|
||||
EXPECT_TRUE(listener.session_id().size() != 0);
|
||||
EXPECT_TRUE(listener.session_id().compare(restore_session_id) == 0);
|
||||
EXPECT_TRUE(listener.event_type() == LICENSE_EXPIRED_EVENT);
|
||||
VerifyKeyRequestResponse(g_license_server, client_auth, false);
|
||||
decryptor_.CloseSession(restore_session_id);
|
||||
}
|
||||
|
||||
Reference in New Issue
Block a user