Index: chrome/browser/local_discovery/privet_http_unittest.cc |
diff --git a/chrome/browser/local_discovery/privet_http_unittest.cc b/chrome/browser/local_discovery/privet_http_unittest.cc |
index 5d007f36e790338fa13143f7e8d2e87ceb9b6282..784085ee32d56aca73e44fbe4ab604b2f3564a04 100644 |
--- a/chrome/browser/local_discovery/privet_http_unittest.cc |
+++ b/chrome/browser/local_discovery/privet_http_unittest.cc |
@@ -75,6 +75,11 @@ const char kSampleRegisterErrorPermanent[] = |
const char kSampleInfoResponseBadJson[] = "{"; |
+const char kSampleRegisterCancelResponse[] = "{" |
+ "\"user\": \"example@google.com\"," |
+ "\"action\": \"cancel\"" |
+ "}"; |
+ |
class MockTestURLFetcherFactoryDelegate |
: public net::TestURLFetcher::DelegateForTests { |
public: |
@@ -457,6 +462,34 @@ TEST_F(PrivetRegisterTest, InfoFailure) { |
kSampleInfoResponseBadJson)); |
} |
+ |
+TEST_F(PrivetRegisterTest, RegisterCancel) { |
+ // Start with info request first to populate XSRF token. |
+ info_operation_->Start(); |
+ |
+ EXPECT_TRUE(SuccessfulResponseToURL( |
+ GURL("http://10.0.0.8:6006/privet/info"), |
+ kSampleInfoResponse)); |
+ |
+ register_operation_->Start(); |
+ |
+ EXPECT_TRUE(SuccessfulResponseToURL( |
+ GURL("http://10.0.0.8:6006/privet/register?" |
+ "action=start&user=example@google.com"), |
+ kSampleRegisterStartResponse)); |
+ |
+ register_operation_->Cancel(); |
+ |
+ EXPECT_TRUE(SuccessfulResponseToURL( |
+ GURL("http://10.0.0.8:6006/privet/register?" |
+ "action=cancel&user=example@google.com"), |
+ kSampleRegisterCancelResponse)); |
+ |
+ // Must keep mocks alive for 3 seconds so the cancelation object can be |
+ // deleted. |
+ RunFor(base::TimeDelta::FromSeconds(3)); |
+} |
+ |
} // namespace |
} // namespace local_discovery |