Chromium Code Reviews
chromiumcodereview-hr@appspot.gserviceaccount.com (chromiumcodereview-hr) | Please choose your nickname with Settings | Help | Chromium Project | Gerrit Changes | Sign out
(586)

Side by Side Diff: chrome/browser/safe_browsing/incident_reporting/incident_reporting_service_unittest.cc

Issue 1243293003: Platform-specific prune state storage. (Closed) Base URL: https://chromium.googlesource.com/chromium/src.git@prune1
Patch Set: moved uninstall cleanup to separate cl Created 5 years, 3 months ago
Use n/p to move between diff chunks; N/P to move between comments. Draft comments are only viewable by you.
Jump to:
View unified diff | Download patch
OLDNEW
1 // Copyright 2014 The Chromium Authors. All rights reserved. 1 // Copyright 2014 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 "chrome/browser/safe_browsing/incident_reporting/incident_reporting_ser vice.h" 5 #include "chrome/browser/safe_browsing/incident_reporting/incident_reporting_ser vice.h"
6 6
7 #include <map> 7 #include <map>
8 #include <string> 8 #include <string>
9 9
10 #include "base/bind.h" 10 #include "base/bind.h"
(...skipping 12 matching lines...) Expand all
23 #include "chrome/browser/safe_browsing/incident_reporting/tracked_preference_inc ident.h" 23 #include "chrome/browser/safe_browsing/incident_reporting/tracked_preference_inc ident.h"
24 #include "chrome/common/pref_names.h" 24 #include "chrome/common/pref_names.h"
25 #include "chrome/common/safe_browsing/csd.pb.h" 25 #include "chrome/common/safe_browsing/csd.pb.h"
26 #include "chrome/test/base/testing_browser_process.h" 26 #include "chrome/test/base/testing_browser_process.h"
27 #include "chrome/test/base/testing_pref_service_syncable.h" 27 #include "chrome/test/base/testing_pref_service_syncable.h"
28 #include "chrome/test/base/testing_profile.h" 28 #include "chrome/test/base/testing_profile.h"
29 #include "chrome/test/base/testing_profile_manager.h" 29 #include "chrome/test/base/testing_profile_manager.h"
30 #include "net/url_request/url_request_context_getter.h" 30 #include "net/url_request/url_request_context_getter.h"
31 #include "testing/gtest/include/gtest/gtest.h" 31 #include "testing/gtest/include/gtest/gtest.h"
32 32
33 #if defined(OS_WIN)
34 #include "base/test/test_reg_util_win.h"
35 #endif
36
33 // A test fixture that sets up a test task runner and makes it the thread's 37 // A test fixture that sets up a test task runner and makes it the thread's
34 // runner. The fixture implements a fake envrionment data collector and a fake 38 // runner. The fixture implements a fake envrionment data collector and a fake
35 // report uploader. 39 // report uploader.
36 class IncidentReportingServiceTest : public testing::Test { 40 class IncidentReportingServiceTest : public testing::Test {
37 protected: 41 protected:
38 // An IRS class that allows a test harness to provide a fake environment 42 // An IRS class that allows a test harness to provide a fake environment
39 // collector and report uploader via callbacks. 43 // collector and report uploader via callbacks.
40 class TestIncidentReportingService 44 class TestIncidentReportingService
41 : public safe_browsing::IncidentReportingService { 45 : public safe_browsing::IncidentReportingService {
42 public: 46 public:
(...skipping 130 matching lines...) Expand 10 before | Expand all | Expand 10 after
173 on_delayed_analysis_action_(ON_DELAYED_ANALYSIS_NO_ACTION), 177 on_delayed_analysis_action_(ON_DELAYED_ANALYSIS_NO_ACTION),
174 upload_result_(safe_browsing::IncidentReportUploader::UPLOAD_SUCCESS), 178 upload_result_(safe_browsing::IncidentReportUploader::UPLOAD_SUCCESS),
175 environment_collected_(), 179 environment_collected_(),
176 download_finder_created_(), 180 download_finder_created_(),
177 download_finder_destroyed_(), 181 download_finder_destroyed_(),
178 uploader_destroyed_(), 182 uploader_destroyed_(),
179 delayed_analysis_ran_() {} 183 delayed_analysis_ran_() {}
180 184
181 void SetUp() override { 185 void SetUp() override {
182 testing::Test::SetUp(); 186 testing::Test::SetUp();
187 #if defined(OS_WIN)
188 // Redirect HKCU so that the platform state store used by the test doesn't
189 // collide with existing Chrome installs or other tests running in parallel.
190 registry_override_manager_.OverrideRegistry(HKEY_CURRENT_USER);
191 #endif
183 ASSERT_TRUE(profile_manager_.SetUp()); 192 ASSERT_TRUE(profile_manager_.SetUp());
184 } 193 }
185 194
186 // Sets the action to be taken by the test fixture when the service creates a 195 // Sets the action to be taken by the test fixture when the service creates a
187 // LastDownloadFinder. 196 // LastDownloadFinder.
188 void SetCreateDownloadFinderAction(OnCreateDownloadFinderAction action) { 197 void SetCreateDownloadFinderAction(OnCreateDownloadFinderAction action) {
189 on_create_download_finder_action_ = action; 198 on_create_download_finder_action_ = action;
190 } 199 }
191 200
192 // Creates and returns a profile (owned by the profile manager) with or 201 // Creates and returns a profile (owned by the profile manager) with or
(...skipping 271 matching lines...) Expand 10 before | Expand all | Expand 10 after
464 473
465 void OnDownloadFinderDestroyed() { download_finder_destroyed_ = true; } 474 void OnDownloadFinderDestroyed() { download_finder_destroyed_ = true; }
466 void OnUploaderDestroyed() { uploader_destroyed_ = true; } 475 void OnUploaderDestroyed() { uploader_destroyed_ = true; }
467 476
468 void OnDelayedAnalysis(scoped_ptr<safe_browsing::IncidentReceiver> receiver) { 477 void OnDelayedAnalysis(scoped_ptr<safe_browsing::IncidentReceiver> receiver) {
469 delayed_analysis_ran_ = true; 478 delayed_analysis_ran_ = true;
470 if (on_delayed_analysis_action_ == ON_DELAYED_ANALYSIS_ADD_INCIDENT) 479 if (on_delayed_analysis_action_ == ON_DELAYED_ANALYSIS_ADD_INCIDENT)
471 receiver->AddIncidentForProcess(MakeTestIncident(nullptr)); 480 receiver->AddIncidentForProcess(MakeTestIncident(nullptr));
472 } 481 }
473 482
483 #if defined(OS_WIN)
484 registry_util::RegistryOverrideManager registry_override_manager_;
485 #endif
486
474 // A mapping of profile name to its corresponding properties. 487 // A mapping of profile name to its corresponding properties.
475 std::map<std::string, ProfileProperties> profile_properties_; 488 std::map<std::string, ProfileProperties> profile_properties_;
476 }; 489 };
477 490
478 // static 491 // static
479 base::LazyInstance<base::ThreadLocalPointer< 492 base::LazyInstance<base::ThreadLocalPointer<
480 IncidentReportingServiceTest::TestIncidentReportingService> >::Leaky 493 IncidentReportingServiceTest::TestIncidentReportingService> >::Leaky
481 IncidentReportingServiceTest::TestIncidentReportingService::test_instance_ = 494 IncidentReportingServiceTest::TestIncidentReportingService::test_instance_ =
482 LAZY_INSTANCE_INITIALIZER; 495 LAZY_INSTANCE_INITIALIZER;
483 496
(...skipping 581 matching lines...) Expand 10 before | Expand all | Expand 10 after
1065 ASSERT_FALSE(new_state->HasKey(omnibox_type)); 1078 ASSERT_FALSE(new_state->HasKey(omnibox_type));
1066 // But other data must be untouched. 1079 // But other data must be untouched.
1067 ASSERT_TRUE(new_state->HasKey(preference_type)); 1080 ASSERT_TRUE(new_state->HasKey(preference_type));
1068 } 1081 }
1069 1082
1070 // Parallel uploads 1083 // Parallel uploads
1071 // Shutdown during processing 1084 // Shutdown during processing
1072 // environment colection taking longer than incident delay timer 1085 // environment colection taking longer than incident delay timer
1073 // environment colection taking longer than incident delay timer, and then 1086 // environment colection taking longer than incident delay timer, and then
1074 // another incident arriving 1087 // another incident arriving
OLDNEW

Powered by Google App Engine
This is Rietveld 408576698