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

Side by Side Diff: chrome/browser/sync/test/integration/sync_test.cc

Issue 650463003: Improve error triggering in sync_integration_tests (Closed) Base URL: https://chromium.googlesource.com/chromium/src.git@master
Patch Set: Created 6 years, 2 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
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/browser/sync/test/integration/sync_test.h" 5 #include "chrome/browser/sync/test/integration/sync_test.h"
6 6
7 #include <vector> 7 #include <vector>
8 8
9 #include "base/basictypes.h" 9 #include "base/basictypes.h"
10 #include "base/bind.h" 10 #include "base/bind.h"
(...skipping 944 matching lines...) Expand 10 before | Expand all | Expand 10 after
955 browser()->tab_strip_model()->GetActiveWebContents()-> 955 browser()->tab_strip_model()->GetActiveWebContents()->
956 GetTitle())); 956 GetTitle()));
957 } 957 }
958 958
959 void SyncTest::TriggerXmppAuthError() { 959 void SyncTest::TriggerXmppAuthError() {
960 ASSERT_TRUE(ServerSupportsErrorTriggering()); 960 ASSERT_TRUE(ServerSupportsErrorTriggering());
961 std::string path = "chromiumsync/xmppcred"; 961 std::string path = "chromiumsync/xmppcred";
962 ui_test_utils::NavigateToURL(browser(), sync_server_.GetURL(path)); 962 ui_test_utils::NavigateToURL(browser(), sync_server_.GetURL(path));
963 } 963 }
964 964
965 namespace {
966
967 sync_pb::SyncEnums::ErrorType
968 GetClientToServerResponseErrorType(
969 syncer::SyncProtocolErrorType error) {
970 switch (error) {
971 case syncer::SYNC_SUCCESS:
972 return sync_pb::SyncEnums::SUCCESS;
973 case syncer::NOT_MY_BIRTHDAY:
974 return sync_pb::SyncEnums::NOT_MY_BIRTHDAY;
975 case syncer::THROTTLED:
976 return sync_pb::SyncEnums::THROTTLED;
977 case syncer::CLEAR_PENDING:
978 return sync_pb::SyncEnums::CLEAR_PENDING;
979 case syncer::TRANSIENT_ERROR:
980 return sync_pb::SyncEnums::TRANSIENT_ERROR;
981 case syncer::MIGRATION_DONE:
982 return sync_pb::SyncEnums::MIGRATION_DONE;
983 case syncer::UNKNOWN_ERROR:
984 return sync_pb::SyncEnums::UNKNOWN;
985 case syncer::INVALID_CREDENTIAL:
986 NOTREACHED(); // NOTREACHED() because auth error is not set through
987 // error code in sync response.
988 return sync_pb::SyncEnums::UNKNOWN;
989 case syncer::DISABLED_BY_ADMIN:
990 return sync_pb::SyncEnums::DISABLED_BY_ADMIN;
991 case syncer::USER_ROLLBACK:
992 return sync_pb::SyncEnums::USER_ROLLBACK;
993 case syncer::NON_RETRIABLE_ERROR:
994 return sync_pb::SyncEnums::UNKNOWN;
995 }
996 return sync_pb::SyncEnums::UNKNOWN;
997 }
998
999 sync_pb::SyncEnums::Action GetClientToServerResponseAction(
1000 const syncer::ClientAction& action) {
1001 switch (action) {
1002 case syncer::UPGRADE_CLIENT:
1003 return sync_pb::SyncEnums::UPGRADE_CLIENT;
1004 case syncer::CLEAR_USER_DATA_AND_RESYNC:
1005 return sync_pb::SyncEnums::CLEAR_USER_DATA_AND_RESYNC;
1006 case syncer::ENABLE_SYNC_ON_ACCOUNT:
1007 return sync_pb::SyncEnums::ENABLE_SYNC_ON_ACCOUNT;
1008 case syncer::STOP_AND_RESTART_SYNC:
1009 return sync_pb::SyncEnums::STOP_AND_RESTART_SYNC;
1010 case syncer::DISABLE_SYNC_ON_CLIENT:
1011 return sync_pb::SyncEnums::DISABLE_SYNC_ON_CLIENT;
1012 case syncer::STOP_SYNC_FOR_DISABLED_ACCOUNT:
1013 case syncer::DISABLE_SYNC_AND_ROLLBACK:
1014 case syncer::ROLLBACK_DONE:
1015 NOTREACHED(); // No corresponding proto action for these. Shouldn't
1016 // test.
1017 return sync_pb::SyncEnums::UNKNOWN_ACTION;
1018 case syncer::UNKNOWN_ACTION:
1019 return sync_pb::SyncEnums::UNKNOWN_ACTION;
1020 }
1021 return sync_pb::SyncEnums::UNKNOWN_ACTION;
1022 }
1023
1024 } // namespace
1025
1026 void SyncTest::TriggerSyncError(const syncer::SyncProtocolError& error,
1027 SyncErrorFrequency frequency) {
1028 ASSERT_TRUE(ServerSupportsErrorTriggering());
1029 std::string path = "chromiumsync/error";
1030 int error_type =
1031 static_cast<int>(GetClientToServerResponseErrorType(
1032 error.error_type));
1033 int action = static_cast<int>(GetClientToServerResponseAction(
1034 error.action));
1035
1036 path.append(base::StringPrintf("?error=%d", error_type));
1037 path.append(base::StringPrintf("&action=%d", action));
1038
1039 path.append(base::StringPrintf("&error_description=%s",
1040 error.error_description.c_str()));
1041 path.append(base::StringPrintf("&url=%s", error.url.c_str()));
1042 path.append(base::StringPrintf("&frequency=%d", frequency));
1043
1044 ui_test_utils::NavigateToURL(browser(), sync_server_.GetURL(path));
1045 std::string output = base::UTF16ToASCII(
1046 browser()->tab_strip_model()->GetActiveWebContents()->GetTitle());
1047 ASSERT_TRUE(output.find("SetError: 200") != base::string16::npos);
1048 }
1049
1050 void SyncTest::TriggerCreateSyncedBookmarks() { 965 void SyncTest::TriggerCreateSyncedBookmarks() {
1051 ASSERT_TRUE(ServerSupportsErrorTriggering()); 966 ASSERT_TRUE(ServerSupportsErrorTriggering());
1052 std::string path = "chromiumsync/createsyncedbookmarks"; 967 std::string path = "chromiumsync/createsyncedbookmarks";
1053 ui_test_utils::NavigateToURL(browser(), sync_server_.GetURL(path)); 968 ui_test_utils::NavigateToURL(browser(), sync_server_.GetURL(path));
1054 ASSERT_EQ("Synced Bookmarks", 969 ASSERT_EQ("Synced Bookmarks",
1055 base::UTF16ToASCII( 970 base::UTF16ToASCII(
1056 browser()->tab_strip_model()->GetActiveWebContents()-> 971 browser()->tab_strip_model()->GetActiveWebContents()->
1057 GetTitle())); 972 GetTitle()));
1058 } 973 }
1059 974
(...skipping 12 matching lines...) Expand all
1072 BrowserThread::PostTask( 987 BrowserThread::PostTask(
1073 BrowserThread::IO, FROM_HERE, 988 BrowserThread::IO, FROM_HERE,
1074 base::Bind(&SetProxyConfigCallback, &done, 989 base::Bind(&SetProxyConfigCallback, &done,
1075 make_scoped_refptr(context_getter), proxy_config)); 990 make_scoped_refptr(context_getter), proxy_config));
1076 done.Wait(); 991 done.Wait();
1077 } 992 }
1078 993
1079 fake_server::FakeServer* SyncTest::GetFakeServer() const { 994 fake_server::FakeServer* SyncTest::GetFakeServer() const {
1080 return fake_server_.get(); 995 return fake_server_.get();
1081 } 996 }
OLDNEW

Powered by Google App Engine
This is Rietveld 408576698