| OLD | NEW |
| (Empty) |
| 1 // Copyright 2016 The Chromium Authors. All rights reserved. | |
| 2 // Use of this source code is governed by a BSD-style license that can be | |
| 3 // found in the LICENSE file. | |
| 4 | |
| 5 #include "components/offline_pages/background/request_coordinator_event_logger.h
" | |
| 6 | |
| 7 #include "testing/gtest/include/gtest/gtest.h" | |
| 8 | |
| 9 namespace offline_pages { | |
| 10 | |
| 11 namespace { | |
| 12 | |
| 13 const char kNamespace[] = "last_n"; | |
| 14 const Offliner::RequestStatus kOfflinerStatus = Offliner::SAVED; | |
| 15 const RequestNotifier::BackgroundSavePageResult kDroppedResult = | |
| 16 RequestNotifier::BackgroundSavePageResult::START_COUNT_EXCEEDED; | |
| 17 const int64_t kId = 1234; | |
| 18 const UpdateRequestResult kQueueUpdateResult = | |
| 19 UpdateRequestResult::STORE_FAILURE; | |
| 20 | |
| 21 const char kOfflinerStatusLogString[] = | |
| 22 "Background save attempt for last_n:1234 - SAVED"; | |
| 23 const char kDroppedResultLogString[] = | |
| 24 "Background save request removed last_n:1234 - START_COUNT_EXCEEDED"; | |
| 25 const char kQueueUpdateResultLogString[] = | |
| 26 "Updating queued request for last_n failed - STORE_FAILURE"; | |
| 27 const int kTimeLength = 21; | |
| 28 | |
| 29 } // namespace | |
| 30 | |
| 31 TEST(RequestCoordinatorEventLoggerTest, RecordsWhenLoggingIsOn) { | |
| 32 RequestCoordinatorEventLogger logger; | |
| 33 std::vector<std::string> log; | |
| 34 | |
| 35 logger.SetIsLogging(true); | |
| 36 logger.RecordOfflinerResult(kNamespace, kOfflinerStatus, kId); | |
| 37 logger.RecordDroppedSavePageRequest(kNamespace, kDroppedResult, kId); | |
| 38 logger.RecordUpdateRequestFailed(kNamespace, kQueueUpdateResult); | |
| 39 logger.GetLogs(&log); | |
| 40 | |
| 41 EXPECT_EQ(3u, log.size()); | |
| 42 EXPECT_EQ(std::string(kQueueUpdateResultLogString), | |
| 43 log[0].substr(kTimeLength)); | |
| 44 EXPECT_EQ(std::string(kDroppedResultLogString), log[1].substr(kTimeLength)); | |
| 45 EXPECT_EQ(std::string(kOfflinerStatusLogString), log[2].substr(kTimeLength)); | |
| 46 } | |
| 47 | |
| 48 TEST(RequestCoordinatorEventLoggerTest, RecordsWhenLoggingIsOff) { | |
| 49 RequestCoordinatorEventLogger logger; | |
| 50 std::vector<std::string> log; | |
| 51 | |
| 52 logger.SetIsLogging(false); | |
| 53 logger.RecordOfflinerResult(kNamespace, kOfflinerStatus, kId); | |
| 54 logger.GetLogs(&log); | |
| 55 | |
| 56 EXPECT_EQ(0u, log.size()); | |
| 57 } | |
| 58 | |
| 59 TEST(RequestCoordinatorEventLoggerTest, DoesNotExceedMaxSize) { | |
| 60 RequestCoordinatorEventLogger logger; | |
| 61 std::vector<std::string> log; | |
| 62 | |
| 63 logger.SetIsLogging(true); | |
| 64 for (size_t i = 0; i < kMaxLogCount + 1; ++i) { | |
| 65 logger.RecordOfflinerResult(kNamespace, kOfflinerStatus, kId); | |
| 66 } | |
| 67 logger.GetLogs(&log); | |
| 68 | |
| 69 EXPECT_EQ(kMaxLogCount, log.size()); | |
| 70 } | |
| 71 | |
| 72 } // namespace offline_pages | |
| OLD | NEW |