| 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 |