Merge "Updated integration test to handle unlimited license durations." into sc-dev
This commit is contained in:
@@ -4,6 +4,8 @@
|
|||||||
|
|
||||||
#include <errno.h>
|
#include <errno.h>
|
||||||
#include <getopt.h>
|
#include <getopt.h>
|
||||||
|
#include <limits.h>
|
||||||
|
|
||||||
#include <sstream>
|
#include <sstream>
|
||||||
|
|
||||||
#include <gmock/gmock.h>
|
#include <gmock/gmock.h>
|
||||||
@@ -43,6 +45,8 @@ const uint32_t kClockTolerance = 10;
|
|||||||
const uint32_t kMaxUsageTableSize = 50;
|
const uint32_t kMaxUsageTableSize = 50;
|
||||||
const std::string kEmptyServiceCertificate;
|
const std::string kEmptyServiceCertificate;
|
||||||
|
|
||||||
|
constexpr int64_t kUnlimitedDurationValue = LLONG_MAX;
|
||||||
|
|
||||||
// TODO(rfrias): refactor to print out the decryption test names
|
// TODO(rfrias): refactor to print out the decryption test names
|
||||||
struct SubSampleInfo {
|
struct SubSampleInfo {
|
||||||
bool retrieve_key;
|
bool retrieve_key;
|
||||||
@@ -1438,10 +1442,29 @@ TEST_P(WvCdmStreamingUsageReportTest, UsageTest) {
|
|||||||
QueryKeyStatus(true, false, &license_duration_remaining,
|
QueryKeyStatus(true, false, &license_duration_remaining,
|
||||||
&playback_duration_remaining);
|
&playback_duration_remaining);
|
||||||
|
|
||||||
EXPECT_NEAR(initial_license_duration_remaining - license_duration_remaining,
|
// For unlimited "rental durations", the "license duration" will
|
||||||
expected_seconds_since_license_received, kClockTolerance);
|
// effectively be unlimited. Remaining license duration in this
|
||||||
EXPECT_NEAR(initial_playback_duration_remaining - playback_duration_remaining,
|
// case is represented by |kUnlimitedDurationValue| and will not
|
||||||
expected_seconds_since_initial_playback, kClockTolerance);
|
// change over time.
|
||||||
|
if (initial_license_duration_remaining == kUnlimitedDurationValue) {
|
||||||
|
EXPECT_EQ(license_duration_remaining, kUnlimitedDurationValue);
|
||||||
|
} else {
|
||||||
|
EXPECT_NEAR(initial_license_duration_remaining - license_duration_remaining,
|
||||||
|
expected_seconds_since_license_received, kClockTolerance)
|
||||||
|
<< "initial_license_duration_remaining = "
|
||||||
|
<< initial_license_duration_remaining
|
||||||
|
<< ", license_duration_remaining = " << license_duration_remaining;
|
||||||
|
}
|
||||||
|
|
||||||
|
if (initial_playback_duration_remaining == kUnlimitedDurationValue) {
|
||||||
|
EXPECT_EQ(playback_duration_remaining, kUnlimitedDurationValue);
|
||||||
|
} else {
|
||||||
|
EXPECT_NEAR(initial_playback_duration_remaining - playback_duration_remaining,
|
||||||
|
expected_seconds_since_initial_playback, kClockTolerance)
|
||||||
|
<< "initial_playback_duration_remaining = "
|
||||||
|
<< initial_playback_duration_remaining
|
||||||
|
<< ", playback_duration_remaining = " << playback_duration_remaining;
|
||||||
|
}
|
||||||
|
|
||||||
decryptor_->CloseSession(session_id_);
|
decryptor_->CloseSession(session_id_);
|
||||||
|
|
||||||
|
|||||||
Reference in New Issue
Block a user