OLD | NEW |
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 234 matching lines...) Expand 10 before | Expand all | Expand 10 after Loading... |
245 // The model fetch failed. | 245 // The model fetch failed. |
246 SetModelFetchResponse("blamodel", false /* failure */); | 246 SetModelFetchResponse("blamodel", false /* failure */); |
247 EXPECT_CALL(service, EndFetchModel( | 247 EXPECT_CALL(service, EndFetchModel( |
248 ClientSideDetectionService::MODEL_FETCH_FAILED)) | 248 ClientSideDetectionService::MODEL_FETCH_FAILED)) |
249 .WillOnce(QuitCurrentMessageLoop()); | 249 .WillOnce(QuitCurrentMessageLoop()); |
250 service.StartFetchModel(); | 250 service.StartFetchModel(); |
251 msg_loop_.Run(); // EndFetchModel will quit the message loop. | 251 msg_loop_.Run(); // EndFetchModel will quit the message loop. |
252 Mock::VerifyAndClearExpectations(&service); | 252 Mock::VerifyAndClearExpectations(&service); |
253 | 253 |
254 // Empty model file. | 254 // Empty model file. |
255 SetModelFetchResponse("", true /* success */); | 255 SetModelFetchResponse(std::string(), true /* success */); |
256 EXPECT_CALL(service, EndFetchModel( | 256 EXPECT_CALL(service, EndFetchModel(ClientSideDetectionService::MODEL_EMPTY)) |
257 ClientSideDetectionService::MODEL_EMPTY)) | |
258 .WillOnce(QuitCurrentMessageLoop()); | 257 .WillOnce(QuitCurrentMessageLoop()); |
259 service.StartFetchModel(); | 258 service.StartFetchModel(); |
260 msg_loop_.Run(); // EndFetchModel will quit the message loop. | 259 msg_loop_.Run(); // EndFetchModel will quit the message loop. |
261 Mock::VerifyAndClearExpectations(&service); | 260 Mock::VerifyAndClearExpectations(&service); |
262 | 261 |
263 // Model is too large. | 262 // Model is too large. |
264 SetModelFetchResponse( | 263 SetModelFetchResponse( |
265 std::string(ClientSideDetectionService::kMaxModelSizeBytes + 1, 'x'), | 264 std::string(ClientSideDetectionService::kMaxModelSizeBytes + 1, 'x'), |
266 true /* success */); | 265 true /* success */); |
267 EXPECT_CALL(service, EndFetchModel( | 266 EXPECT_CALL(service, EndFetchModel( |
(...skipping 301 matching lines...) Expand 10 before | Expand all | Expand 10 after Loading... |
569 // IPv4 prefix match (/15) for ::ffff:192.1.128.0. | 568 // IPv4 prefix match (/15) for ::ffff:192.1.128.0. |
570 subnet = model.add_bad_subnet(); | 569 subnet = model.add_bad_subnet(); |
571 subnet->set_prefix(crypto::SHA256HashString(std::string( | 570 subnet->set_prefix(crypto::SHA256HashString(std::string( |
572 "\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\xff\xff\xc0\x01\x80\x00", 16))); | 571 "\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\xff\xff\xc0\x01\x80\x00", 16))); |
573 subnet->set_size(113); | 572 subnet->set_size(113); |
574 | 573 |
575 csd_service_.reset(ClientSideDetectionService::Create(NULL)); | 574 csd_service_.reset(ClientSideDetectionService::Create(NULL)); |
576 ClientSideDetectionService::SetBadSubnets( | 575 ClientSideDetectionService::SetBadSubnets( |
577 model, &(csd_service_->bad_subnets_)); | 576 model, &(csd_service_->bad_subnets_)); |
578 EXPECT_FALSE(csd_service_->IsBadIpAddress("blabla")); | 577 EXPECT_FALSE(csd_service_->IsBadIpAddress("blabla")); |
579 EXPECT_FALSE(csd_service_->IsBadIpAddress("")); | 578 EXPECT_FALSE(csd_service_->IsBadIpAddress(std::string())); |
580 | 579 |
581 EXPECT_TRUE(csd_service_->IsBadIpAddress( | 580 EXPECT_TRUE(csd_service_->IsBadIpAddress( |
582 "2620:0:1000:3103:21a:a0ff:fe10:786e")); | 581 "2620:0:1000:3103:21a:a0ff:fe10:786e")); |
583 EXPECT_FALSE(csd_service_->IsBadIpAddress( | 582 EXPECT_FALSE(csd_service_->IsBadIpAddress( |
584 "2620:0:1000:3103:21a:a0ff:fe10:786f")); | 583 "2620:0:1000:3103:21a:a0ff:fe10:786f")); |
585 | 584 |
586 EXPECT_TRUE(csd_service_->IsBadIpAddress("fe80::21a:a0ff:fe10:786e")); | 585 EXPECT_TRUE(csd_service_->IsBadIpAddress("fe80::21a:a0ff:fe10:786e")); |
587 EXPECT_TRUE(csd_service_->IsBadIpAddress("fe80::31a:a0ff:fe10:786e")); | 586 EXPECT_TRUE(csd_service_->IsBadIpAddress("fe80::31a:a0ff:fe10:786e")); |
588 EXPECT_TRUE(csd_service_->IsBadIpAddress("fe80::21a:a0ff:fe10:786f")); | 587 EXPECT_TRUE(csd_service_->IsBadIpAddress("fe80::21a:a0ff:fe10:786f")); |
589 EXPECT_FALSE(csd_service_->IsBadIpAddress("fe81::21a:a0ff:fe10:786e")); | 588 EXPECT_FALSE(csd_service_->IsBadIpAddress("fe81::21a:a0ff:fe10:786e")); |
(...skipping 121 matching lines...) Expand 10 before | Expand all | Expand 10 after Loading... |
711 EXPECT_CALL(*service, ScheduleFetchModel(_)) | 710 EXPECT_CALL(*service, ScheduleFetchModel(_)) |
712 .WillOnce(Invoke(service, &MockClientSideDetectionService::Schedule)); | 711 .WillOnce(Invoke(service, &MockClientSideDetectionService::Schedule)); |
713 EXPECT_CALL(*service, EndFetchModel( | 712 EXPECT_CALL(*service, EndFetchModel( |
714 ClientSideDetectionService::MODEL_NOT_CHANGED)) | 713 ClientSideDetectionService::MODEL_NOT_CHANGED)) |
715 .WillOnce(Invoke(service, &MockClientSideDetectionService::Disable)); | 714 .WillOnce(Invoke(service, &MockClientSideDetectionService::Disable)); |
716 csd_service_->SetEnabledAndRefreshState(true); | 715 csd_service_->SetEnabledAndRefreshState(true); |
717 EXPECT_FALSE(SendClientReportPhishingRequest(GURL("http://a.com/"), 0.4f)); | 716 EXPECT_FALSE(SendClientReportPhishingRequest(GURL("http://a.com/"), 0.4f)); |
718 Mock::VerifyAndClearExpectations(service); | 717 Mock::VerifyAndClearExpectations(service); |
719 } | 718 } |
720 } // namespace safe_browsing | 719 } // namespace safe_browsing |
OLD | NEW |