OLD | NEW |
---|---|
(Empty) | |
1 // Copyright 2013 The Chromium Authors. All rights reserved. | |
2 // Use of this source code is governed by a BSD-style license that can be | |
3 // found in the LICENSE file. | |
4 | |
5 #include "base/run_loop.h" | |
6 #include "chrome/browser/extensions/blacklist_fetcher.h" | |
7 #include "chrome/browser/extensions/test_blacklist_fetcher.h" | |
8 #include "chrome/common/safe_browsing/crx_info.pb.h" | |
9 #include "testing/gtest/include/gtest/gtest.h" | |
10 | |
11 namespace extensions { | |
12 namespace { | |
13 | |
14 void Assign(Blacklist::BlacklistState* to, Blacklist::BlacklistState from) { | |
15 *to = from; | |
16 } | |
17 | |
18 } // namespace | |
19 | |
20 class BlacklistFetcherTest : public testing::Test { | |
21 protected: | |
22 virtual void SetUp() { | |
23 } | |
not at google - send to devlin
2013/11/18 17:03:49
doesn't seem much point in defining an empty SetUp
Oleg Eterevsky
2013/11/20 12:58:45
Done.
| |
24 }; | |
25 | |
26 TEST_F(BlacklistFetcherTest, RequestBlacklistState) { | |
27 BlacklistFetcher fetcher; | |
28 TestBlacklistFetcher tester(&fetcher); | |
29 | |
30 tester.SetBlacklistVerdict( | |
31 "a", ClientCRXListInfoResponse_Verdict_SECURITY_VULNERABILITY); | |
32 | |
33 Blacklist::BlacklistState result; | |
34 fetcher.Request("a", base::Bind(&Assign, &result)); | |
35 | |
36 EXPECT_TRUE(tester.HandleFetcher(0)); | |
37 | |
38 EXPECT_EQ(Blacklist::BLACKLISTED_SECURITY_VULNERABILITY, result); | |
39 } | |
40 | |
41 TEST_F(BlacklistFetcherTest, RequestMultipleBlacklistStates) { | |
42 BlacklistFetcher fetcher; | |
43 TestBlacklistFetcher tester(&fetcher); | |
44 | |
45 tester.SetBlacklistVerdict( | |
46 "a", ClientCRXListInfoResponse_Verdict_UNKNOWN); | |
47 tester.SetBlacklistVerdict( | |
48 "b", ClientCRXListInfoResponse_Verdict_MALWARE); | |
49 tester.SetBlacklistVerdict( | |
50 "c", ClientCRXListInfoResponse_Verdict_SECURITY_VULNERABILITY); | |
51 tester.SetBlacklistVerdict( | |
52 "d", ClientCRXListInfoResponse_Verdict_CWS_POLICY_VIOLATION); | |
53 tester.SetBlacklistVerdict( | |
54 "e", ClientCRXListInfoResponse_Verdict_POTENTIALLY_UNWANTED); | |
55 | |
56 Blacklist::BlacklistState result[9]; | |
57 fetcher.Request("a", base::Bind(&Assign, &result[0])); | |
58 fetcher.Request("a", base::Bind(&Assign, &result[1])); | |
59 fetcher.Request("b", base::Bind(&Assign, &result[2])); | |
60 fetcher.Request("b", base::Bind(&Assign, &result[3])); | |
61 fetcher.Request("c", base::Bind(&Assign, &result[4])); | |
62 fetcher.Request("d", base::Bind(&Assign, &result[5])); | |
63 fetcher.Request("e", base::Bind(&Assign, &result[6])); | |
64 fetcher.Request("f", base::Bind(&Assign, &result[7])); | |
65 fetcher.Request("f", base::Bind(&Assign, &result[8])); | |
66 | |
67 // 6 fetchers should be created. Sending responses in shuffled order. | |
68 EXPECT_TRUE(tester.HandleFetcher(4)); | |
69 EXPECT_TRUE(tester.HandleFetcher(2)); | |
70 EXPECT_TRUE(tester.HandleFetcher(5)); | |
71 EXPECT_TRUE(tester.HandleFetcher(1)); | |
72 EXPECT_TRUE(tester.HandleFetcher(0)); | |
73 EXPECT_TRUE(tester.HandleFetcher(3)); | |
74 | |
75 EXPECT_EQ(Blacklist::NOT_BLACKLISTED, result[0]); | |
76 EXPECT_EQ(Blacklist::NOT_BLACKLISTED, result[1]); | |
77 EXPECT_EQ(Blacklist::BLACKLISTED_MALWARE, result[2]); | |
78 EXPECT_EQ(Blacklist::BLACKLISTED_MALWARE, result[3]); | |
79 EXPECT_EQ(Blacklist::BLACKLISTED_SECURITY_VULNERABILITY, result[4]); | |
80 EXPECT_EQ(Blacklist::BLACKLISTED_CWS_POLICY_VIOLATION, result[5]); | |
81 EXPECT_EQ(Blacklist::BLACKLISTED_POTENTIALLY_UNWANTED, result[6]); | |
82 EXPECT_EQ(Blacklist::NOT_BLACKLISTED, result[7]); | |
83 EXPECT_EQ(Blacklist::NOT_BLACKLISTED, result[8]); | |
84 } | |
85 | |
86 } // namespace extensions | |
OLD | NEW |