| OLD | NEW |
| 1 // Copyright 2017 The Chromium Authors. All rights reserved. | 1 // Copyright 2017 The Chromium Authors. All rights reserved. |
| 2 // Use of this source code is governed by a BSD-style license that can be | 2 // Use of this source code is governed by a BSD-style license that can be |
| 3 // found in the LICENSE file. | 3 // found in the LICENSE file. |
| 4 | 4 |
| 5 #include "net/reporting/reporting_cache.h" | 5 #include "net/reporting/reporting_cache.h" |
| 6 | 6 |
| 7 #include <string> | 7 #include <string> |
| 8 | 8 |
| 9 #include "base/memory/ptr_util.h" | 9 #include "base/memory/ptr_util.h" |
| 10 #include "base/strings/stringprintf.h" | 10 #include "base/strings/stringprintf.h" |
| (...skipping 90 matching lines...) Expand 10 before | Expand all | Expand 10 after Loading... |
| 101 | 101 |
| 102 cache()->IncrementReportsAttempts(reports); | 102 cache()->IncrementReportsAttempts(reports); |
| 103 EXPECT_EQ(2, observer()->cache_update_count()); | 103 EXPECT_EQ(2, observer()->cache_update_count()); |
| 104 | 104 |
| 105 cache()->GetReports(&reports); | 105 cache()->GetReports(&reports); |
| 106 ASSERT_EQ(1u, reports.size()); | 106 ASSERT_EQ(1u, reports.size()); |
| 107 report = reports[0]; | 107 report = reports[0]; |
| 108 ASSERT_TRUE(report); | 108 ASSERT_TRUE(report); |
| 109 EXPECT_EQ(1, report->attempts); | 109 EXPECT_EQ(1, report->attempts); |
| 110 | 110 |
| 111 cache()->RemoveReports(reports); | 111 cache()->RemoveReports(reports, ReportingReport::Outcome::UNKNOWN); |
| 112 EXPECT_EQ(3, observer()->cache_update_count()); | 112 EXPECT_EQ(3, observer()->cache_update_count()); |
| 113 | 113 |
| 114 cache()->GetReports(&reports); | 114 cache()->GetReports(&reports); |
| 115 EXPECT_TRUE(reports.empty()); | 115 EXPECT_TRUE(reports.empty()); |
| 116 } | 116 } |
| 117 | 117 |
| 118 TEST_F(ReportingCacheTest, RemoveAllReports) { | 118 TEST_F(ReportingCacheTest, RemoveAllReports) { |
| 119 cache()->AddReport(kUrl1_, kGroup1_, kType_, | 119 cache()->AddReport(kUrl1_, kGroup1_, kType_, |
| 120 base::MakeUnique<base::DictionaryValue>(), kNow_, 0); | 120 base::MakeUnique<base::DictionaryValue>(), kNow_, 0); |
| 121 cache()->AddReport(kUrl1_, kGroup1_, kType_, | 121 cache()->AddReport(kUrl1_, kGroup1_, kType_, |
| 122 base::MakeUnique<base::DictionaryValue>(), kNow_, 0); | 122 base::MakeUnique<base::DictionaryValue>(), kNow_, 0); |
| 123 EXPECT_EQ(2, observer()->cache_update_count()); | 123 EXPECT_EQ(2, observer()->cache_update_count()); |
| 124 | 124 |
| 125 std::vector<const ReportingReport*> reports; | 125 std::vector<const ReportingReport*> reports; |
| 126 cache()->GetReports(&reports); | 126 cache()->GetReports(&reports); |
| 127 EXPECT_EQ(2u, reports.size()); | 127 EXPECT_EQ(2u, reports.size()); |
| 128 | 128 |
| 129 cache()->RemoveAllReports(); | 129 cache()->RemoveAllReports(ReportingReport::Outcome::UNKNOWN); |
| 130 EXPECT_EQ(3, observer()->cache_update_count()); | 130 EXPECT_EQ(3, observer()->cache_update_count()); |
| 131 | 131 |
| 132 cache()->GetReports(&reports); | 132 cache()->GetReports(&reports); |
| 133 EXPECT_TRUE(reports.empty()); | 133 EXPECT_TRUE(reports.empty()); |
| 134 } | 134 } |
| 135 | 135 |
| 136 TEST_F(ReportingCacheTest, RemovePendingReports) { | 136 TEST_F(ReportingCacheTest, RemovePendingReports) { |
| 137 cache()->AddReport(kUrl1_, kGroup1_, kType_, | 137 cache()->AddReport(kUrl1_, kGroup1_, kType_, |
| 138 base::MakeUnique<base::DictionaryValue>(), kNow_, 0); | 138 base::MakeUnique<base::DictionaryValue>(), kNow_, 0); |
| 139 EXPECT_EQ(1, observer()->cache_update_count()); | 139 EXPECT_EQ(1, observer()->cache_update_count()); |
| 140 | 140 |
| 141 std::vector<const ReportingReport*> reports; | 141 std::vector<const ReportingReport*> reports; |
| 142 cache()->GetReports(&reports); | 142 cache()->GetReports(&reports); |
| 143 ASSERT_EQ(1u, reports.size()); | 143 ASSERT_EQ(1u, reports.size()); |
| 144 EXPECT_FALSE(cache()->IsReportPendingForTesting(reports[0])); | 144 EXPECT_FALSE(cache()->IsReportPendingForTesting(reports[0])); |
| 145 EXPECT_FALSE(cache()->IsReportDoomedForTesting(reports[0])); | 145 EXPECT_FALSE(cache()->IsReportDoomedForTesting(reports[0])); |
| 146 | 146 |
| 147 cache()->SetReportsPending(reports); | 147 cache()->SetReportsPending(reports); |
| 148 EXPECT_TRUE(cache()->IsReportPendingForTesting(reports[0])); | 148 EXPECT_TRUE(cache()->IsReportPendingForTesting(reports[0])); |
| 149 EXPECT_FALSE(cache()->IsReportDoomedForTesting(reports[0])); | 149 EXPECT_FALSE(cache()->IsReportDoomedForTesting(reports[0])); |
| 150 | 150 |
| 151 cache()->RemoveReports(reports); | 151 cache()->RemoveReports(reports, ReportingReport::Outcome::UNKNOWN); |
| 152 EXPECT_TRUE(cache()->IsReportPendingForTesting(reports[0])); | 152 EXPECT_TRUE(cache()->IsReportPendingForTesting(reports[0])); |
| 153 EXPECT_TRUE(cache()->IsReportDoomedForTesting(reports[0])); | 153 EXPECT_TRUE(cache()->IsReportDoomedForTesting(reports[0])); |
| 154 EXPECT_EQ(2, observer()->cache_update_count()); | 154 EXPECT_EQ(2, observer()->cache_update_count()); |
| 155 | 155 |
| 156 // After removing report, future calls to GetReports should not return it. | 156 // After removing report, future calls to GetReports should not return it. |
| 157 std::vector<const ReportingReport*> visible_reports; | 157 std::vector<const ReportingReport*> visible_reports; |
| 158 cache()->GetReports(&visible_reports); | 158 cache()->GetReports(&visible_reports); |
| 159 EXPECT_TRUE(visible_reports.empty()); | 159 EXPECT_TRUE(visible_reports.empty()); |
| 160 EXPECT_EQ(1u, cache()->GetFullReportCountForTesting()); | 160 EXPECT_EQ(1u, cache()->GetFullReportCountForTesting()); |
| 161 | 161 |
| (...skipping 10 matching lines...) Expand all Loading... |
| 172 std::vector<const ReportingReport*> reports; | 172 std::vector<const ReportingReport*> reports; |
| 173 cache()->GetReports(&reports); | 173 cache()->GetReports(&reports); |
| 174 ASSERT_EQ(1u, reports.size()); | 174 ASSERT_EQ(1u, reports.size()); |
| 175 EXPECT_FALSE(cache()->IsReportPendingForTesting(reports[0])); | 175 EXPECT_FALSE(cache()->IsReportPendingForTesting(reports[0])); |
| 176 EXPECT_FALSE(cache()->IsReportDoomedForTesting(reports[0])); | 176 EXPECT_FALSE(cache()->IsReportDoomedForTesting(reports[0])); |
| 177 | 177 |
| 178 cache()->SetReportsPending(reports); | 178 cache()->SetReportsPending(reports); |
| 179 EXPECT_TRUE(cache()->IsReportPendingForTesting(reports[0])); | 179 EXPECT_TRUE(cache()->IsReportPendingForTesting(reports[0])); |
| 180 EXPECT_FALSE(cache()->IsReportDoomedForTesting(reports[0])); | 180 EXPECT_FALSE(cache()->IsReportDoomedForTesting(reports[0])); |
| 181 | 181 |
| 182 cache()->RemoveAllReports(); | 182 cache()->RemoveAllReports(ReportingReport::Outcome::UNKNOWN); |
| 183 EXPECT_TRUE(cache()->IsReportPendingForTesting(reports[0])); | 183 EXPECT_TRUE(cache()->IsReportPendingForTesting(reports[0])); |
| 184 EXPECT_TRUE(cache()->IsReportDoomedForTesting(reports[0])); | 184 EXPECT_TRUE(cache()->IsReportDoomedForTesting(reports[0])); |
| 185 EXPECT_EQ(2, observer()->cache_update_count()); | 185 EXPECT_EQ(2, observer()->cache_update_count()); |
| 186 | 186 |
| 187 // After removing report, future calls to GetReports should not return it. | 187 // After removing report, future calls to GetReports should not return it. |
| 188 std::vector<const ReportingReport*> visible_reports; | 188 std::vector<const ReportingReport*> visible_reports; |
| 189 cache()->GetReports(&visible_reports); | 189 cache()->GetReports(&visible_reports); |
| 190 EXPECT_TRUE(visible_reports.empty()); | 190 EXPECT_TRUE(visible_reports.empty()); |
| 191 EXPECT_EQ(1u, cache()->GetFullReportCountForTesting()); | 191 EXPECT_EQ(1u, cache()->GetFullReportCountForTesting()); |
| 192 | 192 |
| (...skipping 340 matching lines...) Expand 10 before | Expand all | Expand 10 after Loading... |
| 533 cache()->SetClient(kOrigin1_, MakeEndpoint(max_client_count), | 533 cache()->SetClient(kOrigin1_, MakeEndpoint(max_client_count), |
| 534 ReportingClient::Subdomains::EXCLUDE, kGroup1_, | 534 ReportingClient::Subdomains::EXCLUDE, kGroup1_, |
| 535 tomorrow()); | 535 tomorrow()); |
| 536 EXPECT_EQ(max_client_count, client_count()); | 536 EXPECT_EQ(max_client_count, client_count()); |
| 537 EXPECT_FALSE(FindClientInCache(cache(), kOrigin1_, | 537 EXPECT_FALSE(FindClientInCache(cache(), kOrigin1_, |
| 538 MakeEndpoint(max_client_count - 1))); | 538 MakeEndpoint(max_client_count - 1))); |
| 539 } | 539 } |
| 540 | 540 |
| 541 } // namespace | 541 } // namespace |
| 542 } // namespace net | 542 } // namespace net |
| OLD | NEW |