| // Copyright (c) 2012 The Chromium OS Authors. All rights reserved. |
| // Use of this source code is governed by a BSD-style license that can be |
| // found in the LICENSE file. |
| |
| // Unit tests for UsersOldestActivityTimestampCache. |
| |
| #include "cryptohome/user_oldest_activity_timestamp_cache.h" |
| |
| #include <base/logging.h> |
| #include <gtest/gtest.h> |
| |
| namespace { |
| const base::Time::Exploded feb1st2011_exploded = {2011, 2, 2, 1}; |
| const base::Time::Exploded mar1st2011_exploded = {2011, 3, 2, 1}; |
| } // namespace |
| |
| namespace cryptohome { |
| |
| TEST(UserOldestActivityTimestampCache, GetLastUserActivityTimestamp) { |
| base::Time time_feb1; |
| CHECK(base::Time::FromUTCExploded(feb1st2011_exploded, &time_feb1)); |
| base::Time time_mar1; |
| CHECK(base::Time::FromUTCExploded(mar1st2011_exploded, &time_mar1)); |
| |
| UserOldestActivityTimestampCache cache; |
| cache.Initialize(); |
| |
| cache.AddExistingUser("b", time_mar1); |
| EXPECT_EQ(cache.GetLastUserActivityTimestamp("b"), time_mar1); |
| |
| cache.AddExistingUser("c", time_feb1); |
| EXPECT_EQ(cache.GetLastUserActivityTimestamp("c"), time_feb1); |
| cache.UpdateExistingUser("c", time_mar1); |
| EXPECT_EQ(cache.GetLastUserActivityTimestamp("c"), time_mar1); |
| cache.RemoveUser("c"); |
| EXPECT_TRUE(cache.GetLastUserActivityTimestamp("c").is_null()); |
| } |
| |
| } // namespace cryptohome |