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

Side by Side Diff: chrome/browser/safe_browsing/client_side_detection_service_unittest.cc

Issue 173133004: Separate pre-classification checks for client-side malware and phishing (Closed) Base URL: svn://svn.chromium.org/chrome/trunk/src
Patch Set: Fix the service unit-test. Created 6 years, 9 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 | Annotate | Revision Log
OLDNEW
1 // Copyright (c) 2012 The Chromium Authors. All rights reserved. 1 // Copyright (c) 2012 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 <map> 5 #include <map>
6 #include <queue> 6 #include <queue>
7 #include <string> 7 #include <string>
8 8
9 #include "base/bind.h" 9 #include "base/bind.h"
10 #include "base/callback.h" 10 #include "base/callback.h"
(...skipping 454 matching lines...) Expand 10 before | Expand all | Expand 10 after
465 EXPECT_TRUE(SendClientReportMalwareRequest(url)); 465 EXPECT_TRUE(SendClientReportMalwareRequest(url));
466 CheckConfirmedMalwareUrl(GURL("http://response-bad.com/")); 466 CheckConfirmedMalwareUrl(GURL("http://response-bad.com/"));
467 467
468 // This request will fail 468 // This request will fail
469 response.set_blacklist(false); 469 response.set_blacklist(false);
470 SetClientReportMalwareResponse(response.SerializeAsString(), 470 SetClientReportMalwareResponse(response.SerializeAsString(),
471 net::HTTP_INTERNAL_SERVER_ERROR, 471 net::HTTP_INTERNAL_SERVER_ERROR,
472 net::URLRequestStatus::FAILED); 472 net::URLRequestStatus::FAILED);
473 EXPECT_FALSE(SendClientReportMalwareRequest(url)); 473 EXPECT_FALSE(SendClientReportMalwareRequest(url));
474 474
475 // server blacklist decision is false, and response is succesful 475 // Server blacklist decision is false, and response is successful
476 response.set_blacklist(false); 476 response.set_blacklist(false);
477 SetClientReportMalwareResponse(response.SerializeAsString(), net::HTTP_OK, 477 SetClientReportMalwareResponse(response.SerializeAsString(), net::HTTP_OK,
478 net::URLRequestStatus::SUCCESS); 478 net::URLRequestStatus::SUCCESS);
479 EXPECT_FALSE(SendClientReportMalwareRequest(url)); 479 EXPECT_FALSE(SendClientReportMalwareRequest(url));
480 480
481 // Check that we have recorded all 4 requests within the correct time range. 481 // Check that we have recorded all 5 requests within the correct time range.
482 base::Time after = base::Time::Now(); 482 base::Time after = base::Time::Now();
483 std::queue<base::Time>& report_times = GetMalwareReportTimes(); 483 std::queue<base::Time>& report_times = GetMalwareReportTimes();
484 EXPECT_EQ(4U, report_times.size()); 484 EXPECT_EQ(5U, report_times.size());
mattm 2014/03/18 02:19:06 changed from 4 to 5 because the limit is not enfor
noé 2014/03/20 17:01:45 The actual limit is checked below. In the host un
mattm 2014/03/20 22:51:40 I only see OverPhishingReportLimit tested in the h
noé 2014/03/21 00:08:38 You're right again. fixed.
485 485
486 // Another normal behavior will fail because of the limit is hit 486 // Check that the malware report limit was reached.
487 response.set_blacklist(true); 487 EXPECT_TRUE(csd_service_->OverMalwareReportLimit());
488 SetClientReportMalwareResponse(response.SerializeAsString(), net::HTTP_OK,
489 net::URLRequestStatus::SUCCESS);
490 EXPECT_FALSE(SendClientReportMalwareRequest(url));
491 488
492 report_times = GetMalwareReportTimes(); 489 report_times = GetMalwareReportTimes();
493 EXPECT_EQ(4U, report_times.size()); 490 EXPECT_EQ(5U, report_times.size());
494 while (!report_times.empty()) { 491 while (!report_times.empty()) {
495 base::Time time = report_times.back(); 492 base::Time time = report_times.back();
496 report_times.pop(); 493 report_times.pop();
497 EXPECT_LE(before, time); 494 EXPECT_LE(before, time);
498 EXPECT_GE(after, time); 495 EXPECT_GE(after, time);
499 } 496 }
500 } 497 }
501 498
502 TEST_F(ClientSideDetectionServiceTest, GetNumReportTest) { 499 TEST_F(ClientSideDetectionServiceTest, GetNumReportTest) {
503 SetModelFetchResponse("bogus model", net::HTTP_OK, 500 SetModelFetchResponse("bogus model", net::HTTP_OK,
(...skipping 194 matching lines...) Expand 10 before | Expand all | Expand 10 after
698 EXPECT_CALL(*service, ScheduleFetchModel(_)) 695 EXPECT_CALL(*service, ScheduleFetchModel(_))
699 .WillOnce(Invoke(service, &MockClientSideDetectionService::Schedule)); 696 .WillOnce(Invoke(service, &MockClientSideDetectionService::Schedule));
700 EXPECT_CALL(*service, EndFetchModel( 697 EXPECT_CALL(*service, EndFetchModel(
701 ClientSideDetectionService::MODEL_NOT_CHANGED)) 698 ClientSideDetectionService::MODEL_NOT_CHANGED))
702 .WillOnce(Invoke(service, &MockClientSideDetectionService::Disable)); 699 .WillOnce(Invoke(service, &MockClientSideDetectionService::Disable));
703 csd_service_->SetEnabledAndRefreshState(true); 700 csd_service_->SetEnabledAndRefreshState(true);
704 EXPECT_FALSE(SendClientReportPhishingRequest(GURL("http://a.com/"), 0.4f)); 701 EXPECT_FALSE(SendClientReportPhishingRequest(GURL("http://a.com/"), 0.4f));
705 Mock::VerifyAndClearExpectations(service); 702 Mock::VerifyAndClearExpectations(service);
706 } 703 }
707 } // namespace safe_browsing 704 } // namespace safe_browsing
OLDNEW

Powered by Google App Engine
This is Rietveld 408576698