1234567891011121314151617181920212223242526272829303132333435363738394041424344454647484950 |
- // Copyright 2019 The Chromium Authors. All rights reserved.
- // Use of this source code is governed by a BSD-style license that can be
- // found in the LICENSE file.
- #include "remoting/signaling/message_tracker.h"
- #include "base/test/task_environment.h"
- #include "testing/gtest/include/gtest/gtest.h"
- namespace remoting {
- class MessageTrackerTest : public testing::Test {
- public:
- protected:
- static constexpr base::TimeDelta GetCleanupInterval();
- base::test::TaskEnvironment task_environment_{
- base::test::TaskEnvironment::TimeSource::MOCK_TIME};
- MessageTracker message_tracker_;
- };
- // static
- constexpr base::TimeDelta MessageTrackerTest::GetCleanupInterval() {
- return MessageTracker::kCleanupInterval;
- }
- TEST_F(MessageTrackerTest, TestIsIdTracked_UntrackedIdReturnsTrue) {
- ASSERT_FALSE(message_tracker_.IsIdTracked("1"));
- }
- TEST_F(MessageTrackerTest, TrackIdOnce_IdIsTracked) {
- message_tracker_.TrackId("1");
- ASSERT_TRUE(message_tracker_.IsIdTracked("1"));
- }
- TEST_F(MessageTrackerTest, TrackIdAndAdvanceTimer_ExpiredIdNotRejected) {
- message_tracker_.TrackId("1");
- ASSERT_TRUE(message_tracker_.IsIdTracked("1"));
- task_environment_.FastForwardBy(GetCleanupInterval() * 2);
- ASSERT_FALSE(message_tracker_.IsIdTracked("1"));
- }
- TEST_F(MessageTrackerTest, TrackIdAndAdvanceTimer_NotExpiredIdRejected) {
- message_tracker_.TrackId("1");
- ASSERT_TRUE(message_tracker_.IsIdTracked("1"));
- task_environment_.FastForwardBy(GetCleanupInterval() / 2);
- ASSERT_TRUE(message_tracker_.IsIdTracked("1"));
- }
- } // namespace remoting
|