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/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 Loading... |
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 } |
OLD | NEW |