OLD | NEW |
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/browser/ui/webui/sync_setup_handler.h" | 5 #include "chrome/browser/ui/webui/sync_setup_handler.h" |
6 | 6 |
7 #include <vector> | 7 #include <vector> |
8 | 8 |
9 #include "base/command_line.h" | 9 #include "base/command_line.h" |
10 #include "base/json/json_writer.h" | 10 #include "base/json/json_writer.h" |
(...skipping 286 matching lines...) Expand 10 before | Expand all | Expand 10 after Loading... |
297 // Setup the expectations for calls made when displaying the config page. | 297 // Setup the expectations for calls made when displaying the config page. |
298 void SetDefaultExpectationsForConfigPage() { | 298 void SetDefaultExpectationsForConfigPage() { |
299 EXPECT_CALL(*mock_pss_, IsSyncEnabledAndLoggedIn()). | 299 EXPECT_CALL(*mock_pss_, IsSyncEnabledAndLoggedIn()). |
300 WillRepeatedly(Return(true)); | 300 WillRepeatedly(Return(true)); |
301 EXPECT_CALL(*mock_pss_, GetRegisteredDataTypes()). | 301 EXPECT_CALL(*mock_pss_, GetRegisteredDataTypes()). |
302 WillRepeatedly(Return(GetAllTypes())); | 302 WillRepeatedly(Return(GetAllTypes())); |
303 EXPECT_CALL(*mock_pss_, GetPreferredDataTypes()). | 303 EXPECT_CALL(*mock_pss_, GetPreferredDataTypes()). |
304 WillRepeatedly(Return(GetAllTypes())); | 304 WillRepeatedly(Return(GetAllTypes())); |
305 EXPECT_CALL(*mock_pss_, GetActiveDataTypes()). | 305 EXPECT_CALL(*mock_pss_, GetActiveDataTypes()). |
306 WillRepeatedly(Return(GetAllTypes())); | 306 WillRepeatedly(Return(GetAllTypes())); |
| 307 EXPECT_CALL(*mock_pss_, EncryptEverythingAllowed()). |
| 308 WillRepeatedly(Return(true)); |
307 EXPECT_CALL(*mock_pss_, EncryptEverythingEnabled()). | 309 EXPECT_CALL(*mock_pss_, EncryptEverythingEnabled()). |
308 WillRepeatedly(Return(false)); | 310 WillRepeatedly(Return(false)); |
309 } | 311 } |
310 | 312 |
311 void SetupInitializedProfileSyncService() { | 313 void SetupInitializedProfileSyncService() { |
312 // An initialized ProfileSyncService will have already completed sync setup | 314 // An initialized ProfileSyncService will have already completed sync setup |
313 // and will have an initialized sync backend. | 315 // and will have an initialized sync backend. |
314 ASSERT_TRUE(mock_signin_->IsInitialized()); | 316 ASSERT_TRUE(mock_signin_->IsInitialized()); |
315 EXPECT_CALL(*mock_pss_, backend_initialized()).WillRepeatedly(Return(true)); | 317 EXPECT_CALL(*mock_pss_, backend_initialized()).WillRepeatedly(Return(true)); |
316 } | 318 } |
(...skipping 186 matching lines...) Expand 10 before | Expand all | Expand 10 after Loading... |
503 EXPECT_EQ(2U, web_ui_.call_data().size()); | 505 EXPECT_EQ(2U, web_ui_.call_data().size()); |
504 const TestWebUI::CallData& data1 = web_ui_.call_data().back(); | 506 const TestWebUI::CallData& data1 = web_ui_.call_data().back(); |
505 EXPECT_EQ("SyncSetupOverlay.showSyncSetupPage", data1.function_name); | 507 EXPECT_EQ("SyncSetupOverlay.showSyncSetupPage", data1.function_name); |
506 ASSERT_TRUE(data1.arg1->GetAsString(&page)); | 508 ASSERT_TRUE(data1.arg1->GetAsString(&page)); |
507 EXPECT_EQ(page, "configure"); | 509 EXPECT_EQ(page, "configure"); |
508 base::DictionaryValue* dictionary; | 510 base::DictionaryValue* dictionary; |
509 ASSERT_TRUE(data1.arg2->GetAsDictionary(&dictionary)); | 511 ASSERT_TRUE(data1.arg2->GetAsDictionary(&dictionary)); |
510 CheckBool(dictionary, "passphraseFailed", false); | 512 CheckBool(dictionary, "passphraseFailed", false); |
511 CheckBool(dictionary, "showSyncEverythingPage", false); | 513 CheckBool(dictionary, "showSyncEverythingPage", false); |
512 CheckBool(dictionary, "syncAllDataTypes", true); | 514 CheckBool(dictionary, "syncAllDataTypes", true); |
| 515 CheckBool(dictionary, "encryptAllDataAllowed", true); |
513 CheckBool(dictionary, "encryptAllData", false); | 516 CheckBool(dictionary, "encryptAllData", false); |
514 CheckBool(dictionary, "usePassphrase", false); | 517 CheckBool(dictionary, "usePassphrase", false); |
515 } | 518 } |
516 | 519 |
517 // Verifies the case where the user cancels after the sync backend has | 520 // Verifies the case where the user cancels after the sync backend has |
518 // initialized (meaning it already transitioned from the spinner to a proper | 521 // initialized (meaning it already transitioned from the spinner to a proper |
519 // configuration page, tested by | 522 // configuration page, tested by |
520 // DisplayConfigureWithBackendDisabledAndSigninSuccess), but before the user | 523 // DisplayConfigureWithBackendDisabledAndSigninSuccess), but before the user |
521 // before the user has continued on. | 524 // before the user has continued on. |
522 TEST_F(SyncSetupHandlerTest, | 525 TEST_F(SyncSetupHandlerTest, |
(...skipping 138 matching lines...) Expand 10 before | Expand all | Expand 10 after Loading... |
661 | 664 |
662 TEST_F(SyncSetupHandlerTest, TurnOnEncryptAll) { | 665 TEST_F(SyncSetupHandlerTest, TurnOnEncryptAll) { |
663 std::string args = GetConfiguration( | 666 std::string args = GetConfiguration( |
664 NULL, SYNC_ALL_DATA, GetAllTypes(), std::string(), ENCRYPT_ALL_DATA); | 667 NULL, SYNC_ALL_DATA, GetAllTypes(), std::string(), ENCRYPT_ALL_DATA); |
665 base::ListValue list_args; | 668 base::ListValue list_args; |
666 list_args.Append(new base::StringValue(args)); | 669 list_args.Append(new base::StringValue(args)); |
667 EXPECT_CALL(*mock_pss_, IsPassphraseRequiredForDecryption()) | 670 EXPECT_CALL(*mock_pss_, IsPassphraseRequiredForDecryption()) |
668 .WillRepeatedly(Return(false)); | 671 .WillRepeatedly(Return(false)); |
669 EXPECT_CALL(*mock_pss_, IsPassphraseRequired()) | 672 EXPECT_CALL(*mock_pss_, IsPassphraseRequired()) |
670 .WillRepeatedly(Return(false)); | 673 .WillRepeatedly(Return(false)); |
| 674 EXPECT_CALL(*mock_pss_, EncryptEverythingAllowed()) |
| 675 .WillRepeatedly(Return(true)); |
671 SetupInitializedProfileSyncService(); | 676 SetupInitializedProfileSyncService(); |
672 EXPECT_CALL(*mock_pss_, EnableEncryptEverything()); | 677 EXPECT_CALL(*mock_pss_, EnableEncryptEverything()); |
673 EXPECT_CALL(*mock_pss_, OnUserChoseDatatypes(true, _)); | 678 EXPECT_CALL(*mock_pss_, OnUserChoseDatatypes(true, _)); |
674 handler_->HandleConfigure(&list_args); | 679 handler_->HandleConfigure(&list_args); |
675 | 680 |
676 // Ensure that we navigated to the "done" state since we don't need a | 681 // Ensure that we navigated to the "done" state since we don't need a |
677 // passphrase. | 682 // passphrase. |
678 ExpectDone(); | 683 ExpectDone(); |
679 } | 684 } |
680 | 685 |
(...skipping 354 matching lines...) Expand 10 before | Expand all | Expand 10 after Loading... |
1035 | 1040 |
1036 // This should display the sync setup dialog (not login). | 1041 // This should display the sync setup dialog (not login). |
1037 handler_->OpenSyncSetup(); | 1042 handler_->OpenSyncSetup(); |
1038 | 1043 |
1039 ExpectConfig(); | 1044 ExpectConfig(); |
1040 const TestWebUI::CallData& data = web_ui_.call_data()[0]; | 1045 const TestWebUI::CallData& data = web_ui_.call_data()[0]; |
1041 base::DictionaryValue* dictionary; | 1046 base::DictionaryValue* dictionary; |
1042 ASSERT_TRUE(data.arg2->GetAsDictionary(&dictionary)); | 1047 ASSERT_TRUE(data.arg2->GetAsDictionary(&dictionary)); |
1043 CheckBool(dictionary, "encryptAllData", true); | 1048 CheckBool(dictionary, "encryptAllData", true); |
1044 } | 1049 } |
| 1050 |
| 1051 TEST_F(SyncSetupHandlerTest, ShowSetupEncryptAllDisallowed) { |
| 1052 EXPECT_CALL(*mock_pss_, IsPassphraseRequired()) |
| 1053 .WillRepeatedly(Return(false)); |
| 1054 EXPECT_CALL(*mock_pss_, IsUsingSecondaryPassphrase()) |
| 1055 .WillRepeatedly(Return(false)); |
| 1056 SetupInitializedProfileSyncService(); |
| 1057 SetDefaultExpectationsForConfigPage(); |
| 1058 EXPECT_CALL(*mock_pss_, EncryptEverythingAllowed()). |
| 1059 WillRepeatedly(Return(false)); |
| 1060 |
| 1061 // This should display the sync setup dialog (not login). |
| 1062 handler_->OpenSyncSetup(); |
| 1063 |
| 1064 ExpectConfig(); |
| 1065 const TestWebUI::CallData& data = web_ui_.call_data()[0]; |
| 1066 base::DictionaryValue* dictionary; |
| 1067 ASSERT_TRUE(data.arg2->GetAsDictionary(&dictionary)); |
| 1068 CheckBool(dictionary, "encryptAllData", false); |
| 1069 CheckBool(dictionary, "encryptAllDataAllowed", false); |
| 1070 } |
| 1071 |
| 1072 TEST_F(SyncSetupHandlerTest, TurnOnEncryptAllDisallowed) { |
| 1073 std::string args = GetConfiguration( |
| 1074 NULL, SYNC_ALL_DATA, GetAllTypes(), std::string(), ENCRYPT_ALL_DATA); |
| 1075 base::ListValue list_args; |
| 1076 list_args.Append(new base::StringValue(args)); |
| 1077 EXPECT_CALL(*mock_pss_, IsPassphraseRequiredForDecryption()) |
| 1078 .WillRepeatedly(Return(false)); |
| 1079 EXPECT_CALL(*mock_pss_, IsPassphraseRequired()) |
| 1080 .WillRepeatedly(Return(false)); |
| 1081 SetupInitializedProfileSyncService(); |
| 1082 EXPECT_CALL(*mock_pss_, EncryptEverythingAllowed()). |
| 1083 WillRepeatedly(Return(false)); |
| 1084 EXPECT_CALL(*mock_pss_, EnableEncryptEverything()).Times(0); |
| 1085 EXPECT_CALL(*mock_pss_, OnUserChoseDatatypes(true, _)); |
| 1086 handler_->HandleConfigure(&list_args); |
| 1087 |
| 1088 // Ensure that we navigated to the "done" state since we don't need a |
| 1089 // passphrase. |
| 1090 ExpectDone(); |
| 1091 } |
| 1092 |
OLD | NEW |