OLD | NEW |
1 // Copyright (c) 2011 The Chromium Authors. All rights reserved. | 1 // Copyright (c) 2011 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/download_protection_service.h" | 5 #include "chrome/browser/safe_browsing/download_protection_service.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 45 matching lines...) Expand 10 before | Expand all | Expand 10 after Loading... |
56 virtual ~MockSignatureUtil() {} | 56 virtual ~MockSignatureUtil() {} |
57 MOCK_METHOD2(CheckSignature, | 57 MOCK_METHOD2(CheckSignature, |
58 void(const FilePath&, ClientDownloadRequest_SignatureInfo*)); | 58 void(const FilePath&, ClientDownloadRequest_SignatureInfo*)); |
59 | 59 |
60 private: | 60 private: |
61 DISALLOW_COPY_AND_ASSIGN(MockSignatureUtil); | 61 DISALLOW_COPY_AND_ASSIGN(MockSignatureUtil); |
62 }; | 62 }; |
63 } // namespace | 63 } // namespace |
64 | 64 |
65 ACTION_P(SetCertificateContents, contents) { | 65 ACTION_P(SetCertificateContents, contents) { |
66 arg1->set_certificate_contents(contents); | 66 arg1->add_certificate_chain()->add_element()->set_certificate(contents); |
67 } | 67 } |
68 | 68 |
69 // We can't call OnSafeBrowsingResult directly because SafeBrowsingCheck does | 69 // We can't call OnSafeBrowsingResult directly because SafeBrowsingCheck does |
70 // not have any copy constructor which means it can't be stored in a callback | 70 // not have any copy constructor which means it can't be stored in a callback |
71 // easily. Note: check will be deleted automatically when the callback is | 71 // easily. Note: check will be deleted automatically when the callback is |
72 // deleted. | 72 // deleted. |
73 void OnSafeBrowsingResult(SafeBrowsingService::SafeBrowsingCheck* check) { | 73 void OnSafeBrowsingResult(SafeBrowsingService::SafeBrowsingCheck* check) { |
74 check->client->OnSafeBrowsingResult(*check); | 74 check->client->OnSafeBrowsingResult(*check); |
75 } | 75 } |
76 | 76 |
(...skipping 300 matching lines...) Expand 10 before | Expand all | Expand 10 after Loading... |
377 EXPECT_EQ(info.user_initiated, request.user_initiated()); | 377 EXPECT_EQ(info.user_initiated, request.user_initiated()); |
378 EXPECT_EQ(2, request.resources_size()); | 378 EXPECT_EQ(2, request.resources_size()); |
379 EXPECT_TRUE(RequestContainsResource(request, | 379 EXPECT_TRUE(RequestContainsResource(request, |
380 ClientDownloadRequest::DOWNLOAD_REDIRECT, | 380 ClientDownloadRequest::DOWNLOAD_REDIRECT, |
381 "http://www.google.com/", "")); | 381 "http://www.google.com/", "")); |
382 EXPECT_TRUE(RequestContainsResource(request, | 382 EXPECT_TRUE(RequestContainsResource(request, |
383 ClientDownloadRequest::DOWNLOAD_URL, | 383 ClientDownloadRequest::DOWNLOAD_URL, |
384 "http://www.google.com/bla.exe", | 384 "http://www.google.com/bla.exe", |
385 info.referrer_url.spec())); | 385 info.referrer_url.spec())); |
386 EXPECT_TRUE(request.has_signature()); | 386 EXPECT_TRUE(request.has_signature()); |
387 EXPECT_TRUE(request.signature().has_certificate_contents()); | 387 ASSERT_EQ(1, request.signature().certificate_chain_size()); |
388 EXPECT_EQ("dummy cert data", request.signature().certificate_contents()); | 388 const ClientDownloadRequest_CertificateChain& chain = |
| 389 request.signature().certificate_chain(0); |
| 390 ASSERT_EQ(1, chain.element_size()); |
| 391 EXPECT_EQ("dummy cert data", chain.element(0).certificate()); |
389 | 392 |
390 // Simulate the request finishing. | 393 // Simulate the request finishing. |
391 MessageLoop::current()->PostTask( | 394 MessageLoop::current()->PostTask( |
392 FROM_HERE, | 395 FROM_HERE, |
393 base::Bind(&DownloadProtectionServiceTest::SendURLFetchComplete, | 396 base::Bind(&DownloadProtectionServiceTest::SendURLFetchComplete, |
394 base::Unretained(this), fetcher)); | 397 base::Unretained(this), fetcher)); |
395 msg_loop_.Run(); | 398 msg_loop_.Run(); |
396 } | 399 } |
397 | 400 |
398 // Similar to above, but with an unsigned binary. | 401 // Similar to above, but with an unsigned binary. |
(...skipping 31 matching lines...) Expand 10 before | Expand all | Expand 10 after Loading... |
430 EXPECT_EQ(info.user_initiated, request.user_initiated()); | 433 EXPECT_EQ(info.user_initiated, request.user_initiated()); |
431 EXPECT_EQ(2, request.resources_size()); | 434 EXPECT_EQ(2, request.resources_size()); |
432 EXPECT_TRUE(RequestContainsResource(request, | 435 EXPECT_TRUE(RequestContainsResource(request, |
433 ClientDownloadRequest::DOWNLOAD_REDIRECT, | 436 ClientDownloadRequest::DOWNLOAD_REDIRECT, |
434 "http://www.google.com/", "")); | 437 "http://www.google.com/", "")); |
435 EXPECT_TRUE(RequestContainsResource(request, | 438 EXPECT_TRUE(RequestContainsResource(request, |
436 ClientDownloadRequest::DOWNLOAD_URL, | 439 ClientDownloadRequest::DOWNLOAD_URL, |
437 "http://www.google.com/bla.exe", | 440 "http://www.google.com/bla.exe", |
438 info.referrer_url.spec())); | 441 info.referrer_url.spec())); |
439 EXPECT_TRUE(request.has_signature()); | 442 EXPECT_TRUE(request.has_signature()); |
440 EXPECT_FALSE(request.signature().has_certificate_contents()); | 443 EXPECT_EQ(0, request.signature().certificate_chain_size()); |
441 | 444 |
442 // Simulate the request finishing. | 445 // Simulate the request finishing. |
443 MessageLoop::current()->PostTask( | 446 MessageLoop::current()->PostTask( |
444 FROM_HERE, | 447 FROM_HERE, |
445 base::Bind(&DownloadProtectionServiceTest::SendURLFetchComplete, | 448 base::Bind(&DownloadProtectionServiceTest::SendURLFetchComplete, |
446 base::Unretained(this), fetcher)); | 449 base::Unretained(this), fetcher)); |
447 msg_loop_.Run(); | 450 msg_loop_.Run(); |
448 } | 451 } |
449 | 452 |
450 TEST_F(DownloadProtectionServiceTest, CheckClientDownloadDigestList) { | 453 TEST_F(DownloadProtectionServiceTest, CheckClientDownloadDigestList) { |
(...skipping 154 matching lines...) Expand 10 before | Expand all | Expand 10 after Loading... |
605 CheckDownloadUrlDone(SafeBrowsingService::BINARY_MALWARE_URL), | 608 CheckDownloadUrlDone(SafeBrowsingService::BINARY_MALWARE_URL), |
606 Return(false))); | 609 Return(false))); |
607 download_service_->CheckDownloadUrl( | 610 download_service_->CheckDownloadUrl( |
608 info, | 611 info, |
609 base::Bind(&DownloadProtectionServiceTest::CheckDoneCallback, | 612 base::Bind(&DownloadProtectionServiceTest::CheckDoneCallback, |
610 base::Unretained(this))); | 613 base::Unretained(this))); |
611 msg_loop_.Run(); | 614 msg_loop_.Run(); |
612 EXPECT_EQ(DownloadProtectionService::DANGEROUS, result_); | 615 EXPECT_EQ(DownloadProtectionService::DANGEROUS, result_); |
613 } | 616 } |
614 } // namespace safe_browsing | 617 } // namespace safe_browsing |
OLD | NEW |