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

Unified Diff: chrome/browser/safe_browsing/incident_reporting/binary_integrity_analyzer_win_unittest.cc

Issue 891793002: Take a Profile when adding an incident to the incident reporting service. (Closed) Base URL: https://chromium.googlesource.com/chromium/src.git@master
Patch Set: this time Created 5 years, 11 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 side-by-side diff with in-line comments
Download patch
Index: chrome/browser/safe_browsing/incident_reporting/binary_integrity_analyzer_win_unittest.cc
diff --git a/chrome/browser/safe_browsing/incident_reporting/binary_integrity_analyzer_win_unittest.cc b/chrome/browser/safe_browsing/incident_reporting/binary_integrity_analyzer_win_unittest.cc
index 255117d31fb84361c22369f93fb0f189ca730098..ee931d79fe7a3a1e5b6dcea73bc41fc8bd78bd29 100644
--- a/chrome/browser/safe_browsing/incident_reporting/binary_integrity_analyzer_win_unittest.cc
+++ b/chrome/browser/safe_browsing/incident_reporting/binary_integrity_analyzer_win_unittest.cc
@@ -11,12 +11,16 @@
#include "base/path_service.h"
#include "base/test/scoped_path_override.h"
#include "chrome/browser/safe_browsing/incident_reporting/incident.h"
+#include "chrome/browser/safe_browsing/incident_reporting/mock_incident_receiver.h"
#include "chrome/common/chrome_paths.h"
#include "chrome/common/safe_browsing/csd.pb.h"
#include "testing/gmock/include/gmock/gmock.h"
#include "testing/gtest/include/gtest/gtest.h"
#include "version.h" // NOLINT
+using ::testing::_;
+using ::testing::StrictMock;
+
namespace safe_browsing {
namespace {
@@ -45,18 +49,13 @@ class BinaryIntegrityAnalyzerWinTest : public ::testing::Test {
public:
BinaryIntegrityAnalyzerWinTest();
- void OnAddIncident(scoped_ptr<Incident> incident);
-
protected:
- bool callback_called_;
base::FilePath test_data_dir_;
base::ScopedTempDir temp_dir_;
scoped_ptr<base::ScopedPathOverride> exe_dir_override_;
- scoped_ptr<Incident> incident_;
};
-BinaryIntegrityAnalyzerWinTest::BinaryIntegrityAnalyzerWinTest()
- : callback_called_(false) {
+BinaryIntegrityAnalyzerWinTest::BinaryIntegrityAnalyzerWinTest() {
temp_dir_.CreateUniqueTempDir();
base::CreateDirectory(temp_dir_.path().AppendASCII(CHROME_VERSION_STRING));
@@ -69,16 +68,6 @@ BinaryIntegrityAnalyzerWinTest::BinaryIntegrityAnalyzerWinTest()
new base::ScopedPathOverride(base::DIR_EXE, temp_dir_.path()));
}
-// Mock the AddIncidentCallback so we can test that VerifyBinaryIntegrity
-// adds an incident callback when a signature verification fails.
-void BinaryIntegrityAnalyzerWinTest::OnAddIncident(
- scoped_ptr<Incident> incident) {
- callback_called_ = true;
-
- // Take ownership of the incident so that the text fixture can inspect it.
- incident_ = incident.Pass();
-}
-
TEST_F(BinaryIntegrityAnalyzerWinTest, GetCriticalBinariesPath) {
// Expected paths.
std::vector<base::FilePath> critical_binaries_path_expected;
@@ -112,20 +101,22 @@ TEST_F(BinaryIntegrityAnalyzerWinTest, VerifyBinaryIntegrity) {
ASSERT_TRUE(base::CopyFile(signed_binary_path, chrome_elf_path));
- AddIncidentCallback callback = base::Bind(
- &BinaryIntegrityAnalyzerWinTest::OnAddIncident, base::Unretained(this));
-
- VerifyBinaryIntegrity(callback);
- ASSERT_FALSE(callback_called_);
+ scoped_ptr<MockIncidentReceiver> mock_receiver(
+ new StrictMock<MockIncidentReceiver>());
+ VerifyBinaryIntegrity(mock_receiver.Pass());
ASSERT_TRUE(EraseFileContent(chrome_elf_path));
- VerifyBinaryIntegrity(callback);
- ASSERT_TRUE(callback_called_);
+ mock_receiver.reset(new MockIncidentReceiver());
+ scoped_ptr<Incident> incident;
+ EXPECT_CALL(*mock_receiver, DoAddIncidentForProcess(_))
+ .WillOnce(TakeIncident(&incident));
+
+ VerifyBinaryIntegrity(mock_receiver.Pass());
// Verify that the incident report contains the expected data.
scoped_ptr<ClientIncidentReport_IncidentData> incident_data(
- incident_->TakePayload());
+ incident->TakePayload());
ASSERT_TRUE(incident_data->has_binary_integrity());
ASSERT_TRUE(incident_data->binary_integrity().has_file_basename());
ASSERT_EQ("chrome_elf.dll",

Powered by Google App Engine
This is Rietveld 408576698