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

Side by Side Diff: chrome/browser/autofill/autofill_download_unittest.cc

Issue 6931029: Set datapresent string to contain precisely those field types available in stored Autofill data. (Closed) Base URL: svn://svn.chromium.org/chrome/trunk/src
Patch Set: Signed and delivered Created 9 years, 7 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) 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 <list> 5 #include <list>
6 6
7 #include "base/string_util.h" 7 #include "base/string_util.h"
8 #include "base/test/test_timeouts.h" 8 #include "base/test/test_timeouts.h"
9 #include "base/utf_string_conversions.h" 9 #include "base/utf_string_conversions.h"
10 #include "chrome/browser/autofill/autofill_download.h" 10 #include "chrome/browser/autofill/autofill_download.h"
11 #include "chrome/browser/autofill/autofill_field.h" 11 #include "chrome/browser/autofill/autofill_field.h"
12 #include "chrome/browser/autofill/autofill_metrics.h" 12 #include "chrome/browser/autofill/autofill_metrics.h"
13 #include "chrome/browser/autofill/autofill_type.h"
13 #include "chrome/browser/autofill/form_structure.h" 14 #include "chrome/browser/autofill/form_structure.h"
14 #include "chrome/common/net/test_url_fetcher_factory.h" 15 #include "chrome/common/net/test_url_fetcher_factory.h"
15 #include "chrome/test/test_url_request_context_getter.h" 16 #include "chrome/test/test_url_request_context_getter.h"
16 #include "chrome/test/testing_browser_process.h" 17 #include "chrome/test/testing_browser_process.h"
17 #include "chrome/test/testing_browser_process_test.h" 18 #include "chrome/test/testing_browser_process_test.h"
18 #include "chrome/test/testing_profile.h" 19 #include "chrome/test/testing_profile.h"
19 #include "net/url_request/url_request_status.h" 20 #include "net/url_request/url_request_status.h"
20 #include "testing/gmock/include/gmock/gmock.h" 21 #include "testing/gmock/include/gmock/gmock.h"
21 #include "testing/gtest/include/gtest/gtest.h" 22 #include "testing/gtest/include/gtest/gtest.h"
22 #include "third_party/WebKit/Source/WebKit/chromium/public/WebInputElement.h" 23 #include "third_party/WebKit/Source/WebKit/chromium/public/WebInputElement.h"
(...skipping 185 matching lines...) Expand 10 before | Expand all | Expand 10 after
208 EXPECT_FALSE(helper.download_manager.StartQueryRequest(form_structures, 209 EXPECT_FALSE(helper.download_manager.StartQueryRequest(form_structures,
209 mock_metric_logger)); 210 mock_metric_logger));
210 helper.InitContextGetter(); 211 helper.InitContextGetter();
211 EXPECT_TRUE(helper.download_manager.StartQueryRequest(form_structures, 212 EXPECT_TRUE(helper.download_manager.StartQueryRequest(form_structures,
212 mock_metric_logger)); 213 mock_metric_logger));
213 // Set upload to 100% so requests happen. 214 // Set upload to 100% so requests happen.
214 helper.download_manager.SetPositiveUploadRate(1.0); 215 helper.download_manager.SetPositiveUploadRate(1.0);
215 helper.download_manager.SetNegativeUploadRate(1.0); 216 helper.download_manager.SetNegativeUploadRate(1.0);
216 // Request with id 1. 217 // Request with id 1.
217 EXPECT_TRUE(helper.download_manager.StartUploadRequest(*(form_structures[0]), 218 EXPECT_TRUE(helper.download_manager.StartUploadRequest(*(form_structures[0]),
218 true)); 219 true,
220 FieldTypeSet()));
219 // Request with id 2. 221 // Request with id 2.
220 EXPECT_TRUE(helper.download_manager.StartUploadRequest(*(form_structures[1]), 222 EXPECT_TRUE(helper.download_manager.StartUploadRequest(*(form_structures[1]),
221 false)); 223 false,
224 FieldTypeSet()));
222 225
223 const char *responses[] = { 226 const char *responses[] = {
224 "<autofillqueryresponse>" 227 "<autofillqueryresponse>"
225 "<field autofilltype=\"0\" />" 228 "<field autofilltype=\"0\" />"
226 "<field autofilltype=\"3\" />" 229 "<field autofilltype=\"3\" />"
227 "<field autofilltype=\"5\" />" 230 "<field autofilltype=\"5\" />"
228 "<field autofilltype=\"9\" />" 231 "<field autofilltype=\"9\" />"
229 "<field autofilltype=\"0\" />" 232 "<field autofilltype=\"0\" />"
230 "<field autofilltype=\"30\" />" 233 "<field autofilltype=\"30\" />"
231 "<field autofilltype=\"31\" />" 234 "<field autofilltype=\"31\" />"
(...skipping 51 matching lines...) Expand 10 before | Expand all | Expand 10 after
283 EXPECT_EQ(0, helper.responses_.front().error); 286 EXPECT_EQ(0, helper.responses_.front().error);
284 EXPECT_EQ(std::string(), helper.responses_.front().signature); 287 EXPECT_EQ(std::string(), helper.responses_.front().signature);
285 EXPECT_EQ(responses[0], helper.responses_.front().response); 288 EXPECT_EQ(responses[0], helper.responses_.front().response);
286 helper.responses_.pop_front(); 289 helper.responses_.pop_front();
287 290
288 // Set upload to 0% so no new requests happen. 291 // Set upload to 0% so no new requests happen.
289 helper.download_manager.SetPositiveUploadRate(0.0); 292 helper.download_manager.SetPositiveUploadRate(0.0);
290 helper.download_manager.SetNegativeUploadRate(0.0); 293 helper.download_manager.SetNegativeUploadRate(0.0);
291 // No actual requests for the next two calls, as we set upload rate to 0%. 294 // No actual requests for the next two calls, as we set upload rate to 0%.
292 EXPECT_FALSE(helper.download_manager.StartUploadRequest(*(form_structures[0]), 295 EXPECT_FALSE(helper.download_manager.StartUploadRequest(*(form_structures[0]),
293 true)); 296 true,
297 FieldTypeSet()));
294 EXPECT_FALSE(helper.download_manager.StartUploadRequest(*(form_structures[1]), 298 EXPECT_FALSE(helper.download_manager.StartUploadRequest(*(form_structures[1]),
295 false)); 299 false,
300 FieldTypeSet()));
296 fetcher = factory.GetFetcherByID(3); 301 fetcher = factory.GetFetcherByID(3);
297 EXPECT_EQ(NULL, fetcher); 302 EXPECT_EQ(NULL, fetcher);
298 303
299 // Modify form structures to miss the cache. 304 // Modify form structures to miss the cache.
300 form.fields.push_back(webkit_glue::FormField(ASCIIToUTF16("Address line 2"), 305 form.fields.push_back(webkit_glue::FormField(ASCIIToUTF16("Address line 2"),
301 ASCIIToUTF16("address2"), 306 ASCIIToUTF16("address2"),
302 string16(), 307 string16(),
303 ASCIIToUTF16("text"), 308 ASCIIToUTF16("text"),
304 0, 309 0,
305 false)); 310 false));
(...skipping 25 matching lines...) Expand all
331 LogServerQueryMetric(AutofillMetrics::QUERY_SENT)).Times(0); 336 LogServerQueryMetric(AutofillMetrics::QUERY_SENT)).Times(0);
332 EXPECT_FALSE(helper.download_manager.StartQueryRequest(form_structures, 337 EXPECT_FALSE(helper.download_manager.StartQueryRequest(form_structures,
333 mock_metric_logger)); 338 mock_metric_logger));
334 fetcher = factory.GetFetcherByID(4); 339 fetcher = factory.GetFetcherByID(4);
335 EXPECT_EQ(NULL, fetcher); 340 EXPECT_EQ(NULL, fetcher);
336 341
337 // Set upload to 100% so requests happen. 342 // Set upload to 100% so requests happen.
338 helper.download_manager.SetPositiveUploadRate(1.0); 343 helper.download_manager.SetPositiveUploadRate(1.0);
339 // Request with id 4. 344 // Request with id 4.
340 EXPECT_TRUE(helper.download_manager.StartUploadRequest(*(form_structures[0]), 345 EXPECT_TRUE(helper.download_manager.StartUploadRequest(*(form_structures[0]),
341 true)); 346 true,
347 FieldTypeSet()));
342 fetcher = factory.GetFetcherByID(4); 348 fetcher = factory.GetFetcherByID(4);
343 ASSERT_TRUE(fetcher); 349 ASSERT_TRUE(fetcher);
344 fetcher->set_backoff_delay( 350 fetcher->set_backoff_delay(
345 base::TimeDelta::FromMilliseconds(TestTimeouts::action_max_timeout_ms())); 351 base::TimeDelta::FromMilliseconds(TestTimeouts::action_max_timeout_ms()));
346 fetcher->delegate()->OnURLFetchComplete(fetcher, GURL(), 352 fetcher->delegate()->OnURLFetchComplete(fetcher, GURL(),
347 net::URLRequestStatus(), 353 net::URLRequestStatus(),
348 503, ResponseCookies(), 354 503, ResponseCookies(),
349 std::string(responses[2])); 355 std::string(responses[2]));
350 EXPECT_EQ(AutofillDownloadTestHelper::REQUEST_UPLOAD_FAILED, 356 EXPECT_EQ(AutofillDownloadTestHelper::REQUEST_UPLOAD_FAILED,
351 helper.responses_.front().type_of_response); 357 helper.responses_.front().type_of_response);
352 EXPECT_EQ(503, helper.responses_.front().error); 358 EXPECT_EQ(503, helper.responses_.front().error);
353 helper.responses_.pop_front(); 359 helper.responses_.pop_front();
354 360
355 // Upload requests should be ignored for the next 10 seconds. 361 // Upload requests should be ignored for the next 10 seconds.
356 EXPECT_FALSE(helper.download_manager.StartUploadRequest(*(form_structures[0]), 362 EXPECT_FALSE(helper.download_manager.StartUploadRequest(*(form_structures[0]),
357 true)); 363 true,
364 FieldTypeSet()));
358 fetcher = factory.GetFetcherByID(5); 365 fetcher = factory.GetFetcherByID(5);
359 EXPECT_EQ(NULL, fetcher); 366 EXPECT_EQ(NULL, fetcher);
360 367
361 // Make sure consumer of URLFetcher does the right thing. 368 // Make sure consumer of URLFetcher does the right thing.
362 URLFetcher::set_factory(NULL); 369 URLFetcher::set_factory(NULL);
363 } 370 }
364 371
365 TEST_F(AutofillDownloadTest, CacheQueryTest) { 372 TEST_F(AutofillDownloadTest, CacheQueryTest) {
366 MessageLoopForUI message_loop; 373 MessageLoopForUI message_loop;
367 AutofillDownloadTestHelper helper; 374 AutofillDownloadTestHelper helper;
(...skipping 169 matching lines...) Expand 10 before | Expand all | Expand 10 after
537 net::URLRequestStatus(), 544 net::URLRequestStatus(),
538 200, ResponseCookies(), 545 200, ResponseCookies(),
539 std::string(responses[0])); 546 std::string(responses[0]));
540 ASSERT_EQ(static_cast<size_t>(1), helper.responses_.size()); 547 ASSERT_EQ(static_cast<size_t>(1), helper.responses_.size());
541 EXPECT_EQ(responses[0], helper.responses_.front().response); 548 EXPECT_EQ(responses[0], helper.responses_.front().response);
542 549
543 // Make sure consumer of URLFetcher does the right thing. 550 // Make sure consumer of URLFetcher does the right thing.
544 URLFetcher::set_factory(NULL); 551 URLFetcher::set_factory(NULL);
545 } 552 }
546 553
OLDNEW
« no previous file with comments | « chrome/browser/autofill/autofill_download.cc ('k') | chrome/browser/autofill/autofill_manager.h » ('j') | no next file with comments »

Powered by Google App Engine
This is Rietveld 408576698