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

Side by Side Diff: chrome/renderer/safe_browsing/phishing_classifier_browsertest.cc

Issue 1431653003: Migrating tests to use EmbeddedTestServer (misc) (Closed) Base URL: https://chromium.googlesource.com/chromium/src.git@master
Patch Set: Fixing tests. Created 5 years, 1 month 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
« no previous file with comments | « no previous file | chrome/renderer/safe_browsing/phishing_classifier_delegate_browsertest.cc » ('j') | no next file with comments »
Toggle Intra-line Diffs ('i') | Expand Comments ('e') | Collapse Comments ('c') | Show Comments Hide Comments ('s')
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 "chrome/renderer/safe_browsing/phishing_classifier.h" 5 #include "chrome/renderer/safe_browsing/phishing_classifier.h"
6 6
7 #include <string> 7 #include <string>
8 8
9 #include "base/bind.h" 9 #include "base/bind.h"
10 #include "base/command_line.h" 10 #include "base/command_line.h"
(...skipping 85 matching lines...) Expand 10 before | Expand all | Expand 10 after
96 96
97 clock_ = new MockFeatureExtractorClock; 97 clock_ = new MockFeatureExtractorClock;
98 scorer_.reset(Scorer::Create(model.SerializeAsString())); 98 scorer_.reset(Scorer::Create(model.SerializeAsString()));
99 ASSERT_TRUE(scorer_.get()); 99 ASSERT_TRUE(scorer_.get());
100 100
101 content::WebContents* web_contents = 101 content::WebContents* web_contents =
102 browser()->tab_strip_model()->GetActiveWebContents(); 102 browser()->tab_strip_model()->GetActiveWebContents();
103 content::RenderFrame* render_frame = content::RenderFrame::FromRoutingID( 103 content::RenderFrame* render_frame = content::RenderFrame::FromRoutingID(
104 web_contents->GetMainFrame()->GetRoutingID()); 104 web_contents->GetMainFrame()->GetRoutingID());
105 classifier_.reset(new PhishingClassifier(render_frame, clock_)); 105 classifier_.reset(new PhishingClassifier(render_frame, clock_));
106
107 embedded_test_server()->RegisterRequestHandler(
108 base::Bind(&PhishingClassifierTest::HandleRequest,
109 base::Unretained(this)));
110 ASSERT_TRUE(embedded_test_server()->Start());
106 } 111 }
107 112
108 void TearDownOnMainThread() override { 113 void TearDownOnMainThread() override {
109 content::RunAllPendingInMessageLoop(); 114 content::RunAllPendingInMessageLoop();
110 } 115 }
111 116
112 // Helper method to start phishing classification and wait for it to 117 // Helper method to start phishing classification and wait for it to
113 // complete. Returns the true if the page is classified as phishy and 118 // complete. Returns the true if the page is classified as phishy and
114 // false otherwise. 119 // false otherwise.
115 bool RunPhishingClassifier(const base::string16* page_text, 120 bool RunPhishingClassifier(const base::string16* page_text,
(...skipping 31 matching lines...) Expand 10 before | Expand all | Expand 10 after
147 } 152 }
148 153
149 // Completion callback for classification. 154 // Completion callback for classification.
150 void ClassificationFinished(base::RunLoop* run_loop, 155 void ClassificationFinished(base::RunLoop* run_loop,
151 ClientPhishingRequest* verdict_out, 156 ClientPhishingRequest* verdict_out,
152 const ClientPhishingRequest& verdict) { 157 const ClientPhishingRequest& verdict) {
153 *verdict_out = verdict; // Copy the verdict. 158 *verdict_out = verdict; // Copy the verdict.
154 run_loop->Quit(); 159 run_loop->Quit();
155 } 160 }
156 161
157 scoped_ptr<net::test_server::EmbeddedTestServer> embedded_test_server_;
158 net::test_server::EmbeddedTestServer* embedded_test_server() {
159 // TODO(ajwong): Merge this into BrowserTestBase.
160 if (!embedded_test_server_) {
161 embedded_test_server_.reset(new net::test_server::EmbeddedTestServer());
162 embedded_test_server_->RegisterRequestHandler(
163 base::Bind(&PhishingClassifierTest::HandleRequest,
164 base::Unretained(this)));
165 CHECK(embedded_test_server_->InitializeAndWaitUntilReady());
166 }
167 return embedded_test_server_.get();
168 }
169
170 void LoadHtml(const std::string& host, const std::string& content) { 162 void LoadHtml(const std::string& host, const std::string& content) {
171 GURL::Replacements replace_host; 163 GURL::Replacements replace_host;
172 replace_host.SetHostStr(host); 164 replace_host.SetHostStr(host);
173 response_content_ = content; 165 response_content_ = content;
174 ui_test_utils::NavigateToURL( 166 ui_test_utils::NavigateToURL(
175 browser(), 167 browser(),
176 embedded_test_server()->base_url().ReplaceComponents(replace_host)); 168 embedded_test_server()->base_url().ReplaceComponents(replace_host));
177 } 169 }
178 170
179 void LoadHtmlPost(const std::string& host, const std::string& content) { 171 void LoadHtmlPost(const std::string& host, const std::string& content) {
(...skipping 76 matching lines...) Expand 10 before | Expand all | Expand 10 after
256 EXPECT_GE(phishy_score, 0.0); 248 EXPECT_GE(phishy_score, 0.0);
257 EXPECT_LT(phishy_score, 0.5); 249 EXPECT_LT(phishy_score, 0.5);
258 250
259 // Extraction should fail for this case since there is no TLD. 251 // Extraction should fail for this case since there is no TLD.
260 LoadHtml("localhost", "<html><body>content</body></html>"); 252 LoadHtml("localhost", "<html><body>content</body></html>");
261 EXPECT_FALSE(RunPhishingClassifier(&page_text, &phishy_score, &features)); 253 EXPECT_FALSE(RunPhishingClassifier(&page_text, &phishy_score, &features));
262 EXPECT_EQ(0U, features.features().size()); 254 EXPECT_EQ(0U, features.features().size());
263 EXPECT_EQ(PhishingClassifier::kInvalidScore, phishy_score); 255 EXPECT_EQ(PhishingClassifier::kInvalidScore, phishy_score);
264 256
265 // Extraction should also fail for this case because the URL is not http. 257 // Extraction should also fail for this case because the URL is not http.
266 net::SpawnedTestServer https_server( 258 net::EmbeddedTestServer https_server(net::EmbeddedTestServer::TYPE_HTTPS);
267 net::SpawnedTestServer::TYPE_HTTPS, 259 https_server.ServeFilesFromSourceDirectory("chrome/test/data");
268 net::SpawnedTestServer::kLocalhost,
269 base::FilePath(FILE_PATH_LITERAL("chrome/test/data")));
270 ASSERT_TRUE(https_server.Start()); 260 ASSERT_TRUE(https_server.Start());
271 GURL::Replacements replace_host; 261 GURL::Replacements replace_host;
272 replace_host.SetHostStr("host.net"); 262 replace_host.SetHostStr("host.net");
273 GURL test_url = https_server.GetURL("/files/title1.html"); 263 GURL test_url = https_server.GetURL("/title1.html");
274 ui_test_utils::NavigateToURL(browser(), 264 ui_test_utils::NavigateToURL(browser(),
275 test_url.ReplaceComponents(replace_host)); 265 test_url.ReplaceComponents(replace_host));
276 EXPECT_FALSE(RunPhishingClassifier(&page_text, &phishy_score, &features)); 266 EXPECT_FALSE(RunPhishingClassifier(&page_text, &phishy_score, &features));
277 EXPECT_EQ(0U, features.features().size()); 267 EXPECT_EQ(0U, features.features().size());
278 EXPECT_EQ(PhishingClassifier::kInvalidScore, phishy_score); 268 EXPECT_EQ(PhishingClassifier::kInvalidScore, phishy_score);
279 269
280 // Extraction should fail for this case because the URL is a POST request. 270 // Extraction should fail for this case because the URL is a POST request.
281 LoadHtmlPost("host.net", "<html><body>content</body></html>"); 271 LoadHtmlPost("host.net", "<html><body>content</body></html>");
282 EXPECT_FALSE(RunPhishingClassifier(&page_text, &phishy_score, &features)); 272 EXPECT_FALSE(RunPhishingClassifier(&page_text, &phishy_score, &features));
283 EXPECT_EQ(0U, features.features().size()); 273 EXPECT_EQ(0U, features.features().size());
(...skipping 13 matching lines...) Expand all
297 // Now set the scorer. 287 // Now set the scorer.
298 classifier_->set_phishing_scorer(scorer_.get()); 288 classifier_->set_phishing_scorer(scorer_.get());
299 EXPECT_TRUE(classifier_->is_ready()); 289 EXPECT_TRUE(classifier_->is_ready());
300 290
301 // Set a NULL scorer, which turns detection back off. 291 // Set a NULL scorer, which turns detection back off.
302 classifier_->set_phishing_scorer(NULL); 292 classifier_->set_phishing_scorer(NULL);
303 EXPECT_FALSE(classifier_->is_ready()); 293 EXPECT_FALSE(classifier_->is_ready());
304 } 294 }
305 295
306 } // namespace safe_browsing 296 } // namespace safe_browsing
OLDNEW
« no previous file with comments | « no previous file | chrome/renderer/safe_browsing/phishing_classifier_delegate_browsertest.cc » ('j') | no next file with comments »

Powered by Google App Engine
This is Rietveld 408576698