|
|
|
|
@@ -6,7 +6,7 @@
|
|
|
|
|
|
|
|
|
|
#include <algorithm>
|
|
|
|
|
#include <memory>
|
|
|
|
|
#include <sstream>
|
|
|
|
|
#include <string>
|
|
|
|
|
|
|
|
|
|
#include <gmock/gmock.h>
|
|
|
|
|
#include <gtest/gtest.h>
|
|
|
|
|
@@ -51,13 +51,6 @@ int64_t GetLicenseRenewalDelay(int64_t license_duration) {
|
|
|
|
|
: 0;
|
|
|
|
|
}
|
|
|
|
|
|
|
|
|
|
int64_t ParseInt(const std::string& str) {
|
|
|
|
|
std::stringstream ss(str);
|
|
|
|
|
int64_t ret;
|
|
|
|
|
ss >> ret;
|
|
|
|
|
return ret;
|
|
|
|
|
}
|
|
|
|
|
|
|
|
|
|
class HdcpOnlyMockCryptoSession : public TestCryptoSession {
|
|
|
|
|
public:
|
|
|
|
|
HdcpOnlyMockCryptoSession(metrics::CryptoMetrics* metrics) :
|
|
|
|
|
@@ -2017,9 +2010,9 @@ TEST_F(PolicyEngineQueryTest, QuerySuccess) {
|
|
|
|
|
EXPECT_EQ(QUERY_VALUE_TRUE, query_info[QUERY_KEY_RENEW_ALLOWED]);
|
|
|
|
|
|
|
|
|
|
EXPECT_EQ(kLowDuration - 100,
|
|
|
|
|
ParseInt(query_info[QUERY_KEY_LICENSE_DURATION_REMAINING]));
|
|
|
|
|
std::stoll(query_info[QUERY_KEY_LICENSE_DURATION_REMAINING]));
|
|
|
|
|
EXPECT_EQ(kPlaybackDuration,
|
|
|
|
|
ParseInt(query_info[QUERY_KEY_PLAYBACK_DURATION_REMAINING]));
|
|
|
|
|
std::stoll(query_info[QUERY_KEY_PLAYBACK_DURATION_REMAINING]));
|
|
|
|
|
EXPECT_EQ(kRenewalServerUrl, query_info[QUERY_KEY_RENEWAL_SERVER_URL]);
|
|
|
|
|
}
|
|
|
|
|
|
|
|
|
|
@@ -2044,9 +2037,9 @@ TEST_F(PolicyEngineQueryTest, QuerySuccess_PlaybackNotBegun) {
|
|
|
|
|
EXPECT_EQ(QUERY_VALUE_TRUE, query_info[QUERY_KEY_RENEW_ALLOWED]);
|
|
|
|
|
|
|
|
|
|
EXPECT_EQ(kLowDuration - 100,
|
|
|
|
|
ParseInt(query_info[QUERY_KEY_LICENSE_DURATION_REMAINING]));
|
|
|
|
|
std::stoll(query_info[QUERY_KEY_LICENSE_DURATION_REMAINING]));
|
|
|
|
|
EXPECT_EQ(kPlaybackDuration,
|
|
|
|
|
ParseInt(query_info[QUERY_KEY_PLAYBACK_DURATION_REMAINING]));
|
|
|
|
|
std::stoll(query_info[QUERY_KEY_PLAYBACK_DURATION_REMAINING]));
|
|
|
|
|
EXPECT_EQ(kRenewalServerUrl, query_info[QUERY_KEY_RENEWAL_SERVER_URL]);
|
|
|
|
|
|
|
|
|
|
EXPECT_EQ(NO_ERROR, policy_engine_->Query(&query_info));
|
|
|
|
|
@@ -2056,9 +2049,9 @@ TEST_F(PolicyEngineQueryTest, QuerySuccess_PlaybackNotBegun) {
|
|
|
|
|
EXPECT_EQ(QUERY_VALUE_TRUE, query_info[QUERY_KEY_RENEW_ALLOWED]);
|
|
|
|
|
|
|
|
|
|
EXPECT_EQ(kLowDuration - 200,
|
|
|
|
|
ParseInt(query_info[QUERY_KEY_LICENSE_DURATION_REMAINING]));
|
|
|
|
|
std::stoll(query_info[QUERY_KEY_LICENSE_DURATION_REMAINING]));
|
|
|
|
|
EXPECT_EQ(kPlaybackDuration,
|
|
|
|
|
ParseInt(query_info[QUERY_KEY_PLAYBACK_DURATION_REMAINING]));
|
|
|
|
|
std::stoll(query_info[QUERY_KEY_PLAYBACK_DURATION_REMAINING]));
|
|
|
|
|
EXPECT_EQ(kRenewalServerUrl, query_info[QUERY_KEY_RENEWAL_SERVER_URL]);
|
|
|
|
|
}
|
|
|
|
|
|
|
|
|
|
@@ -2085,9 +2078,9 @@ TEST_F(PolicyEngineQueryTest, QuerySuccess_PlaybackBegun) {
|
|
|
|
|
EXPECT_EQ(QUERY_VALUE_TRUE, query_info[QUERY_KEY_RENEW_ALLOWED]);
|
|
|
|
|
|
|
|
|
|
EXPECT_EQ(kLowDuration - 50,
|
|
|
|
|
ParseInt(query_info[QUERY_KEY_LICENSE_DURATION_REMAINING]));
|
|
|
|
|
std::stoll(query_info[QUERY_KEY_LICENSE_DURATION_REMAINING]));
|
|
|
|
|
EXPECT_EQ(kPlaybackDuration,
|
|
|
|
|
ParseInt(query_info[QUERY_KEY_PLAYBACK_DURATION_REMAINING]));
|
|
|
|
|
std::stoll(query_info[QUERY_KEY_PLAYBACK_DURATION_REMAINING]));
|
|
|
|
|
EXPECT_EQ(kRenewalServerUrl, query_info[QUERY_KEY_RENEWAL_SERVER_URL]);
|
|
|
|
|
|
|
|
|
|
policy_engine_->BeginDecryption();
|
|
|
|
|
@@ -2102,9 +2095,9 @@ TEST_F(PolicyEngineQueryTest, QuerySuccess_PlaybackBegun) {
|
|
|
|
|
EXPECT_EQ(QUERY_VALUE_TRUE, query_info[QUERY_KEY_RENEW_ALLOWED]);
|
|
|
|
|
|
|
|
|
|
EXPECT_EQ(kLowDuration - 200,
|
|
|
|
|
ParseInt(query_info[QUERY_KEY_LICENSE_DURATION_REMAINING]));
|
|
|
|
|
std::stoll(query_info[QUERY_KEY_LICENSE_DURATION_REMAINING]));
|
|
|
|
|
EXPECT_EQ(kPlaybackDuration - 100,
|
|
|
|
|
ParseInt(query_info[QUERY_KEY_PLAYBACK_DURATION_REMAINING]));
|
|
|
|
|
std::stoll(query_info[QUERY_KEY_PLAYBACK_DURATION_REMAINING]));
|
|
|
|
|
EXPECT_EQ(kRenewalServerUrl, query_info[QUERY_KEY_RENEWAL_SERVER_URL]);
|
|
|
|
|
}
|
|
|
|
|
|
|
|
|
|
@@ -2144,9 +2137,9 @@ TEST_F(PolicyEngineQueryTest, QuerySuccess_Offline) {
|
|
|
|
|
EXPECT_EQ(QUERY_VALUE_FALSE, query_info[QUERY_KEY_RENEW_ALLOWED]);
|
|
|
|
|
|
|
|
|
|
EXPECT_EQ(kRentalDuration - 300,
|
|
|
|
|
ParseInt(query_info[QUERY_KEY_LICENSE_DURATION_REMAINING]));
|
|
|
|
|
std::stoll(query_info[QUERY_KEY_LICENSE_DURATION_REMAINING]));
|
|
|
|
|
EXPECT_EQ(kPlaybackDuration - 100,
|
|
|
|
|
ParseInt(query_info[QUERY_KEY_PLAYBACK_DURATION_REMAINING]));
|
|
|
|
|
std::stoll(query_info[QUERY_KEY_PLAYBACK_DURATION_REMAINING]));
|
|
|
|
|
EXPECT_EQ(kRenewalServerUrl, query_info[QUERY_KEY_RENEWAL_SERVER_URL]);
|
|
|
|
|
}
|
|
|
|
|
|
|
|
|
|
@@ -2170,9 +2163,9 @@ TEST_F(PolicyEngineQueryTest, QuerySuccess_InitialRentalDurationExpired) {
|
|
|
|
|
EXPECT_EQ(QUERY_VALUE_FALSE, query_info[QUERY_KEY_PERSIST_ALLOWED]);
|
|
|
|
|
EXPECT_EQ(QUERY_VALUE_TRUE, query_info[QUERY_KEY_RENEW_ALLOWED]);
|
|
|
|
|
|
|
|
|
|
EXPECT_EQ(0, ParseInt(query_info[QUERY_KEY_LICENSE_DURATION_REMAINING]));
|
|
|
|
|
EXPECT_EQ(0, std::stoll(query_info[QUERY_KEY_LICENSE_DURATION_REMAINING]));
|
|
|
|
|
EXPECT_EQ(kPlaybackDuration,
|
|
|
|
|
ParseInt(query_info[QUERY_KEY_PLAYBACK_DURATION_REMAINING]));
|
|
|
|
|
std::stoll(query_info[QUERY_KEY_PLAYBACK_DURATION_REMAINING]));
|
|
|
|
|
EXPECT_EQ(kRenewalServerUrl, query_info[QUERY_KEY_RENEWAL_SERVER_URL]);
|
|
|
|
|
}
|
|
|
|
|
|
|
|
|
|
@@ -2192,9 +2185,9 @@ TEST_F(PolicyEngineQueryTest, QuerySuccess_InitialLicenseDurationExpired) {
|
|
|
|
|
EXPECT_EQ(QUERY_VALUE_FALSE, query_info[QUERY_KEY_PERSIST_ALLOWED]);
|
|
|
|
|
EXPECT_EQ(QUERY_VALUE_TRUE, query_info[QUERY_KEY_RENEW_ALLOWED]);
|
|
|
|
|
|
|
|
|
|
EXPECT_EQ(0, ParseInt(query_info[QUERY_KEY_LICENSE_DURATION_REMAINING]));
|
|
|
|
|
EXPECT_EQ(0, std::stoll(query_info[QUERY_KEY_LICENSE_DURATION_REMAINING]));
|
|
|
|
|
EXPECT_EQ(kPlaybackDuration,
|
|
|
|
|
ParseInt(query_info[QUERY_KEY_PLAYBACK_DURATION_REMAINING]));
|
|
|
|
|
std::stoll(query_info[QUERY_KEY_PLAYBACK_DURATION_REMAINING]));
|
|
|
|
|
EXPECT_EQ(kRenewalServerUrl, query_info[QUERY_KEY_RENEWAL_SERVER_URL]);
|
|
|
|
|
}
|
|
|
|
|
|
|
|
|
|
@@ -2232,9 +2225,9 @@ TEST_F(PolicyEngineQueryTest, QuerySuccess_CanPlayFalse) {
|
|
|
|
|
EXPECT_EQ(QUERY_VALUE_TRUE, query_info[QUERY_KEY_RENEW_ALLOWED]);
|
|
|
|
|
|
|
|
|
|
EXPECT_EQ(kLowDuration - 100,
|
|
|
|
|
ParseInt(query_info[QUERY_KEY_LICENSE_DURATION_REMAINING]));
|
|
|
|
|
std::stoll(query_info[QUERY_KEY_LICENSE_DURATION_REMAINING]));
|
|
|
|
|
EXPECT_EQ(kPlaybackDuration,
|
|
|
|
|
ParseInt(query_info[QUERY_KEY_PLAYBACK_DURATION_REMAINING]));
|
|
|
|
|
std::stoll(query_info[QUERY_KEY_PLAYBACK_DURATION_REMAINING]));
|
|
|
|
|
EXPECT_EQ(kRenewalServerUrl, query_info[QUERY_KEY_RENEWAL_SERVER_URL]);
|
|
|
|
|
}
|
|
|
|
|
|
|
|
|
|
@@ -2274,9 +2267,9 @@ TEST_F(PolicyEngineQueryTest, QuerySuccess_RentalDurationExpired) {
|
|
|
|
|
EXPECT_EQ(QUERY_VALUE_FALSE, query_info[QUERY_KEY_PERSIST_ALLOWED]);
|
|
|
|
|
EXPECT_EQ(QUERY_VALUE_TRUE, query_info[QUERY_KEY_RENEW_ALLOWED]);
|
|
|
|
|
|
|
|
|
|
EXPECT_EQ(0, ParseInt(query_info[QUERY_KEY_LICENSE_DURATION_REMAINING]));
|
|
|
|
|
EXPECT_EQ(0, std::stoll(query_info[QUERY_KEY_LICENSE_DURATION_REMAINING]));
|
|
|
|
|
EXPECT_EQ(kPlaybackDuration - kLowDuration,
|
|
|
|
|
ParseInt(query_info[QUERY_KEY_PLAYBACK_DURATION_REMAINING]));
|
|
|
|
|
std::stoll(query_info[QUERY_KEY_PLAYBACK_DURATION_REMAINING]));
|
|
|
|
|
EXPECT_EQ(kRenewalServerUrl, query_info[QUERY_KEY_RENEWAL_SERVER_URL]);
|
|
|
|
|
}
|
|
|
|
|
|
|
|
|
|
@@ -2317,8 +2310,8 @@ TEST_F(PolicyEngineQueryTest, QuerySuccess_PlaybackDurationExpired) {
|
|
|
|
|
EXPECT_EQ(QUERY_VALUE_FALSE, query_info[QUERY_KEY_PERSIST_ALLOWED]);
|
|
|
|
|
EXPECT_EQ(QUERY_VALUE_TRUE, query_info[QUERY_KEY_RENEW_ALLOWED]);
|
|
|
|
|
|
|
|
|
|
EXPECT_EQ(0, ParseInt(query_info[QUERY_KEY_LICENSE_DURATION_REMAINING]));
|
|
|
|
|
EXPECT_EQ(0, ParseInt(query_info[QUERY_KEY_PLAYBACK_DURATION_REMAINING]));
|
|
|
|
|
EXPECT_EQ(0, std::stoll(query_info[QUERY_KEY_LICENSE_DURATION_REMAINING]));
|
|
|
|
|
EXPECT_EQ(0, std::stoll(query_info[QUERY_KEY_PLAYBACK_DURATION_REMAINING]));
|
|
|
|
|
EXPECT_EQ(kRenewalServerUrl, query_info[QUERY_KEY_RENEWAL_SERVER_URL]);
|
|
|
|
|
}
|
|
|
|
|
|
|
|
|
|
@@ -2356,9 +2349,9 @@ TEST_F(PolicyEngineQueryTest, QuerySuccess_LicenseDurationExpired) {
|
|
|
|
|
EXPECT_EQ(QUERY_VALUE_FALSE, query_info[QUERY_KEY_PERSIST_ALLOWED]);
|
|
|
|
|
EXPECT_EQ(QUERY_VALUE_FALSE, query_info[QUERY_KEY_RENEW_ALLOWED]);
|
|
|
|
|
|
|
|
|
|
EXPECT_EQ(0, ParseInt(query_info[QUERY_KEY_LICENSE_DURATION_REMAINING]));
|
|
|
|
|
EXPECT_EQ(0, std::stoll(query_info[QUERY_KEY_LICENSE_DURATION_REMAINING]));
|
|
|
|
|
EXPECT_EQ(kPlaybackDuration - kLowDuration,
|
|
|
|
|
ParseInt(query_info[QUERY_KEY_PLAYBACK_DURATION_REMAINING]));
|
|
|
|
|
std::stoll(query_info[QUERY_KEY_PLAYBACK_DURATION_REMAINING]));
|
|
|
|
|
EXPECT_EQ(kRenewalServerUrl, query_info[QUERY_KEY_RENEWAL_SERVER_URL]);
|
|
|
|
|
}
|
|
|
|
|
|
|
|
|
|
@@ -2399,9 +2392,9 @@ TEST_F(PolicyEngineQueryTest, QuerySuccess_RentalDuration0) {
|
|
|
|
|
EXPECT_EQ(QUERY_VALUE_FALSE, query_info[QUERY_KEY_PERSIST_ALLOWED]);
|
|
|
|
|
EXPECT_EQ(QUERY_VALUE_TRUE, query_info[QUERY_KEY_RENEW_ALLOWED]);
|
|
|
|
|
|
|
|
|
|
EXPECT_EQ(0, ParseInt(query_info[QUERY_KEY_LICENSE_DURATION_REMAINING]));
|
|
|
|
|
EXPECT_EQ(0, std::stoll(query_info[QUERY_KEY_LICENSE_DURATION_REMAINING]));
|
|
|
|
|
EXPECT_EQ(kPlaybackDuration - kLowDuration,
|
|
|
|
|
ParseInt(query_info[QUERY_KEY_PLAYBACK_DURATION_REMAINING]));
|
|
|
|
|
std::stoll(query_info[QUERY_KEY_PLAYBACK_DURATION_REMAINING]));
|
|
|
|
|
EXPECT_EQ(kRenewalServerUrl, query_info[QUERY_KEY_RENEWAL_SERVER_URL]);
|
|
|
|
|
}
|
|
|
|
|
|
|
|
|
|
@@ -2444,9 +2437,9 @@ TEST_F(PolicyEngineQueryTest, QuerySuccess_PlaybackDuration0) {
|
|
|
|
|
EXPECT_EQ(QUERY_VALUE_TRUE, query_info[QUERY_KEY_RENEW_ALLOWED]);
|
|
|
|
|
|
|
|
|
|
EXPECT_EQ(0,
|
|
|
|
|
ParseInt(query_info[QUERY_KEY_LICENSE_DURATION_REMAINING]));
|
|
|
|
|
std::stoll(query_info[QUERY_KEY_LICENSE_DURATION_REMAINING]));
|
|
|
|
|
EXPECT_EQ(LLONG_MAX,
|
|
|
|
|
ParseInt(query_info[QUERY_KEY_PLAYBACK_DURATION_REMAINING]));
|
|
|
|
|
std::stoll(query_info[QUERY_KEY_PLAYBACK_DURATION_REMAINING]));
|
|
|
|
|
EXPECT_EQ(kRenewalServerUrl, query_info[QUERY_KEY_RENEWAL_SERVER_URL]);
|
|
|
|
|
|
|
|
|
|
for (int i = 3; i <= 4; ++i) {
|
|
|
|
|
@@ -2462,9 +2455,9 @@ TEST_F(PolicyEngineQueryTest, QuerySuccess_PlaybackDuration0) {
|
|
|
|
|
EXPECT_EQ(QUERY_VALUE_TRUE, query_info[QUERY_KEY_RENEW_ALLOWED]);
|
|
|
|
|
|
|
|
|
|
EXPECT_EQ(0,
|
|
|
|
|
ParseInt(query_info[QUERY_KEY_LICENSE_DURATION_REMAINING]));
|
|
|
|
|
std::stoll(query_info[QUERY_KEY_LICENSE_DURATION_REMAINING]));
|
|
|
|
|
EXPECT_EQ(LLONG_MAX,
|
|
|
|
|
ParseInt(query_info[QUERY_KEY_PLAYBACK_DURATION_REMAINING]));
|
|
|
|
|
std::stoll(query_info[QUERY_KEY_PLAYBACK_DURATION_REMAINING]));
|
|
|
|
|
EXPECT_EQ(kRenewalServerUrl, query_info[QUERY_KEY_RENEWAL_SERVER_URL]);
|
|
|
|
|
}
|
|
|
|
|
|
|
|
|
|
@@ -2502,8 +2495,8 @@ TEST_F(PolicyEngineQueryTest, QuerySuccess_LicenseDuration0) {
|
|
|
|
|
EXPECT_EQ(QUERY_VALUE_FALSE, query_info[QUERY_KEY_PERSIST_ALLOWED]);
|
|
|
|
|
EXPECT_EQ(QUERY_VALUE_TRUE, query_info[QUERY_KEY_RENEW_ALLOWED]);
|
|
|
|
|
|
|
|
|
|
EXPECT_EQ(0, ParseInt(query_info[QUERY_KEY_LICENSE_DURATION_REMAINING]));
|
|
|
|
|
EXPECT_EQ(0, ParseInt(query_info[QUERY_KEY_PLAYBACK_DURATION_REMAINING]));
|
|
|
|
|
EXPECT_EQ(0, std::stoll(query_info[QUERY_KEY_LICENSE_DURATION_REMAINING]));
|
|
|
|
|
EXPECT_EQ(0, std::stoll(query_info[QUERY_KEY_PLAYBACK_DURATION_REMAINING]));
|
|
|
|
|
EXPECT_EQ(kRenewalServerUrl, query_info[QUERY_KEY_RENEWAL_SERVER_URL]);
|
|
|
|
|
}
|
|
|
|
|
|
|
|
|
|
@@ -2536,9 +2529,9 @@ TEST_F(PolicyEngineQueryTest, QuerySuccess_PlaybackAndRental0) {
|
|
|
|
|
EXPECT_EQ(QUERY_VALUE_FALSE, query_info[QUERY_KEY_PERSIST_ALLOWED]);
|
|
|
|
|
EXPECT_EQ(QUERY_VALUE_TRUE, query_info[QUERY_KEY_RENEW_ALLOWED]);
|
|
|
|
|
|
|
|
|
|
EXPECT_EQ(10, ParseInt(query_info[QUERY_KEY_LICENSE_DURATION_REMAINING]));
|
|
|
|
|
EXPECT_EQ(10, std::stoll(query_info[QUERY_KEY_LICENSE_DURATION_REMAINING]));
|
|
|
|
|
EXPECT_EQ(LLONG_MAX,
|
|
|
|
|
ParseInt(query_info[QUERY_KEY_PLAYBACK_DURATION_REMAINING]));
|
|
|
|
|
std::stoll(query_info[QUERY_KEY_PLAYBACK_DURATION_REMAINING]));
|
|
|
|
|
EXPECT_EQ(kRenewalServerUrl, query_info[QUERY_KEY_RENEWAL_SERVER_URL]);
|
|
|
|
|
|
|
|
|
|
policy_engine_->OnTimerEvent();
|
|
|
|
|
@@ -2549,9 +2542,9 @@ TEST_F(PolicyEngineQueryTest, QuerySuccess_PlaybackAndRental0) {
|
|
|
|
|
EXPECT_EQ(QUERY_VALUE_FALSE, query_info[QUERY_KEY_PERSIST_ALLOWED]);
|
|
|
|
|
EXPECT_EQ(QUERY_VALUE_TRUE, query_info[QUERY_KEY_RENEW_ALLOWED]);
|
|
|
|
|
|
|
|
|
|
EXPECT_EQ(0, ParseInt(query_info[QUERY_KEY_LICENSE_DURATION_REMAINING]));
|
|
|
|
|
EXPECT_EQ(0, std::stoll(query_info[QUERY_KEY_LICENSE_DURATION_REMAINING]));
|
|
|
|
|
EXPECT_EQ(LLONG_MAX,
|
|
|
|
|
ParseInt(query_info[QUERY_KEY_PLAYBACK_DURATION_REMAINING]));
|
|
|
|
|
std::stoll(query_info[QUERY_KEY_PLAYBACK_DURATION_REMAINING]));
|
|
|
|
|
EXPECT_EQ(kRenewalServerUrl, query_info[QUERY_KEY_RENEWAL_SERVER_URL]);
|
|
|
|
|
}
|
|
|
|
|
|
|
|
|
|
@@ -2588,9 +2581,9 @@ TEST_F(PolicyEngineQueryTest, QuerySuccess_PlaybackAndLicense0_WithoutPlayback)
|
|
|
|
|
EXPECT_EQ(QUERY_VALUE_FALSE, query_info[QUERY_KEY_PERSIST_ALLOWED]);
|
|
|
|
|
EXPECT_EQ(QUERY_VALUE_TRUE, query_info[QUERY_KEY_RENEW_ALLOWED]);
|
|
|
|
|
|
|
|
|
|
EXPECT_EQ(10, ParseInt(query_info[QUERY_KEY_LICENSE_DURATION_REMAINING]));
|
|
|
|
|
EXPECT_EQ(10, std::stoll(query_info[QUERY_KEY_LICENSE_DURATION_REMAINING]));
|
|
|
|
|
EXPECT_EQ(LLONG_MAX,
|
|
|
|
|
ParseInt(query_info[QUERY_KEY_PLAYBACK_DURATION_REMAINING]));
|
|
|
|
|
std::stoll(query_info[QUERY_KEY_PLAYBACK_DURATION_REMAINING]));
|
|
|
|
|
EXPECT_EQ(kRenewalServerUrl, query_info[QUERY_KEY_RENEWAL_SERVER_URL]);
|
|
|
|
|
|
|
|
|
|
policy_engine_->OnTimerEvent();
|
|
|
|
|
@@ -2604,9 +2597,9 @@ TEST_F(PolicyEngineQueryTest, QuerySuccess_PlaybackAndLicense0_WithoutPlayback)
|
|
|
|
|
EXPECT_EQ(QUERY_VALUE_FALSE, query_info[QUERY_KEY_PERSIST_ALLOWED]);
|
|
|
|
|
EXPECT_EQ(QUERY_VALUE_TRUE, query_info[QUERY_KEY_RENEW_ALLOWED]);
|
|
|
|
|
|
|
|
|
|
EXPECT_EQ(0, ParseInt(query_info[QUERY_KEY_LICENSE_DURATION_REMAINING]));
|
|
|
|
|
EXPECT_EQ(0, std::stoll(query_info[QUERY_KEY_LICENSE_DURATION_REMAINING]));
|
|
|
|
|
EXPECT_EQ(LLONG_MAX,
|
|
|
|
|
ParseInt(query_info[QUERY_KEY_PLAYBACK_DURATION_REMAINING]));
|
|
|
|
|
std::stoll(query_info[QUERY_KEY_PLAYBACK_DURATION_REMAINING]));
|
|
|
|
|
EXPECT_EQ(kRenewalServerUrl, query_info[QUERY_KEY_RENEWAL_SERVER_URL]);
|
|
|
|
|
}
|
|
|
|
|
|
|
|
|
|
@@ -2642,9 +2635,9 @@ TEST_F(PolicyEngineQueryTest, QuerySuccess_PlaybackAndLicense0_WithPlayback) {
|
|
|
|
|
EXPECT_EQ(QUERY_VALUE_TRUE, query_info[QUERY_KEY_RENEW_ALLOWED]);
|
|
|
|
|
|
|
|
|
|
EXPECT_EQ(kRentalDuration - kPlaybackDuration + 10,
|
|
|
|
|
ParseInt(query_info[QUERY_KEY_LICENSE_DURATION_REMAINING]));
|
|
|
|
|
std::stoll(query_info[QUERY_KEY_LICENSE_DURATION_REMAINING]));
|
|
|
|
|
EXPECT_EQ(LLONG_MAX,
|
|
|
|
|
ParseInt(query_info[QUERY_KEY_PLAYBACK_DURATION_REMAINING]));
|
|
|
|
|
std::stoll(query_info[QUERY_KEY_PLAYBACK_DURATION_REMAINING]));
|
|
|
|
|
EXPECT_EQ(kRenewalServerUrl, query_info[QUERY_KEY_RENEWAL_SERVER_URL]);
|
|
|
|
|
|
|
|
|
|
policy_engine_->OnTimerEvent();
|
|
|
|
|
@@ -2659,9 +2652,9 @@ TEST_F(PolicyEngineQueryTest, QuerySuccess_PlaybackAndLicense0_WithPlayback) {
|
|
|
|
|
EXPECT_EQ(QUERY_VALUE_TRUE, query_info[QUERY_KEY_RENEW_ALLOWED]);
|
|
|
|
|
|
|
|
|
|
EXPECT_EQ(kRentalDuration - kPlaybackDuration - 10,
|
|
|
|
|
ParseInt(query_info[QUERY_KEY_LICENSE_DURATION_REMAINING]));
|
|
|
|
|
std::stoll(query_info[QUERY_KEY_LICENSE_DURATION_REMAINING]));
|
|
|
|
|
EXPECT_EQ(LLONG_MAX,
|
|
|
|
|
ParseInt(query_info[QUERY_KEY_PLAYBACK_DURATION_REMAINING]));
|
|
|
|
|
std::stoll(query_info[QUERY_KEY_PLAYBACK_DURATION_REMAINING]));
|
|
|
|
|
EXPECT_EQ(kRenewalServerUrl, query_info[QUERY_KEY_RENEWAL_SERVER_URL]);
|
|
|
|
|
|
|
|
|
|
policy_engine_->OnTimerEvent();
|
|
|
|
|
@@ -2675,9 +2668,9 @@ TEST_F(PolicyEngineQueryTest, QuerySuccess_PlaybackAndLicense0_WithPlayback) {
|
|
|
|
|
EXPECT_EQ(QUERY_VALUE_FALSE, query_info[QUERY_KEY_PERSIST_ALLOWED]);
|
|
|
|
|
EXPECT_EQ(QUERY_VALUE_TRUE, query_info[QUERY_KEY_RENEW_ALLOWED]);
|
|
|
|
|
|
|
|
|
|
EXPECT_EQ(0, ParseInt(query_info[QUERY_KEY_LICENSE_DURATION_REMAINING]));
|
|
|
|
|
EXPECT_EQ(0, std::stoll(query_info[QUERY_KEY_LICENSE_DURATION_REMAINING]));
|
|
|
|
|
EXPECT_EQ(LLONG_MAX,
|
|
|
|
|
ParseInt(query_info[QUERY_KEY_PLAYBACK_DURATION_REMAINING]));
|
|
|
|
|
std::stoll(query_info[QUERY_KEY_PLAYBACK_DURATION_REMAINING]));
|
|
|
|
|
EXPECT_EQ(kRenewalServerUrl, query_info[QUERY_KEY_RENEWAL_SERVER_URL]);
|
|
|
|
|
}
|
|
|
|
|
|
|
|
|
|
@@ -2709,9 +2702,9 @@ TEST_F(PolicyEngineQueryTest, QuerySuccess_RentalAndLicense0_WithoutPlayback) {
|
|
|
|
|
EXPECT_EQ(QUERY_VALUE_TRUE, query_info[QUERY_KEY_RENEW_ALLOWED]);
|
|
|
|
|
|
|
|
|
|
EXPECT_EQ(LLONG_MAX,
|
|
|
|
|
ParseInt(query_info[QUERY_KEY_LICENSE_DURATION_REMAINING]));
|
|
|
|
|
std::stoll(query_info[QUERY_KEY_LICENSE_DURATION_REMAINING]));
|
|
|
|
|
EXPECT_EQ(kPlaybackDuration,
|
|
|
|
|
ParseInt(query_info[QUERY_KEY_PLAYBACK_DURATION_REMAINING]));
|
|
|
|
|
std::stoll(query_info[QUERY_KEY_PLAYBACK_DURATION_REMAINING]));
|
|
|
|
|
EXPECT_EQ(kRenewalServerUrl, query_info[QUERY_KEY_RENEWAL_SERVER_URL]);
|
|
|
|
|
|
|
|
|
|
policy_engine_->OnTimerEvent();
|
|
|
|
|
@@ -2726,9 +2719,9 @@ TEST_F(PolicyEngineQueryTest, QuerySuccess_RentalAndLicense0_WithoutPlayback) {
|
|
|
|
|
EXPECT_EQ(QUERY_VALUE_TRUE, query_info[QUERY_KEY_RENEW_ALLOWED]);
|
|
|
|
|
|
|
|
|
|
EXPECT_EQ(LLONG_MAX,
|
|
|
|
|
ParseInt(query_info[QUERY_KEY_LICENSE_DURATION_REMAINING]));
|
|
|
|
|
std::stoll(query_info[QUERY_KEY_LICENSE_DURATION_REMAINING]));
|
|
|
|
|
EXPECT_EQ(kPlaybackDuration,
|
|
|
|
|
ParseInt(query_info[QUERY_KEY_PLAYBACK_DURATION_REMAINING]));
|
|
|
|
|
std::stoll(query_info[QUERY_KEY_PLAYBACK_DURATION_REMAINING]));
|
|
|
|
|
EXPECT_EQ(kRenewalServerUrl, query_info[QUERY_KEY_RENEWAL_SERVER_URL]);
|
|
|
|
|
}
|
|
|
|
|
|
|
|
|
|
@@ -2764,9 +2757,9 @@ TEST_F(PolicyEngineQueryTest, QuerySuccess_RentalAndLicense0_WithPlayback) {
|
|
|
|
|
EXPECT_EQ(QUERY_VALUE_TRUE, query_info[QUERY_KEY_RENEW_ALLOWED]);
|
|
|
|
|
|
|
|
|
|
EXPECT_EQ(LLONG_MAX,
|
|
|
|
|
ParseInt(query_info[QUERY_KEY_LICENSE_DURATION_REMAINING]));
|
|
|
|
|
std::stoll(query_info[QUERY_KEY_LICENSE_DURATION_REMAINING]));
|
|
|
|
|
EXPECT_EQ(kPlaybackDuration - 10,
|
|
|
|
|
ParseInt(query_info[QUERY_KEY_PLAYBACK_DURATION_REMAINING]));
|
|
|
|
|
std::stoll(query_info[QUERY_KEY_PLAYBACK_DURATION_REMAINING]));
|
|
|
|
|
EXPECT_EQ(kRenewalServerUrl, query_info[QUERY_KEY_RENEWAL_SERVER_URL]);
|
|
|
|
|
|
|
|
|
|
policy_engine_->OnTimerEvent();
|
|
|
|
|
@@ -2781,9 +2774,9 @@ TEST_F(PolicyEngineQueryTest, QuerySuccess_RentalAndLicense0_WithPlayback) {
|
|
|
|
|
EXPECT_EQ(QUERY_VALUE_TRUE, query_info[QUERY_KEY_RENEW_ALLOWED]);
|
|
|
|
|
|
|
|
|
|
EXPECT_EQ(LLONG_MAX,
|
|
|
|
|
ParseInt(query_info[QUERY_KEY_LICENSE_DURATION_REMAINING]));
|
|
|
|
|
std::stoll(query_info[QUERY_KEY_LICENSE_DURATION_REMAINING]));
|
|
|
|
|
EXPECT_EQ(10,
|
|
|
|
|
ParseInt(query_info[QUERY_KEY_PLAYBACK_DURATION_REMAINING]));
|
|
|
|
|
std::stoll(query_info[QUERY_KEY_PLAYBACK_DURATION_REMAINING]));
|
|
|
|
|
EXPECT_EQ(kRenewalServerUrl, query_info[QUERY_KEY_RENEWAL_SERVER_URL]);
|
|
|
|
|
|
|
|
|
|
policy_engine_->OnTimerEvent();
|
|
|
|
|
@@ -2798,9 +2791,9 @@ TEST_F(PolicyEngineQueryTest, QuerySuccess_RentalAndLicense0_WithPlayback) {
|
|
|
|
|
EXPECT_EQ(QUERY_VALUE_TRUE, query_info[QUERY_KEY_RENEW_ALLOWED]);
|
|
|
|
|
|
|
|
|
|
EXPECT_EQ(0,
|
|
|
|
|
ParseInt(query_info[QUERY_KEY_LICENSE_DURATION_REMAINING]));
|
|
|
|
|
std::stoll(query_info[QUERY_KEY_LICENSE_DURATION_REMAINING]));
|
|
|
|
|
EXPECT_EQ(0,
|
|
|
|
|
ParseInt(query_info[QUERY_KEY_PLAYBACK_DURATION_REMAINING]));
|
|
|
|
|
std::stoll(query_info[QUERY_KEY_PLAYBACK_DURATION_REMAINING]));
|
|
|
|
|
EXPECT_EQ(kRenewalServerUrl, query_info[QUERY_KEY_RENEWAL_SERVER_URL]);
|
|
|
|
|
}
|
|
|
|
|
|
|
|
|
|
@@ -2841,9 +2834,9 @@ TEST_F(PolicyEngineQueryTest, QuerySuccess_Durations0) {
|
|
|
|
|
EXPECT_EQ(QUERY_VALUE_TRUE, query_info[QUERY_KEY_RENEW_ALLOWED]);
|
|
|
|
|
|
|
|
|
|
EXPECT_EQ(LLONG_MAX,
|
|
|
|
|
ParseInt(query_info[QUERY_KEY_LICENSE_DURATION_REMAINING]));
|
|
|
|
|
std::stoll(query_info[QUERY_KEY_LICENSE_DURATION_REMAINING]));
|
|
|
|
|
EXPECT_EQ(LLONG_MAX,
|
|
|
|
|
ParseInt(query_info[QUERY_KEY_PLAYBACK_DURATION_REMAINING]));
|
|
|
|
|
std::stoll(query_info[QUERY_KEY_PLAYBACK_DURATION_REMAINING]));
|
|
|
|
|
EXPECT_EQ(kRenewalServerUrl, query_info[QUERY_KEY_RENEWAL_SERVER_URL]);
|
|
|
|
|
}
|
|
|
|
|
|
|
|
|
|
@@ -2874,9 +2867,9 @@ TEST_F(PolicyEngineQueryTest, QuerySuccess_LicenseWithFutureStartTime) {
|
|
|
|
|
EXPECT_EQ(QUERY_VALUE_TRUE, query_info[QUERY_KEY_RENEW_ALLOWED]);
|
|
|
|
|
|
|
|
|
|
EXPECT_EQ(kLowDuration,
|
|
|
|
|
ParseInt(query_info[QUERY_KEY_LICENSE_DURATION_REMAINING]));
|
|
|
|
|
std::stoll(query_info[QUERY_KEY_LICENSE_DURATION_REMAINING]));
|
|
|
|
|
EXPECT_EQ(kPlaybackDuration,
|
|
|
|
|
ParseInt(query_info[QUERY_KEY_PLAYBACK_DURATION_REMAINING]));
|
|
|
|
|
std::stoll(query_info[QUERY_KEY_PLAYBACK_DURATION_REMAINING]));
|
|
|
|
|
EXPECT_EQ(kRenewalServerUrl, query_info[QUERY_KEY_RENEWAL_SERVER_URL]);
|
|
|
|
|
|
|
|
|
|
EXPECT_FALSE(policy_engine_->CanDecryptContent(kKeyId));
|
|
|
|
|
@@ -2892,9 +2885,9 @@ TEST_F(PolicyEngineQueryTest, QuerySuccess_LicenseWithFutureStartTime) {
|
|
|
|
|
EXPECT_EQ(QUERY_VALUE_TRUE, query_info[QUERY_KEY_RENEW_ALLOWED]);
|
|
|
|
|
|
|
|
|
|
EXPECT_EQ(kLowDuration - 25,
|
|
|
|
|
ParseInt(query_info[QUERY_KEY_LICENSE_DURATION_REMAINING]));
|
|
|
|
|
std::stoll(query_info[QUERY_KEY_LICENSE_DURATION_REMAINING]));
|
|
|
|
|
EXPECT_EQ(kPlaybackDuration - 15,
|
|
|
|
|
ParseInt(query_info[QUERY_KEY_PLAYBACK_DURATION_REMAINING]));
|
|
|
|
|
std::stoll(query_info[QUERY_KEY_PLAYBACK_DURATION_REMAINING]));
|
|
|
|
|
EXPECT_EQ(kRenewalServerUrl, query_info[QUERY_KEY_RENEWAL_SERVER_URL]);
|
|
|
|
|
}
|
|
|
|
|
|
|
|
|
|
@@ -2945,10 +2938,10 @@ TEST_F(PolicyEngineQueryTest, QuerySuccess_Renew) {
|
|
|
|
|
EXPECT_EQ(QUERY_VALUE_TRUE, query_info[QUERY_KEY_RENEW_ALLOWED]);
|
|
|
|
|
|
|
|
|
|
EXPECT_EQ(kLowDuration - kLicenseRenewalRetryInterval,
|
|
|
|
|
ParseInt(query_info[QUERY_KEY_LICENSE_DURATION_REMAINING]));
|
|
|
|
|
std::stoll(query_info[QUERY_KEY_LICENSE_DURATION_REMAINING]));
|
|
|
|
|
EXPECT_EQ(kPlaybackDuration + 5 - license_renewal_delay -
|
|
|
|
|
kLicenseRenewalRetryInterval - 15,
|
|
|
|
|
ParseInt(query_info[QUERY_KEY_PLAYBACK_DURATION_REMAINING]));
|
|
|
|
|
std::stoll(query_info[QUERY_KEY_PLAYBACK_DURATION_REMAINING]));
|
|
|
|
|
EXPECT_EQ(kRenewalServerUrl, query_info[QUERY_KEY_RENEWAL_SERVER_URL]);
|
|
|
|
|
}
|
|
|
|
|
|
|
|
|
|
@@ -3003,10 +2996,10 @@ TEST_F(PolicyEngineQueryTest, QuerySuccess_RenewWithFutureStartTime) {
|
|
|
|
|
EXPECT_EQ(QUERY_VALUE_TRUE, query_info[QUERY_KEY_RENEW_ALLOWED]);
|
|
|
|
|
|
|
|
|
|
EXPECT_EQ(kLowDuration,
|
|
|
|
|
ParseInt(query_info[QUERY_KEY_LICENSE_DURATION_REMAINING]));
|
|
|
|
|
std::stoll(query_info[QUERY_KEY_LICENSE_DURATION_REMAINING]));
|
|
|
|
|
EXPECT_EQ(kPlaybackDuration + 5 - license_renewal_delay -
|
|
|
|
|
kLicenseRenewalRetryInterval - 20,
|
|
|
|
|
ParseInt(query_info[QUERY_KEY_PLAYBACK_DURATION_REMAINING]));
|
|
|
|
|
std::stoll(query_info[QUERY_KEY_PLAYBACK_DURATION_REMAINING]));
|
|
|
|
|
EXPECT_EQ(kRenewalServerUrl, query_info[QUERY_KEY_RENEWAL_SERVER_URL]);
|
|
|
|
|
|
|
|
|
|
policy_engine_->OnTimerEvent();
|
|
|
|
|
@@ -3019,10 +3012,10 @@ TEST_F(PolicyEngineQueryTest, QuerySuccess_RenewWithFutureStartTime) {
|
|
|
|
|
EXPECT_EQ(QUERY_VALUE_TRUE, query_info[QUERY_KEY_RENEW_ALLOWED]);
|
|
|
|
|
|
|
|
|
|
EXPECT_EQ(kLowDuration - 20,
|
|
|
|
|
ParseInt(query_info[QUERY_KEY_LICENSE_DURATION_REMAINING]));
|
|
|
|
|
std::stoll(query_info[QUERY_KEY_LICENSE_DURATION_REMAINING]));
|
|
|
|
|
EXPECT_EQ(kPlaybackDuration + 5 - license_renewal_delay -
|
|
|
|
|
kLicenseRenewalRetryInterval - 40,
|
|
|
|
|
ParseInt(query_info[QUERY_KEY_PLAYBACK_DURATION_REMAINING]));
|
|
|
|
|
std::stoll(query_info[QUERY_KEY_PLAYBACK_DURATION_REMAINING]));
|
|
|
|
|
EXPECT_EQ(kRenewalServerUrl, query_info[QUERY_KEY_RENEWAL_SERVER_URL]);
|
|
|
|
|
}
|
|
|
|
|
|
|
|
|
|
|