OLD | NEW |
1 // Copyright 2013 The Chromium Authors. All rights reserved. | 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 | 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 "base/json/json_reader.h" | 5 #include "base/json/json_reader.h" |
6 #include "base/json/json_writer.h" | 6 #include "base/json/json_writer.h" |
7 #include "base/logging.h" | 7 #include "base/logging.h" |
8 #include "base/memory/scoped_ptr.h" | 8 #include "base/memory/scoped_ptr.h" |
9 #include "base/run_loop.h" | 9 #include "base/run_loop.h" |
10 #include "base/strings/string_number_conversions.h" | 10 #include "base/strings/string_number_conversions.h" |
(...skipping 474 matching lines...) Expand 10 before | Expand all | Expand 10 after Loading... |
485 "\"use_minimal_addresses\":false" | 485 "\"use_minimal_addresses\":false" |
486 "}"; | 486 "}"; |
487 | 487 |
488 const char kUpdateAddressValidRequest[] = | 488 const char kUpdateAddressValidRequest[] = |
489 "{" | 489 "{" |
490 "\"merchant_domain\":\"https://example.com/\"," | 490 "\"merchant_domain\":\"https://example.com/\"," |
491 "\"phone_number_required\":true," | 491 "\"phone_number_required\":true," |
492 "\"risk_params\":\"risky business\"," | 492 "\"risk_params\":\"risky business\"," |
493 "\"shipping_address\":" | 493 "\"shipping_address\":" |
494 "{" | 494 "{" |
495 "\"id\":\"shipping_address_id\"," | 495 "\"id\":\"address_id\"," |
496 "\"phone_number\":\"ship_phone_number\"," | 496 "\"phone_number\":\"ship_phone_number\"," |
497 "\"postal_address\":" | 497 "\"postal_address\":" |
498 "{" | 498 "{" |
499 "\"address_line\":" | 499 "\"address_line\":" |
500 "[" | 500 "[" |
501 "\"ship_address_line_1\"," | 501 "\"ship_address_line_1\"," |
502 "\"ship_address_line_2\"" | 502 "\"ship_address_line_2\"" |
503 "]," | 503 "]," |
504 "\"administrative_area_name\":\"ship_admin_area_name\"," | 504 "\"administrative_area_name\":\"ship_admin_area_name\"," |
505 "\"country_name_code\":\"US\"," | 505 "\"country_name_code\":\"US\"," |
(...skipping 17 matching lines...) Expand all Loading... |
523 "[" | 523 "[" |
524 "\"address_line_1\"," | 524 "\"address_line_1\"," |
525 "\"address_line_2\"" | 525 "\"address_line_2\"" |
526 "]," | 526 "]," |
527 "\"administrative_area_name\":\"admin_area_name\"," | 527 "\"administrative_area_name\":\"admin_area_name\"," |
528 "\"country_name_code\":\"US\"," | 528 "\"country_name_code\":\"US\"," |
529 "\"locality_name\":\"locality_name\"," | 529 "\"locality_name\":\"locality_name\"," |
530 "\"postal_code_number\":\"postal_code_number\"," | 530 "\"postal_code_number\":\"postal_code_number\"," |
531 "\"recipient_name\":\"recipient_name\"" | 531 "\"recipient_name\":\"recipient_name\"" |
532 "}," | 532 "}," |
533 "\"upgraded_instrument_id\":\"instrument_id\"," | 533 "\"upgraded_instrument_id\":\"default_instrument_id\"," |
534 "\"use_minimal_addresses\":false" | 534 "\"use_minimal_addresses\":false" |
535 "}"; | 535 "}"; |
536 | 536 |
537 const char kUpdateInstrumentAddressWithNameChangeValidRequest[] = | 537 const char kUpdateInstrumentAddressWithNameChangeValidRequest[] = |
538 "{" | 538 "{" |
539 "\"instrument_phone_number\":\"phone_number\"," | 539 "\"instrument_phone_number\":\"phone_number\"," |
540 "\"merchant_domain\":\"https://example.com/\"," | 540 "\"merchant_domain\":\"https://example.com/\"," |
541 "\"phone_number_required\":true," | 541 "\"phone_number_required\":true," |
542 "\"risk_params\":\"risky business\"," | 542 "\"risk_params\":\"risky business\"," |
543 "\"upgraded_billing_address\":" | 543 "\"upgraded_billing_address\":" |
544 "{" | 544 "{" |
545 "\"address_line\":" | 545 "\"address_line\":" |
546 "[" | 546 "[" |
547 "\"address_line_1\"," | 547 "\"address_line_1\"," |
548 "\"address_line_2\"" | 548 "\"address_line_2\"" |
549 "]," | 549 "]," |
550 "\"administrative_area_name\":\"admin_area_name\"," | 550 "\"administrative_area_name\":\"admin_area_name\"," |
551 "\"country_name_code\":\"US\"," | 551 "\"country_name_code\":\"US\"," |
552 "\"locality_name\":\"locality_name\"," | 552 "\"locality_name\":\"locality_name\"," |
553 "\"postal_code_number\":\"postal_code_number\"," | 553 "\"postal_code_number\":\"postal_code_number\"," |
554 "\"recipient_name\":\"recipient_name\"" | 554 "\"recipient_name\":\"recipient_name\"" |
555 "}," | 555 "}," |
556 "\"upgraded_instrument_id\":\"instrument_id\"," | 556 "\"upgraded_instrument_id\":\"default_instrument_id\"," |
557 "\"use_minimal_addresses\":false" | 557 "\"use_minimal_addresses\":false" |
558 "}"; | 558 "}"; |
559 | 559 |
560 const char kUpdateInstrumentExpirationDateValidRequest[] = | 560 const char kUpdateInstrumentExpirationDateValidRequest[] = |
561 "{" | 561 "{" |
562 "\"instrument\":" | 562 "\"instrument\":" |
563 "{" | 563 "{" |
564 "\"credit_card\":" | 564 "\"credit_card\":" |
565 "{" | 565 "{" |
566 "\"exp_month\":12," | 566 "\"exp_month\":12," |
567 "\"exp_year\":3000" | 567 "\"exp_year\":3001" |
568 "}," | 568 "}," |
569 "\"type\":\"CREDIT_CARD\"" | 569 "\"type\":\"CREDIT_CARD\"" |
570 "}," | 570 "}," |
571 "\"merchant_domain\":\"https://example.com/\"," | 571 "\"merchant_domain\":\"https://example.com/\"," |
572 "\"phone_number_required\":true," | 572 "\"phone_number_required\":true," |
573 "\"risk_params\":\"risky business\"," | 573 "\"risk_params\":\"risky business\"," |
574 "\"upgraded_instrument_id\":\"instrument_id\"," | 574 "\"upgraded_instrument_id\":\"instrument_id\"," |
575 "\"use_minimal_addresses\":false" | 575 "\"use_minimal_addresses\":false" |
576 "}"; | 576 "}"; |
577 | 577 |
(...skipping 609 matching lines...) Expand 10 before | Expand all | Expand 10 after Loading... |
1187 EXPECT_CALL(delegate_, | 1187 EXPECT_CALL(delegate_, |
1188 OnDidSaveToWallet(std::string(), | 1188 OnDidSaveToWallet(std::string(), |
1189 "saved_address_id", | 1189 "saved_address_id", |
1190 std::vector<RequiredAction>(), | 1190 std::vector<RequiredAction>(), |
1191 std::vector<FormFieldError>())).Times(1); | 1191 std::vector<FormFieldError>())).Times(1); |
1192 delegate_.ExpectLogWalletApiCallDuration(AutofillMetrics::SAVE_TO_WALLET, 1); | 1192 delegate_.ExpectLogWalletApiCallDuration(AutofillMetrics::SAVE_TO_WALLET, 1); |
1193 delegate_.ExpectBaselineMetrics(); | 1193 delegate_.ExpectBaselineMetrics(); |
1194 | 1194 |
1195 scoped_ptr<Address> address = GetTestSaveableAddress(); | 1195 scoped_ptr<Address> address = GetTestSaveableAddress(); |
1196 wallet_client_->SaveToWallet(scoped_ptr<Instrument>(), | 1196 wallet_client_->SaveToWallet(scoped_ptr<Instrument>(), |
1197 address.Pass()); | 1197 address.Pass(), |
| 1198 NULL, |
| 1199 NULL); |
1198 VerifyAndFinishRequest(net::HTTP_OK, | 1200 VerifyAndFinishRequest(net::HTTP_OK, |
1199 kSaveAddressValidRequest, | 1201 kSaveAddressValidRequest, |
1200 kSaveAddressValidResponse); | 1202 kSaveAddressValidResponse); |
1201 } | 1203 } |
1202 | 1204 |
1203 TEST_F(WalletClientTest, SaveAddressWithRequiredActionsSucceeded) { | 1205 TEST_F(WalletClientTest, SaveAddressWithRequiredActionsSucceeded) { |
1204 delegate_.ExpectLogWalletApiCallDuration(AutofillMetrics::SAVE_TO_WALLET, 1); | 1206 delegate_.ExpectLogWalletApiCallDuration(AutofillMetrics::SAVE_TO_WALLET, 1); |
1205 delegate_.ExpectBaselineMetrics(); | 1207 delegate_.ExpectBaselineMetrics(); |
1206 delegate_.ExpectWalletRequiredActionMetric( | 1208 delegate_.ExpectWalletRequiredActionMetric( |
1207 AutofillMetrics::REQUIRE_PHONE_NUMBER); | 1209 AutofillMetrics::REQUIRE_PHONE_NUMBER); |
1208 delegate_.ExpectWalletRequiredActionMetric( | 1210 delegate_.ExpectWalletRequiredActionMetric( |
1209 AutofillMetrics::INVALID_FORM_FIELD); | 1211 AutofillMetrics::INVALID_FORM_FIELD); |
1210 | 1212 |
1211 std::vector<RequiredAction> required_actions; | 1213 std::vector<RequiredAction> required_actions; |
1212 required_actions.push_back(REQUIRE_PHONE_NUMBER); | 1214 required_actions.push_back(REQUIRE_PHONE_NUMBER); |
1213 required_actions.push_back(INVALID_FORM_FIELD); | 1215 required_actions.push_back(INVALID_FORM_FIELD); |
1214 | 1216 |
1215 std::vector<FormFieldError> form_errors; | 1217 std::vector<FormFieldError> form_errors; |
1216 form_errors.push_back(FormFieldError(FormFieldError::INVALID_POSTAL_CODE, | 1218 form_errors.push_back(FormFieldError(FormFieldError::INVALID_POSTAL_CODE, |
1217 FormFieldError::SHIPPING_ADDRESS)); | 1219 FormFieldError::SHIPPING_ADDRESS)); |
1218 | 1220 |
1219 EXPECT_CALL(delegate_, | 1221 EXPECT_CALL(delegate_, |
1220 OnDidSaveToWallet(std::string(), | 1222 OnDidSaveToWallet(std::string(), |
1221 std::string(), | 1223 std::string(), |
1222 required_actions, | 1224 required_actions, |
1223 form_errors)).Times(1); | 1225 form_errors)).Times(1); |
1224 | 1226 |
1225 scoped_ptr<Address> address = GetTestSaveableAddress(); | 1227 scoped_ptr<Address> address = GetTestSaveableAddress(); |
1226 wallet_client_->SaveToWallet(scoped_ptr<Instrument>(), | 1228 wallet_client_->SaveToWallet(scoped_ptr<Instrument>(), |
1227 address.Pass()); | 1229 address.Pass(), |
| 1230 NULL, |
| 1231 NULL); |
1228 VerifyAndFinishRequest(net::HTTP_OK, | 1232 VerifyAndFinishRequest(net::HTTP_OK, |
1229 kSaveAddressValidRequest, | 1233 kSaveAddressValidRequest, |
1230 kSaveAddressWithRequiredActionsValidResponse); | 1234 kSaveAddressWithRequiredActionsValidResponse); |
1231 } | 1235 } |
1232 | 1236 |
1233 TEST_F(WalletClientTest, SaveAddressFailedInvalidRequiredAction) { | 1237 TEST_F(WalletClientTest, SaveAddressFailedInvalidRequiredAction) { |
1234 EXPECT_CALL(delegate_, | 1238 EXPECT_CALL(delegate_, |
1235 OnWalletError(WalletClient::MALFORMED_RESPONSE)).Times(1); | 1239 OnWalletError(WalletClient::MALFORMED_RESPONSE)).Times(1); |
1236 delegate_.ExpectLogWalletApiCallDuration(AutofillMetrics::SAVE_TO_WALLET, 1); | 1240 delegate_.ExpectLogWalletApiCallDuration(AutofillMetrics::SAVE_TO_WALLET, 1); |
1237 delegate_.ExpectBaselineMetrics(); | 1241 delegate_.ExpectBaselineMetrics(); |
1238 delegate_.ExpectWalletErrorMetric(AutofillMetrics::WALLET_MALFORMED_RESPONSE); | 1242 delegate_.ExpectWalletErrorMetric(AutofillMetrics::WALLET_MALFORMED_RESPONSE); |
1239 delegate_.ExpectLogWalletMalformedResponse(AutofillMetrics::SAVE_TO_WALLET); | 1243 delegate_.ExpectLogWalletMalformedResponse(AutofillMetrics::SAVE_TO_WALLET); |
1240 | 1244 |
1241 scoped_ptr<Address> address = GetTestSaveableAddress(); | 1245 scoped_ptr<Address> address = GetTestSaveableAddress(); |
1242 wallet_client_->SaveToWallet(scoped_ptr<Instrument>(), | 1246 wallet_client_->SaveToWallet(scoped_ptr<Instrument>(), |
1243 address.Pass()); | 1247 address.Pass(), |
| 1248 NULL, |
| 1249 NULL); |
1244 VerifyAndFinishRequest(net::HTTP_OK, | 1250 VerifyAndFinishRequest(net::HTTP_OK, |
1245 kSaveAddressValidRequest, | 1251 kSaveAddressValidRequest, |
1246 kSaveWithInvalidRequiredActionsResponse); | 1252 kSaveWithInvalidRequiredActionsResponse); |
1247 } | 1253 } |
1248 | 1254 |
1249 TEST_F(WalletClientTest, SaveAddressFailedMalformedResponse) { | 1255 TEST_F(WalletClientTest, SaveAddressFailedMalformedResponse) { |
1250 EXPECT_CALL(delegate_, | 1256 EXPECT_CALL(delegate_, |
1251 OnWalletError(WalletClient::MALFORMED_RESPONSE)).Times(1); | 1257 OnWalletError(WalletClient::MALFORMED_RESPONSE)).Times(1); |
1252 delegate_.ExpectLogWalletApiCallDuration(AutofillMetrics::SAVE_TO_WALLET, 1); | 1258 delegate_.ExpectLogWalletApiCallDuration(AutofillMetrics::SAVE_TO_WALLET, 1); |
1253 delegate_.ExpectBaselineMetrics(); | 1259 delegate_.ExpectBaselineMetrics(); |
1254 delegate_.ExpectWalletErrorMetric(AutofillMetrics::WALLET_MALFORMED_RESPONSE); | 1260 delegate_.ExpectWalletErrorMetric(AutofillMetrics::WALLET_MALFORMED_RESPONSE); |
1255 delegate_.ExpectLogWalletMalformedResponse(AutofillMetrics::SAVE_TO_WALLET); | 1261 delegate_.ExpectLogWalletMalformedResponse(AutofillMetrics::SAVE_TO_WALLET); |
1256 | 1262 |
1257 scoped_ptr<Address> address = GetTestSaveableAddress(); | 1263 scoped_ptr<Address> address = GetTestSaveableAddress(); |
1258 wallet_client_->SaveToWallet(scoped_ptr<Instrument>(), | 1264 wallet_client_->SaveToWallet(scoped_ptr<Instrument>(), |
1259 address.Pass()); | 1265 address.Pass(), |
| 1266 NULL, |
| 1267 NULL); |
1260 VerifyAndFinishRequest(net::HTTP_OK, | 1268 VerifyAndFinishRequest(net::HTTP_OK, |
1261 kSaveAddressValidRequest, | 1269 kSaveAddressValidRequest, |
1262 kSaveInvalidResponse); | 1270 kSaveInvalidResponse); |
1263 } | 1271 } |
1264 | 1272 |
1265 TEST_F(WalletClientTest, SaveInstrumentSucceeded) { | 1273 TEST_F(WalletClientTest, SaveInstrumentSucceeded) { |
1266 EXPECT_CALL(delegate_, | 1274 EXPECT_CALL(delegate_, |
1267 OnDidSaveToWallet("instrument_id", | 1275 OnDidSaveToWallet("instrument_id", |
1268 std::string(), | 1276 std::string(), |
1269 std::vector<RequiredAction>(), | 1277 std::vector<RequiredAction>(), |
1270 std::vector<FormFieldError>())).Times(1); | 1278 std::vector<FormFieldError>())).Times(1); |
1271 delegate_.ExpectLogWalletApiCallDuration(AutofillMetrics::SAVE_TO_WALLET, 1); | 1279 delegate_.ExpectLogWalletApiCallDuration(AutofillMetrics::SAVE_TO_WALLET, 1); |
1272 delegate_.ExpectBaselineMetrics(); | 1280 delegate_.ExpectBaselineMetrics(); |
1273 | 1281 |
1274 scoped_ptr<Instrument> instrument = GetTestInstrument(); | 1282 scoped_ptr<Instrument> instrument = GetTestInstrument(); |
1275 wallet_client_->SaveToWallet(instrument.Pass(), | 1283 wallet_client_->SaveToWallet(instrument.Pass(), |
1276 scoped_ptr<Address>()); | 1284 scoped_ptr<Address>(), |
| 1285 NULL, |
| 1286 NULL); |
1277 | 1287 |
1278 VerifyAndFinishFormEncodedRequest(net::HTTP_OK, | 1288 VerifyAndFinishFormEncodedRequest(net::HTTP_OK, |
1279 kSaveInstrumentValidRequest, | 1289 kSaveInstrumentValidRequest, |
1280 kSaveInstrumentValidResponse, | 1290 kSaveInstrumentValidResponse, |
1281 4U); | 1291 4U); |
1282 } | 1292 } |
1283 | 1293 |
1284 TEST_F(WalletClientTest, SaveInstrumentWithRequiredActionsSucceeded) { | 1294 TEST_F(WalletClientTest, SaveInstrumentWithRequiredActionsSucceeded) { |
1285 delegate_.ExpectLogWalletApiCallDuration(AutofillMetrics::SAVE_TO_WALLET, 1); | 1295 delegate_.ExpectLogWalletApiCallDuration(AutofillMetrics::SAVE_TO_WALLET, 1); |
1286 delegate_.ExpectBaselineMetrics(); | 1296 delegate_.ExpectBaselineMetrics(); |
(...skipping 11 matching lines...) Expand all Loading... |
1298 FormFieldError::SHIPPING_ADDRESS)); | 1308 FormFieldError::SHIPPING_ADDRESS)); |
1299 | 1309 |
1300 EXPECT_CALL(delegate_, | 1310 EXPECT_CALL(delegate_, |
1301 OnDidSaveToWallet(std::string(), | 1311 OnDidSaveToWallet(std::string(), |
1302 std::string(), | 1312 std::string(), |
1303 required_actions, | 1313 required_actions, |
1304 form_errors)).Times(1); | 1314 form_errors)).Times(1); |
1305 | 1315 |
1306 scoped_ptr<Instrument> instrument = GetTestInstrument(); | 1316 scoped_ptr<Instrument> instrument = GetTestInstrument(); |
1307 wallet_client_->SaveToWallet(instrument.Pass(), | 1317 wallet_client_->SaveToWallet(instrument.Pass(), |
1308 scoped_ptr<Address>()); | 1318 scoped_ptr<Address>(), |
| 1319 NULL, |
| 1320 NULL); |
1309 | 1321 |
1310 VerifyAndFinishFormEncodedRequest( | 1322 VerifyAndFinishFormEncodedRequest( |
1311 net::HTTP_OK, | 1323 net::HTTP_OK, |
1312 kSaveInstrumentValidRequest, | 1324 kSaveInstrumentValidRequest, |
1313 kSaveInstrumentWithRequiredActionsValidResponse, | 1325 kSaveInstrumentWithRequiredActionsValidResponse, |
1314 4U); | 1326 4U); |
1315 } | 1327 } |
1316 | 1328 |
1317 TEST_F(WalletClientTest, SaveInstrumentFailedInvalidRequiredActions) { | 1329 TEST_F(WalletClientTest, SaveInstrumentFailedInvalidRequiredActions) { |
1318 delegate_.ExpectLogWalletApiCallDuration(AutofillMetrics::SAVE_TO_WALLET, 1); | 1330 delegate_.ExpectLogWalletApiCallDuration(AutofillMetrics::SAVE_TO_WALLET, 1); |
1319 delegate_.ExpectBaselineMetrics(); | 1331 delegate_.ExpectBaselineMetrics(); |
1320 delegate_.ExpectWalletErrorMetric(AutofillMetrics::WALLET_MALFORMED_RESPONSE); | 1332 delegate_.ExpectWalletErrorMetric(AutofillMetrics::WALLET_MALFORMED_RESPONSE); |
1321 delegate_.ExpectLogWalletMalformedResponse(AutofillMetrics::SAVE_TO_WALLET); | 1333 delegate_.ExpectLogWalletMalformedResponse(AutofillMetrics::SAVE_TO_WALLET); |
1322 | 1334 |
1323 EXPECT_CALL(delegate_, | 1335 EXPECT_CALL(delegate_, |
1324 OnWalletError(WalletClient::MALFORMED_RESPONSE)); | 1336 OnWalletError(WalletClient::MALFORMED_RESPONSE)); |
1325 | 1337 |
1326 scoped_ptr<Instrument> instrument = GetTestInstrument(); | 1338 scoped_ptr<Instrument> instrument = GetTestInstrument(); |
1327 wallet_client_->SaveToWallet(instrument.Pass(), | 1339 wallet_client_->SaveToWallet(instrument.Pass(), |
1328 scoped_ptr<Address>()); | 1340 scoped_ptr<Address>(), |
| 1341 NULL, |
| 1342 NULL); |
1329 | 1343 |
1330 VerifyAndFinishFormEncodedRequest(net::HTTP_OK, | 1344 VerifyAndFinishFormEncodedRequest(net::HTTP_OK, |
1331 kSaveInstrumentValidRequest, | 1345 kSaveInstrumentValidRequest, |
1332 kSaveWithInvalidRequiredActionsResponse, | 1346 kSaveWithInvalidRequiredActionsResponse, |
1333 4U); | 1347 4U); |
1334 } | 1348 } |
1335 | 1349 |
1336 TEST_F(WalletClientTest, SaveInstrumentFailedMalformedResponse) { | 1350 TEST_F(WalletClientTest, SaveInstrumentFailedMalformedResponse) { |
1337 EXPECT_CALL(delegate_, | 1351 EXPECT_CALL(delegate_, |
1338 OnWalletError(WalletClient::MALFORMED_RESPONSE)).Times(1); | 1352 OnWalletError(WalletClient::MALFORMED_RESPONSE)).Times(1); |
1339 delegate_.ExpectLogWalletApiCallDuration(AutofillMetrics::SAVE_TO_WALLET, 1); | 1353 delegate_.ExpectLogWalletApiCallDuration(AutofillMetrics::SAVE_TO_WALLET, 1); |
1340 delegate_.ExpectBaselineMetrics(); | 1354 delegate_.ExpectBaselineMetrics(); |
1341 delegate_.ExpectWalletErrorMetric(AutofillMetrics::WALLET_MALFORMED_RESPONSE); | 1355 delegate_.ExpectWalletErrorMetric(AutofillMetrics::WALLET_MALFORMED_RESPONSE); |
1342 delegate_.ExpectLogWalletMalformedResponse(AutofillMetrics::SAVE_TO_WALLET); | 1356 delegate_.ExpectLogWalletMalformedResponse(AutofillMetrics::SAVE_TO_WALLET); |
1343 | 1357 |
1344 scoped_ptr<Instrument> instrument = GetTestInstrument(); | 1358 scoped_ptr<Instrument> instrument = GetTestInstrument(); |
1345 wallet_client_->SaveToWallet(instrument.Pass(), | 1359 wallet_client_->SaveToWallet(instrument.Pass(), |
1346 scoped_ptr<Address>()); | 1360 scoped_ptr<Address>(), |
| 1361 NULL, |
| 1362 NULL); |
1347 | 1363 |
1348 VerifyAndFinishFormEncodedRequest(net::HTTP_OK, | 1364 VerifyAndFinishFormEncodedRequest(net::HTTP_OK, |
1349 kSaveInstrumentValidRequest, | 1365 kSaveInstrumentValidRequest, |
1350 kSaveInvalidResponse, | 1366 kSaveInvalidResponse, |
1351 4U); | 1367 4U); |
1352 } | 1368 } |
1353 | 1369 |
1354 TEST_F(WalletClientTest, SaveInstrumentAndAddressSucceeded) { | 1370 TEST_F(WalletClientTest, SaveInstrumentAndAddressSucceeded) { |
1355 EXPECT_CALL(delegate_, | 1371 EXPECT_CALL(delegate_, |
1356 OnDidSaveToWallet("saved_instrument_id", | 1372 OnDidSaveToWallet("saved_instrument_id", |
1357 "saved_address_id", | 1373 "saved_address_id", |
1358 std::vector<RequiredAction>(), | 1374 std::vector<RequiredAction>(), |
1359 std::vector<FormFieldError>())).Times(1); | 1375 std::vector<FormFieldError>())).Times(1); |
1360 delegate_.ExpectLogWalletApiCallDuration( | 1376 delegate_.ExpectLogWalletApiCallDuration( |
1361 AutofillMetrics::SAVE_TO_WALLET, | 1377 AutofillMetrics::SAVE_TO_WALLET, |
1362 1); | 1378 1); |
1363 delegate_.ExpectBaselineMetrics(); | 1379 delegate_.ExpectBaselineMetrics(); |
1364 | 1380 |
1365 scoped_ptr<Instrument> instrument = GetTestInstrument(); | 1381 scoped_ptr<Instrument> instrument = GetTestInstrument(); |
1366 scoped_ptr<Address> address = GetTestSaveableAddress(); | 1382 scoped_ptr<Address> address = GetTestSaveableAddress(); |
1367 wallet_client_->SaveToWallet(instrument.Pass(), | 1383 wallet_client_->SaveToWallet(instrument.Pass(), address.Pass(), NULL, NULL); |
1368 address.Pass()); | |
1369 | 1384 |
1370 VerifyAndFinishFormEncodedRequest(net::HTTP_OK, | 1385 VerifyAndFinishFormEncodedRequest(net::HTTP_OK, |
1371 kSaveInstrumentAndAddressValidRequest, | 1386 kSaveInstrumentAndAddressValidRequest, |
1372 kSaveInstrumentAndAddressValidResponse, | 1387 kSaveInstrumentAndAddressValidResponse, |
1373 4U); | 1388 4U); |
1374 } | 1389 } |
1375 | 1390 |
1376 TEST_F(WalletClientTest, SaveInstrumentAndAddressWithRequiredActionsSucceeded) { | 1391 TEST_F(WalletClientTest, SaveInstrumentAndAddressWithRequiredActionsSucceeded) { |
1377 delegate_.ExpectLogWalletApiCallDuration( | 1392 delegate_.ExpectLogWalletApiCallDuration( |
1378 AutofillMetrics::SAVE_TO_WALLET, | 1393 AutofillMetrics::SAVE_TO_WALLET, |
(...skipping 13 matching lines...) Expand all Loading... |
1392 FormFieldError::SHIPPING_ADDRESS)); | 1407 FormFieldError::SHIPPING_ADDRESS)); |
1393 | 1408 |
1394 EXPECT_CALL(delegate_, | 1409 EXPECT_CALL(delegate_, |
1395 OnDidSaveToWallet(std::string(), | 1410 OnDidSaveToWallet(std::string(), |
1396 std::string(), | 1411 std::string(), |
1397 required_actions, | 1412 required_actions, |
1398 form_errors)).Times(1); | 1413 form_errors)).Times(1); |
1399 | 1414 |
1400 scoped_ptr<Instrument> instrument = GetTestInstrument(); | 1415 scoped_ptr<Instrument> instrument = GetTestInstrument(); |
1401 scoped_ptr<Address> address = GetTestSaveableAddress(); | 1416 scoped_ptr<Address> address = GetTestSaveableAddress(); |
1402 wallet_client_->SaveToWallet(instrument.Pass(), | 1417 wallet_client_->SaveToWallet(instrument.Pass(), address.Pass(), NULL, NULL); |
1403 address.Pass()); | |
1404 | 1418 |
1405 VerifyAndFinishFormEncodedRequest( | 1419 VerifyAndFinishFormEncodedRequest( |
1406 net::HTTP_OK, | 1420 net::HTTP_OK, |
1407 kSaveInstrumentAndAddressValidRequest, | 1421 kSaveInstrumentAndAddressValidRequest, |
1408 kSaveInstrumentAndAddressWithRequiredActionsValidResponse, | 1422 kSaveInstrumentAndAddressWithRequiredActionsValidResponse, |
1409 4U); | 1423 4U); |
1410 } | 1424 } |
1411 | 1425 |
1412 TEST_F(WalletClientTest, SaveInstrumentAndAddressFailedInvalidRequiredAction) { | 1426 TEST_F(WalletClientTest, SaveInstrumentAndAddressFailedInvalidRequiredAction) { |
1413 EXPECT_CALL(delegate_, | 1427 EXPECT_CALL(delegate_, |
1414 OnWalletError(WalletClient::MALFORMED_RESPONSE)).Times(1); | 1428 OnWalletError(WalletClient::MALFORMED_RESPONSE)).Times(1); |
1415 delegate_.ExpectLogWalletApiCallDuration( | 1429 delegate_.ExpectLogWalletApiCallDuration( |
1416 AutofillMetrics::SAVE_TO_WALLET, | 1430 AutofillMetrics::SAVE_TO_WALLET, |
1417 1); | 1431 1); |
1418 delegate_.ExpectBaselineMetrics(); | 1432 delegate_.ExpectBaselineMetrics(); |
1419 delegate_.ExpectWalletErrorMetric(AutofillMetrics::WALLET_MALFORMED_RESPONSE); | 1433 delegate_.ExpectWalletErrorMetric(AutofillMetrics::WALLET_MALFORMED_RESPONSE); |
1420 delegate_.ExpectLogWalletMalformedResponse(AutofillMetrics::SAVE_TO_WALLET); | 1434 delegate_.ExpectLogWalletMalformedResponse(AutofillMetrics::SAVE_TO_WALLET); |
1421 | 1435 |
1422 scoped_ptr<Instrument> instrument = GetTestInstrument(); | 1436 scoped_ptr<Instrument> instrument = GetTestInstrument(); |
1423 scoped_ptr<Address> address = GetTestSaveableAddress(); | 1437 scoped_ptr<Address> address = GetTestSaveableAddress(); |
1424 wallet_client_->SaveToWallet(instrument.Pass(), | 1438 wallet_client_->SaveToWallet(instrument.Pass(), address.Pass(), NULL, NULL); |
1425 address.Pass()); | |
1426 | 1439 |
1427 VerifyAndFinishFormEncodedRequest(net::HTTP_OK, | 1440 VerifyAndFinishFormEncodedRequest(net::HTTP_OK, |
1428 kSaveInstrumentAndAddressValidRequest, | 1441 kSaveInstrumentAndAddressValidRequest, |
1429 kSaveWithInvalidRequiredActionsResponse, | 1442 kSaveWithInvalidRequiredActionsResponse, |
1430 4U); | 1443 4U); |
1431 } | 1444 } |
1432 | 1445 |
1433 TEST_F(WalletClientTest, UpdateAddressSucceeded) { | 1446 TEST_F(WalletClientTest, UpdateAddressSucceeded) { |
1434 EXPECT_CALL(delegate_, | 1447 EXPECT_CALL(delegate_, |
1435 OnDidSaveToWallet(std::string(), | 1448 OnDidSaveToWallet(std::string(), |
1436 "shipping_address_id", | 1449 "shipping_address_id", |
1437 std::vector<RequiredAction>(), | 1450 std::vector<RequiredAction>(), |
1438 std::vector<FormFieldError>())).Times(1); | 1451 std::vector<FormFieldError>())).Times(1); |
1439 delegate_.ExpectLogWalletApiCallDuration(AutofillMetrics::SAVE_TO_WALLET, 1); | 1452 delegate_.ExpectLogWalletApiCallDuration(AutofillMetrics::SAVE_TO_WALLET, 1); |
1440 delegate_.ExpectBaselineMetrics(); | 1453 delegate_.ExpectBaselineMetrics(); |
1441 | 1454 |
1442 scoped_ptr<Address> address = GetTestShippingAddress(); | 1455 scoped_ptr<Address> server_address = GetTestNonDefaultShippingAddress(); |
1443 address->set_object_id("shipping_address_id"); | 1456 wallet_client_->SaveToWallet(scoped_ptr<Instrument>(), |
| 1457 GetTestShippingAddress(), |
| 1458 NULL, |
| 1459 server_address.get()); |
1444 | 1460 |
1445 wallet_client_->SaveToWallet(scoped_ptr<Instrument>(), | |
1446 address.Pass()); | |
1447 VerifyAndFinishRequest(net::HTTP_OK, | 1461 VerifyAndFinishRequest(net::HTTP_OK, |
1448 kUpdateAddressValidRequest, | 1462 kUpdateAddressValidRequest, |
1449 kUpdateAddressValidResponse); | 1463 kUpdateAddressValidResponse); |
1450 } | 1464 } |
1451 | 1465 |
1452 TEST_F(WalletClientTest, UpdateAddressWithRequiredActionsSucceeded) { | 1466 TEST_F(WalletClientTest, UpdateAddressWithRequiredActionsSucceeded) { |
1453 delegate_.ExpectLogWalletApiCallDuration(AutofillMetrics::SAVE_TO_WALLET, 1); | 1467 delegate_.ExpectLogWalletApiCallDuration(AutofillMetrics::SAVE_TO_WALLET, 1); |
1454 delegate_.ExpectBaselineMetrics(); | 1468 delegate_.ExpectBaselineMetrics(); |
1455 delegate_.ExpectWalletRequiredActionMetric( | 1469 delegate_.ExpectWalletRequiredActionMetric( |
1456 AutofillMetrics::REQUIRE_PHONE_NUMBER); | 1470 AutofillMetrics::REQUIRE_PHONE_NUMBER); |
1457 delegate_.ExpectWalletRequiredActionMetric( | 1471 delegate_.ExpectWalletRequiredActionMetric( |
1458 AutofillMetrics::INVALID_FORM_FIELD); | 1472 AutofillMetrics::INVALID_FORM_FIELD); |
1459 | 1473 |
1460 std::vector<RequiredAction> required_actions; | 1474 std::vector<RequiredAction> required_actions; |
1461 required_actions.push_back(REQUIRE_PHONE_NUMBER); | 1475 required_actions.push_back(REQUIRE_PHONE_NUMBER); |
1462 required_actions.push_back(INVALID_FORM_FIELD); | 1476 required_actions.push_back(INVALID_FORM_FIELD); |
1463 | 1477 |
1464 std::vector<FormFieldError> form_errors; | 1478 std::vector<FormFieldError> form_errors; |
1465 form_errors.push_back(FormFieldError(FormFieldError::INVALID_POSTAL_CODE, | 1479 form_errors.push_back(FormFieldError(FormFieldError::INVALID_POSTAL_CODE, |
1466 FormFieldError::SHIPPING_ADDRESS)); | 1480 FormFieldError::SHIPPING_ADDRESS)); |
1467 | 1481 |
1468 EXPECT_CALL(delegate_, OnDidSaveToWallet(std::string(), | 1482 EXPECT_CALL(delegate_, OnDidSaveToWallet(std::string(), |
1469 std::string(), | 1483 std::string(), |
1470 required_actions, | 1484 required_actions, |
1471 form_errors)).Times(1); | 1485 form_errors)).Times(1); |
1472 | 1486 |
1473 scoped_ptr<Address> address = GetTestShippingAddress(); | 1487 scoped_ptr<Address> server_address = GetTestNonDefaultShippingAddress(); |
1474 address->set_object_id("shipping_address_id"); | 1488 wallet_client_->SaveToWallet(scoped_ptr<Instrument>(), |
| 1489 GetTestShippingAddress(), |
| 1490 NULL, |
| 1491 server_address.get()); |
1475 | 1492 |
1476 wallet_client_->SaveToWallet(scoped_ptr<Instrument>(), | |
1477 address.Pass()); | |
1478 VerifyAndFinishRequest(net::HTTP_OK, | 1493 VerifyAndFinishRequest(net::HTTP_OK, |
1479 kUpdateAddressValidRequest, | 1494 kUpdateAddressValidRequest, |
1480 kUpdateWithRequiredActionsValidResponse); | 1495 kUpdateWithRequiredActionsValidResponse); |
1481 } | 1496 } |
1482 | 1497 |
1483 TEST_F(WalletClientTest, UpdateAddressFailedInvalidRequiredAction) { | 1498 TEST_F(WalletClientTest, UpdateAddressFailedInvalidRequiredAction) { |
1484 EXPECT_CALL(delegate_, | 1499 EXPECT_CALL(delegate_, |
1485 OnWalletError(WalletClient::MALFORMED_RESPONSE)).Times(1); | 1500 OnWalletError(WalletClient::MALFORMED_RESPONSE)).Times(1); |
1486 delegate_.ExpectLogWalletApiCallDuration(AutofillMetrics::SAVE_TO_WALLET, 1); | 1501 delegate_.ExpectLogWalletApiCallDuration(AutofillMetrics::SAVE_TO_WALLET, 1); |
1487 delegate_.ExpectBaselineMetrics(); | 1502 delegate_.ExpectBaselineMetrics(); |
1488 delegate_.ExpectWalletErrorMetric(AutofillMetrics::WALLET_MALFORMED_RESPONSE); | 1503 delegate_.ExpectWalletErrorMetric(AutofillMetrics::WALLET_MALFORMED_RESPONSE); |
1489 delegate_.ExpectLogWalletMalformedResponse(AutofillMetrics::SAVE_TO_WALLET); | 1504 delegate_.ExpectLogWalletMalformedResponse(AutofillMetrics::SAVE_TO_WALLET); |
1490 | 1505 |
1491 scoped_ptr<Address> address = GetTestShippingAddress(); | 1506 scoped_ptr<Address> server_address = GetTestNonDefaultShippingAddress(); |
1492 address->set_object_id("shipping_address_id"); | 1507 wallet_client_->SaveToWallet(scoped_ptr<Instrument>(), |
| 1508 GetTestShippingAddress(), |
| 1509 NULL, |
| 1510 server_address.get()); |
1493 | 1511 |
1494 wallet_client_->SaveToWallet(scoped_ptr<Instrument>(), | |
1495 address.Pass()); | |
1496 VerifyAndFinishRequest(net::HTTP_OK, | 1512 VerifyAndFinishRequest(net::HTTP_OK, |
1497 kUpdateAddressValidRequest, | 1513 kUpdateAddressValidRequest, |
1498 kSaveWithInvalidRequiredActionsResponse); | 1514 kSaveWithInvalidRequiredActionsResponse); |
1499 } | 1515 } |
1500 | 1516 |
1501 TEST_F(WalletClientTest, UpdateAddressMalformedResponse) { | 1517 TEST_F(WalletClientTest, UpdateAddressMalformedResponse) { |
1502 EXPECT_CALL(delegate_, | 1518 EXPECT_CALL(delegate_, |
1503 OnWalletError(WalletClient::MALFORMED_RESPONSE)).Times(1); | 1519 OnWalletError(WalletClient::MALFORMED_RESPONSE)).Times(1); |
1504 delegate_.ExpectLogWalletApiCallDuration(AutofillMetrics::SAVE_TO_WALLET, 1); | 1520 delegate_.ExpectLogWalletApiCallDuration(AutofillMetrics::SAVE_TO_WALLET, 1); |
1505 delegate_.ExpectBaselineMetrics(); | 1521 delegate_.ExpectBaselineMetrics(); |
1506 delegate_.ExpectWalletErrorMetric(AutofillMetrics::WALLET_MALFORMED_RESPONSE); | 1522 delegate_.ExpectWalletErrorMetric(AutofillMetrics::WALLET_MALFORMED_RESPONSE); |
1507 delegate_.ExpectLogWalletMalformedResponse(AutofillMetrics::SAVE_TO_WALLET); | 1523 delegate_.ExpectLogWalletMalformedResponse(AutofillMetrics::SAVE_TO_WALLET); |
1508 | 1524 |
1509 scoped_ptr<Address> address = GetTestShippingAddress(); | 1525 scoped_ptr<Address> server_address = GetTestNonDefaultShippingAddress(); |
1510 address->set_object_id("shipping_address_id"); | 1526 wallet_client_->SaveToWallet(scoped_ptr<Instrument>(), |
| 1527 GetTestShippingAddress(), |
| 1528 NULL, |
| 1529 server_address.get()); |
1511 | 1530 |
1512 wallet_client_->SaveToWallet(scoped_ptr<Instrument>(), | |
1513 address.Pass()); | |
1514 VerifyAndFinishRequest(net::HTTP_OK, | 1531 VerifyAndFinishRequest(net::HTTP_OK, |
1515 kUpdateAddressValidRequest, | 1532 kUpdateAddressValidRequest, |
1516 kUpdateMalformedResponse); | 1533 kUpdateMalformedResponse); |
1517 } | 1534 } |
1518 | 1535 |
1519 TEST_F(WalletClientTest, UpdateInstrumentAddressSucceeded) { | 1536 TEST_F(WalletClientTest, UpdateInstrumentAddressSucceeded) { |
1520 EXPECT_CALL(delegate_, | 1537 EXPECT_CALL(delegate_, |
1521 OnDidSaveToWallet("instrument_id", | 1538 OnDidSaveToWallet("instrument_id", |
1522 std::string(), | 1539 std::string(), |
1523 std::vector<RequiredAction>(), | 1540 std::vector<RequiredAction>(), |
1524 std::vector<FormFieldError>())).Times(1); | 1541 std::vector<FormFieldError>())).Times(1); |
1525 delegate_.ExpectLogWalletApiCallDuration(AutofillMetrics::SAVE_TO_WALLET, | 1542 delegate_.ExpectLogWalletApiCallDuration(AutofillMetrics::SAVE_TO_WALLET, |
1526 1); | 1543 1); |
1527 delegate_.ExpectBaselineMetrics(); | 1544 delegate_.ExpectBaselineMetrics(); |
1528 | 1545 |
| 1546 scoped_ptr<WalletItems::MaskedInstrument> server_instrument = |
| 1547 GetTestMaskedInstrument(); |
1529 wallet_client_->SaveToWallet(GetTestAddressUpgradeInstrument(), | 1548 wallet_client_->SaveToWallet(GetTestAddressUpgradeInstrument(), |
1530 scoped_ptr<Address>()); | 1549 scoped_ptr<Address>(), |
| 1550 server_instrument.get(), |
| 1551 NULL); |
1531 | 1552 |
1532 VerifyAndFinishRequest(net::HTTP_OK, | 1553 VerifyAndFinishRequest(net::HTTP_OK, |
1533 kUpdateInstrumentAddressValidRequest, | 1554 kUpdateInstrumentAddressValidRequest, |
1534 kUpdateInstrumentValidResponse); | 1555 kUpdateInstrumentValidResponse); |
1535 } | 1556 } |
1536 | 1557 |
1537 TEST_F(WalletClientTest, UpdateInstrumentExpirationDateSuceeded) { | 1558 TEST_F(WalletClientTest, UpdateInstrumentExpirationDateSuceeded) { |
1538 EXPECT_CALL(delegate_, | 1559 EXPECT_CALL(delegate_, |
1539 OnDidSaveToWallet("instrument_id", | 1560 OnDidSaveToWallet("instrument_id", |
1540 std::string(), | 1561 std::string(), |
1541 std::vector<RequiredAction>(), | 1562 std::vector<RequiredAction>(), |
1542 std::vector<FormFieldError>())).Times(1); | 1563 std::vector<FormFieldError>())).Times(1); |
1543 delegate_.ExpectLogWalletApiCallDuration(AutofillMetrics::SAVE_TO_WALLET, | 1564 delegate_.ExpectLogWalletApiCallDuration(AutofillMetrics::SAVE_TO_WALLET, |
1544 1); | 1565 1); |
1545 delegate_.ExpectBaselineMetrics(); | 1566 delegate_.ExpectBaselineMetrics(); |
1546 | 1567 |
1547 wallet_client_->SaveToWallet(GetTestExpirationDateChangeInstrument(), | 1568 scoped_ptr<Instrument> instrument = GetTestExpirationDateChangeInstrument(); |
1548 scoped_ptr<Address>()); | 1569 scoped_ptr<WalletItems::MaskedInstrument> server_instrument = |
| 1570 GetTestMaskedInstrumentWithId("instrument_id"); |
| 1571 |
| 1572 int new_month = instrument->expiration_month(); |
| 1573 int new_year = instrument->expiration_year(); |
| 1574 ASSERT_TRUE(new_month != server_instrument->expiration_month() || |
| 1575 new_year != server_instrument->expiration_year()); |
| 1576 |
| 1577 wallet_client_->SaveToWallet(instrument.Pass(), |
| 1578 scoped_ptr<Address>(), |
| 1579 server_instrument.get(), |
| 1580 NULL); |
1549 | 1581 |
1550 VerifyAndFinishFormEncodedRequest(net::HTTP_OK, | 1582 VerifyAndFinishFormEncodedRequest(net::HTTP_OK, |
1551 kUpdateInstrumentExpirationDateValidRequest, | 1583 kUpdateInstrumentExpirationDateValidRequest, |
1552 kUpdateInstrumentValidResponse, | 1584 kUpdateInstrumentValidResponse, |
1553 3U); | 1585 3U); |
1554 } | 1586 } |
1555 | 1587 |
1556 TEST_F(WalletClientTest, UpdateInstrumentAddressWithNameChangeSucceeded) { | 1588 TEST_F(WalletClientTest, UpdateInstrumentAddressWithNameChangeSucceeded) { |
1557 EXPECT_CALL(delegate_, | 1589 EXPECT_CALL(delegate_, |
1558 OnDidSaveToWallet("instrument_id", | 1590 OnDidSaveToWallet("instrument_id", |
1559 std::string(), | 1591 std::string(), |
1560 std::vector<RequiredAction>(), | 1592 std::vector<RequiredAction>(), |
1561 std::vector<FormFieldError>())).Times(1); | 1593 std::vector<FormFieldError>())).Times(1); |
1562 delegate_.ExpectLogWalletApiCallDuration(AutofillMetrics::SAVE_TO_WALLET, | 1594 delegate_.ExpectLogWalletApiCallDuration(AutofillMetrics::SAVE_TO_WALLET, |
1563 1); | 1595 1); |
1564 delegate_.ExpectBaselineMetrics(); | 1596 delegate_.ExpectBaselineMetrics(); |
1565 | 1597 |
| 1598 scoped_ptr<WalletItems::MaskedInstrument> server_instrument = |
| 1599 GetTestMaskedInstrument(); |
1566 wallet_client_->SaveToWallet(GetTestAddressNameChangeInstrument(), | 1600 wallet_client_->SaveToWallet(GetTestAddressNameChangeInstrument(), |
1567 scoped_ptr<Address>()); | 1601 scoped_ptr<Address>(), |
| 1602 server_instrument.get(), |
| 1603 NULL); |
1568 | 1604 |
1569 VerifyAndFinishFormEncodedRequest( | 1605 VerifyAndFinishFormEncodedRequest( |
1570 net::HTTP_OK, | 1606 net::HTTP_OK, |
1571 kUpdateInstrumentAddressWithNameChangeValidRequest, | 1607 kUpdateInstrumentAddressWithNameChangeValidRequest, |
1572 kUpdateInstrumentValidResponse, | 1608 kUpdateInstrumentValidResponse, |
1573 3U); | 1609 3U); |
1574 } | 1610 } |
1575 | 1611 |
1576 TEST_F(WalletClientTest, UpdateInstrumentWithRequiredActionsSucceeded) { | 1612 TEST_F(WalletClientTest, UpdateInstrumentWithRequiredActionsSucceeded) { |
1577 delegate_.ExpectLogWalletApiCallDuration(AutofillMetrics::SAVE_TO_WALLET, | 1613 delegate_.ExpectLogWalletApiCallDuration(AutofillMetrics::SAVE_TO_WALLET, |
(...skipping 11 matching lines...) Expand all Loading... |
1589 std::vector<FormFieldError> form_errors; | 1625 std::vector<FormFieldError> form_errors; |
1590 form_errors.push_back(FormFieldError(FormFieldError::INVALID_POSTAL_CODE, | 1626 form_errors.push_back(FormFieldError(FormFieldError::INVALID_POSTAL_CODE, |
1591 FormFieldError::SHIPPING_ADDRESS)); | 1627 FormFieldError::SHIPPING_ADDRESS)); |
1592 | 1628 |
1593 EXPECT_CALL(delegate_, | 1629 EXPECT_CALL(delegate_, |
1594 OnDidSaveToWallet(std::string(), | 1630 OnDidSaveToWallet(std::string(), |
1595 std::string(), | 1631 std::string(), |
1596 required_actions, | 1632 required_actions, |
1597 form_errors)).Times(1); | 1633 form_errors)).Times(1); |
1598 | 1634 |
| 1635 scoped_ptr<WalletItems::MaskedInstrument> server_instrument = |
| 1636 GetTestMaskedInstrument(); |
1599 wallet_client_->SaveToWallet(GetTestAddressUpgradeInstrument(), | 1637 wallet_client_->SaveToWallet(GetTestAddressUpgradeInstrument(), |
1600 scoped_ptr<Address>()); | 1638 scoped_ptr<Address>(), |
| 1639 server_instrument.get(), |
| 1640 NULL); |
1601 | 1641 |
1602 VerifyAndFinishRequest(net::HTTP_OK, | 1642 VerifyAndFinishRequest(net::HTTP_OK, |
1603 kUpdateInstrumentAddressValidRequest, | 1643 kUpdateInstrumentAddressValidRequest, |
1604 kUpdateWithRequiredActionsValidResponse); | 1644 kUpdateWithRequiredActionsValidResponse); |
1605 } | 1645 } |
1606 | 1646 |
1607 TEST_F(WalletClientTest, UpdateInstrumentFailedInvalidRequiredAction) { | 1647 TEST_F(WalletClientTest, UpdateInstrumentFailedInvalidRequiredAction) { |
1608 EXPECT_CALL(delegate_, | 1648 EXPECT_CALL(delegate_, |
1609 OnWalletError(WalletClient::MALFORMED_RESPONSE)).Times(1); | 1649 OnWalletError(WalletClient::MALFORMED_RESPONSE)).Times(1); |
1610 delegate_.ExpectLogWalletApiCallDuration(AutofillMetrics::SAVE_TO_WALLET, | 1650 delegate_.ExpectLogWalletApiCallDuration(AutofillMetrics::SAVE_TO_WALLET, |
1611 1); | 1651 1); |
1612 delegate_.ExpectBaselineMetrics(); | 1652 delegate_.ExpectBaselineMetrics(); |
1613 delegate_.ExpectWalletErrorMetric(AutofillMetrics::WALLET_MALFORMED_RESPONSE); | 1653 delegate_.ExpectWalletErrorMetric(AutofillMetrics::WALLET_MALFORMED_RESPONSE); |
1614 delegate_.ExpectLogWalletMalformedResponse(AutofillMetrics::SAVE_TO_WALLET); | 1654 delegate_.ExpectLogWalletMalformedResponse(AutofillMetrics::SAVE_TO_WALLET); |
1615 | 1655 |
| 1656 scoped_ptr<WalletItems::MaskedInstrument> server_instrument = |
| 1657 GetTestMaskedInstrument(); |
1616 wallet_client_->SaveToWallet(GetTestAddressUpgradeInstrument(), | 1658 wallet_client_->SaveToWallet(GetTestAddressUpgradeInstrument(), |
1617 scoped_ptr<Address>()); | 1659 scoped_ptr<Address>(), |
| 1660 server_instrument.get(), |
| 1661 NULL); |
1618 | 1662 |
1619 VerifyAndFinishRequest(net::HTTP_OK, | 1663 VerifyAndFinishRequest(net::HTTP_OK, |
1620 kUpdateInstrumentAddressValidRequest, | 1664 kUpdateInstrumentAddressValidRequest, |
1621 kSaveWithInvalidRequiredActionsResponse); | 1665 kSaveWithInvalidRequiredActionsResponse); |
1622 } | 1666 } |
1623 | 1667 |
1624 TEST_F(WalletClientTest, UpdateInstrumentMalformedResponse) { | 1668 TEST_F(WalletClientTest, UpdateInstrumentMalformedResponse) { |
1625 EXPECT_CALL(delegate_, | 1669 EXPECT_CALL(delegate_, |
1626 OnWalletError(WalletClient::MALFORMED_RESPONSE)).Times(1); | 1670 OnWalletError(WalletClient::MALFORMED_RESPONSE)).Times(1); |
1627 delegate_.ExpectLogWalletApiCallDuration(AutofillMetrics::SAVE_TO_WALLET, | 1671 delegate_.ExpectLogWalletApiCallDuration(AutofillMetrics::SAVE_TO_WALLET, |
1628 1); | 1672 1); |
1629 delegate_.ExpectBaselineMetrics(); | 1673 delegate_.ExpectBaselineMetrics(); |
1630 delegate_.ExpectWalletErrorMetric(AutofillMetrics::WALLET_MALFORMED_RESPONSE); | 1674 delegate_.ExpectWalletErrorMetric(AutofillMetrics::WALLET_MALFORMED_RESPONSE); |
1631 delegate_.ExpectLogWalletMalformedResponse(AutofillMetrics::SAVE_TO_WALLET); | 1675 delegate_.ExpectLogWalletMalformedResponse(AutofillMetrics::SAVE_TO_WALLET); |
1632 | 1676 |
| 1677 scoped_ptr<WalletItems::MaskedInstrument> server_instrument = |
| 1678 GetTestMaskedInstrument(); |
1633 wallet_client_->SaveToWallet(GetTestAddressUpgradeInstrument(), | 1679 wallet_client_->SaveToWallet(GetTestAddressUpgradeInstrument(), |
1634 scoped_ptr<Address>()); | 1680 scoped_ptr<Address>(), |
| 1681 server_instrument.get(), |
| 1682 NULL); |
1635 | 1683 |
1636 VerifyAndFinishRequest(net::HTTP_OK, | 1684 VerifyAndFinishRequest(net::HTTP_OK, |
1637 kUpdateInstrumentAddressValidRequest, | 1685 kUpdateInstrumentAddressValidRequest, |
1638 kUpdateMalformedResponse); | 1686 kUpdateMalformedResponse); |
1639 } | 1687 } |
1640 | 1688 |
1641 TEST_F(WalletClientTest, HasRequestInProgress) { | 1689 TEST_F(WalletClientTest, HasRequestInProgress) { |
1642 EXPECT_FALSE(wallet_client_->HasRequestInProgress()); | 1690 EXPECT_FALSE(wallet_client_->HasRequestInProgress()); |
1643 delegate_.ExpectLogWalletApiCallDuration(AutofillMetrics::GET_WALLET_ITEMS, | 1691 delegate_.ExpectLogWalletApiCallDuration(AutofillMetrics::GET_WALLET_ITEMS, |
1644 1); | 1692 1); |
(...skipping 53 matching lines...) Expand 10 before | Expand all | Expand 10 after Loading... |
1698 wallet_client_->GetWalletItems(); | 1746 wallet_client_->GetWalletItems(); |
1699 EXPECT_EQ(2U, wallet_client_->pending_requests_.size()); | 1747 EXPECT_EQ(2U, wallet_client_->pending_requests_.size()); |
1700 | 1748 |
1701 wallet_client_->CancelRequests(); | 1749 wallet_client_->CancelRequests(); |
1702 EXPECT_EQ(0U, wallet_client_->pending_requests_.size()); | 1750 EXPECT_EQ(0U, wallet_client_->pending_requests_.size()); |
1703 EXPECT_FALSE(wallet_client_->HasRequestInProgress()); | 1751 EXPECT_FALSE(wallet_client_->HasRequestInProgress()); |
1704 } | 1752 } |
1705 | 1753 |
1706 } // namespace wallet | 1754 } // namespace wallet |
1707 } // namespace autofill | 1755 } // namespace autofill |
OLD | NEW |