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

Unified Diff: chrome/browser/ui/autofill/autofill_dialog_controller_unittest.cc

Issue 14904002: Load and send Wallet Risk params after user has agreed (Closed) Base URL: svn://svn.chromium.org/chrome/trunk/src
Patch Set: Created 7 years, 8 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 side-by-side diff with in-line comments
Download patch
Index: chrome/browser/ui/autofill/autofill_dialog_controller_unittest.cc
diff --git a/chrome/browser/ui/autofill/autofill_dialog_controller_unittest.cc b/chrome/browser/ui/autofill/autofill_dialog_controller_unittest.cc
index 70078fc9cf3eba95b80bec0e29b09a4f7fa14ba8..4aaadbc41b9eec5c77a1dd9a4cda63fcfd88d29a 100644
--- a/chrome/browser/ui/autofill/autofill_dialog_controller_unittest.cc
+++ b/chrome/browser/ui/autofill/autofill_dialog_controller_unittest.cc
@@ -13,6 +13,7 @@
#include "chrome/test/base/testing_profile.h"
#include "components/autofill/browser/autofill_common_test.h"
#include "components/autofill/browser/autofill_metrics.h"
+#include "components/autofill/browser/risk/proto/fingerprint.pb.h"
#include "components/autofill/browser/test_personal_data_manager.h"
#include "components/autofill/browser/wallet/full_wallet.h"
#include "components/autofill/browser/wallet/instrument.h"
@@ -179,7 +180,12 @@ class TestAutofillDialogController
return &test_wallet_client_;
}
+ MOCK_METHOD0(LoadRiskFingerprintData, void());
+
void set_is_first_run(bool is_first_run) { is_first_run_ = is_first_run; }
+ void set_fingerprint_data(std::string fingerprint_data) {
Ilya Sherman 2013/05/03 07:38:31 nit: Pass by const-reference.
Dan Beam 2013/05/03 23:02:40 Done.
+ fingerprint_data_ = fingerprint_data;
+ }
protected:
virtual PersonalDataManager* GetManager() OVERRIDE {
@@ -194,6 +200,12 @@ class TestAutofillDialogController
return is_first_run_;
}
+ virtual void SerializeFingerprint(risk::Fingerprint* fingerprint,
+ std::string* data) {
+ // Ignore |fingerprint|, it's NULL.
Ilya Sherman 2013/05/03 07:38:31 Why? It seems much better not to override this me
Dan Beam 2013/05/03 09:24:47 If it's obvious what the base64 encoded expected t
Ilya Sherman 2013/05/07 00:59:30 It's pretty easy to encode the data and DLOG what
Dan Beam 2013/05/07 05:02:38 Done.
+ data->assign(fingerprint_data_);
+ }
+
private:
// To specify our own metric logger.
virtual const AutofillMetrics& GetMetricLogger() const OVERRIDE {
@@ -204,6 +216,7 @@ class TestAutofillDialogController
TestPersonalDataManager test_manager_;
testing::NiceMock<TestWalletClient> test_wallet_client_;
bool is_first_run_;
+ std::string fingerprint_data_;
DISALLOW_COPY_AND_ASSIGN(TestAutofillDialogController);
};
@@ -238,7 +251,7 @@ class AutofillDialogControllerTest : public testing::Test {
base::Callback<void(const FormStructure*, const std::string&)> callback =
base::Bind(&AutofillDialogControllerTest::FinishedCallback,
base::Unretained(this));
- controller_ = (new TestAutofillDialogController(
+ controller_ = (new testing::NiceMock<TestAutofillDialogController>(
test_web_contents_.get(),
form_data,
GURL(),
@@ -942,4 +955,32 @@ TEST_F(AutofillDialogControllerTest, SaveDetailsInChrome) {
EXPECT_FALSE(controller()->ShouldOfferToSaveInChrome());
}
+TEST_F(AutofillDialogControllerTest, RiskRespectsLegalDocs) {
+ EXPECT_CALL(*controller(), LoadRiskFingerprintData()).Times(0);
+
+ scoped_ptr<wallet::WalletItems> wallet_items = wallet::GetTestWalletItems();
+ wallet_items->AddLegalDocument(wallet::GetTestLegalDocument());
+ controller()->OnDidGetWalletItems(wallet_items.Pass());
+
+ EXPECT_EQ("risky business", controller()->GetRiskData());
+}
+
+TEST_F(AutofillDialogControllerTest, LoadRiskWhenNoLegalDocs) {
+ EXPECT_CALL(*controller(), LoadRiskFingerprintData()).Times(1);
+
+ scoped_ptr<wallet::WalletItems> wallet_items = wallet::GetTestWalletItems();
+ wallet_items->AddLegalDocument(wallet::GetTestLegalDocument());
+ controller()->OnDidGetWalletItems(wallet_items.Pass());
+ controller()->OnDidAcceptLegalDocuments();
+
+ // No OnRiskFingerprintDataLoaded() has happened yet.
+ EXPECT_EQ("risky business", controller()->GetRiskData());
+
+ scoped_ptr<risk::Fingerprint> fake_fingerprint;
+
+ controller()->set_fingerprint_data("hello");
+ controller()->OnDidLoadRiskFingerprintData(fake_fingerprint.Pass());
+ EXPECT_EQ("aGVsbG8=", controller()->GetRiskData());
+}
+
} // namespace autofill

Powered by Google App Engine
This is Rietveld 408576698