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

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
« no previous file with comments | « chrome/browser/sync/test/integration/sync_test.h ('k') | sync/test/fake_server/fake_server.h » ('j') | no next file with comments »
Toggle Intra-line Diffs ('i') | Expand Comments ('e') | Collapse Comments ('c') | Show Comments Hide Comments ('s')
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 891 matching lines...) Expand 10 before | Expand all | Expand 10 after
902 browser()->tab_strip_model()->GetActiveWebContents()-> 902 browser()->tab_strip_model()->GetActiveWebContents()->
903 GetTitle())); 903 GetTitle()));
904 } 904 }
905 905
906 void SyncTest::TriggerXmppAuthError() { 906 void SyncTest::TriggerXmppAuthError() {
907 ASSERT_TRUE(ServerSupportsErrorTriggering()); 907 ASSERT_TRUE(ServerSupportsErrorTriggering());
908 std::string path = "chromiumsync/xmppcred"; 908 std::string path = "chromiumsync/xmppcred";
909 ui_test_utils::NavigateToURL(browser(), sync_server_.GetURL(path)); 909 ui_test_utils::NavigateToURL(browser(), sync_server_.GetURL(path));
910 } 910 }
911 911
912 namespace {
913
914 sync_pb::SyncEnums::ErrorType
915 GetClientToServerResponseErrorType(
916 syncer::SyncProtocolErrorType error) {
917 switch (error) {
918 case syncer::SYNC_SUCCESS:
919 return sync_pb::SyncEnums::SUCCESS;
920 case syncer::NOT_MY_BIRTHDAY:
921 return sync_pb::SyncEnums::NOT_MY_BIRTHDAY;
922 case syncer::THROTTLED:
923 return sync_pb::SyncEnums::THROTTLED;
924 case syncer::CLEAR_PENDING:
925 return sync_pb::SyncEnums::CLEAR_PENDING;
926 case syncer::TRANSIENT_ERROR:
927 return sync_pb::SyncEnums::TRANSIENT_ERROR;
928 case syncer::MIGRATION_DONE:
929 return sync_pb::SyncEnums::MIGRATION_DONE;
930 case syncer::UNKNOWN_ERROR:
931 return sync_pb::SyncEnums::UNKNOWN;
932 case syncer::INVALID_CREDENTIAL:
933 NOTREACHED(); // NOTREACHED() because auth error is not set through
934 // error code in sync response.
935 return sync_pb::SyncEnums::UNKNOWN;
936 case syncer::DISABLED_BY_ADMIN:
937 return sync_pb::SyncEnums::DISABLED_BY_ADMIN;
938 case syncer::USER_ROLLBACK:
939 return sync_pb::SyncEnums::USER_ROLLBACK;
940 case syncer::NON_RETRIABLE_ERROR:
941 return sync_pb::SyncEnums::UNKNOWN;
942 }
943 return sync_pb::SyncEnums::UNKNOWN;
944 }
945
946 sync_pb::SyncEnums::Action GetClientToServerResponseAction(
947 const syncer::ClientAction& action) {
948 switch (action) {
949 case syncer::UPGRADE_CLIENT:
950 return sync_pb::SyncEnums::UPGRADE_CLIENT;
951 case syncer::CLEAR_USER_DATA_AND_RESYNC:
952 return sync_pb::SyncEnums::CLEAR_USER_DATA_AND_RESYNC;
953 case syncer::ENABLE_SYNC_ON_ACCOUNT:
954 return sync_pb::SyncEnums::ENABLE_SYNC_ON_ACCOUNT;
955 case syncer::STOP_AND_RESTART_SYNC:
956 return sync_pb::SyncEnums::STOP_AND_RESTART_SYNC;
957 case syncer::DISABLE_SYNC_ON_CLIENT:
958 return sync_pb::SyncEnums::DISABLE_SYNC_ON_CLIENT;
959 case syncer::STOP_SYNC_FOR_DISABLED_ACCOUNT:
960 case syncer::DISABLE_SYNC_AND_ROLLBACK:
961 case syncer::ROLLBACK_DONE:
962 NOTREACHED(); // No corresponding proto action for these. Shouldn't
963 // test.
964 return sync_pb::SyncEnums::UNKNOWN_ACTION;
965 case syncer::UNKNOWN_ACTION:
966 return sync_pb::SyncEnums::UNKNOWN_ACTION;
967 }
968 return sync_pb::SyncEnums::UNKNOWN_ACTION;
969 }
970
971 } // namespace
972
973 void SyncTest::TriggerSyncError(const syncer::SyncProtocolError& error,
974 SyncErrorFrequency frequency) {
975 ASSERT_TRUE(ServerSupportsErrorTriggering());
976 std::string path = "chromiumsync/error";
977 int error_type =
978 static_cast<int>(GetClientToServerResponseErrorType(
979 error.error_type));
980 int action = static_cast<int>(GetClientToServerResponseAction(
981 error.action));
982
983 path.append(base::StringPrintf("?error=%d", error_type));
984 path.append(base::StringPrintf("&action=%d", action));
985
986 path.append(base::StringPrintf("&error_description=%s",
987 error.error_description.c_str()));
988 path.append(base::StringPrintf("&url=%s", error.url.c_str()));
989 path.append(base::StringPrintf("&frequency=%d", frequency));
990
991 ui_test_utils::NavigateToURL(browser(), sync_server_.GetURL(path));
992 std::string output = base::UTF16ToASCII(
993 browser()->tab_strip_model()->GetActiveWebContents()->GetTitle());
994 ASSERT_TRUE(output.find("SetError: 200") != base::string16::npos);
995 }
996
997 void SyncTest::TriggerCreateSyncedBookmarks() { 912 void SyncTest::TriggerCreateSyncedBookmarks() {
998 ASSERT_TRUE(ServerSupportsErrorTriggering()); 913 ASSERT_TRUE(ServerSupportsErrorTriggering());
999 std::string path = "chromiumsync/createsyncedbookmarks"; 914 std::string path = "chromiumsync/createsyncedbookmarks";
1000 ui_test_utils::NavigateToURL(browser(), sync_server_.GetURL(path)); 915 ui_test_utils::NavigateToURL(browser(), sync_server_.GetURL(path));
1001 ASSERT_EQ("Synced Bookmarks", 916 ASSERT_EQ("Synced Bookmarks",
1002 base::UTF16ToASCII( 917 base::UTF16ToASCII(
1003 browser()->tab_strip_model()->GetActiveWebContents()-> 918 browser()->tab_strip_model()->GetActiveWebContents()->
1004 GetTitle())); 919 GetTitle()));
1005 } 920 }
1006 921
1007 void SyncTest::SetupNetwork(net::URLRequestContextGetter* context_getter) { 922 void SyncTest::SetupNetwork(net::URLRequestContextGetter* context_getter) {
1008 base::WaitableEvent done(false, false); 923 base::WaitableEvent done(false, false);
1009 BrowserThread::PostTask( 924 BrowserThread::PostTask(
1010 BrowserThread::IO, FROM_HERE, 925 BrowserThread::IO, FROM_HERE,
1011 base::Bind(&SetupNetworkCallback, &done, 926 base::Bind(&SetupNetworkCallback, &done,
1012 make_scoped_refptr(context_getter))); 927 make_scoped_refptr(context_getter)));
1013 done.Wait(); 928 done.Wait();
1014 } 929 }
1015 930
1016 fake_server::FakeServer* SyncTest::GetFakeServer() const { 931 fake_server::FakeServer* SyncTest::GetFakeServer() const {
1017 return fake_server_.get(); 932 return fake_server_.get();
1018 } 933 }
OLDNEW
« no previous file with comments | « chrome/browser/sync/test/integration/sync_test.h ('k') | sync/test/fake_server/fake_server.h » ('j') | no next file with comments »

Powered by Google App Engine
This is Rietveld 408576698