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: components/gcm_driver/gcm_channel_status_request_unittest.cc

Issue 659393003: [GCM] DCHECK should not be used since it will skip the code inside (Closed) Base URL: https://chromium.googlesource.com/chromium/src.git/+/master
Patch Set: Add test 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 | « components/gcm_driver/gcm_channel_status_request.cc ('k') | no next file » | no next file with comments »
Toggle Intra-line Diffs ('i') | Expand Comments ('e') | Collapse Comments ('c') | Show Comments Hide Comments ('s')
OLDNEW
1 // Copyright 2014 The Chromium Authors. All rights reserved. 1 // Copyright 2014 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 "base/message_loop/message_loop.h" 5 #include "base/message_loop/message_loop.h"
6 #include "components/gcm_driver/gcm_channel_status_request.h" 6 #include "components/gcm_driver/gcm_channel_status_request.h"
7 #include "net/url_request/test_url_fetcher_factory.h" 7 #include "net/url_request/test_url_fetcher_factory.h"
8 #include "net/url_request/url_request_test_util.h" 8 #include "net/url_request/url_request_test_util.h"
9 #include "sync/protocol/experiment_status.pb.h" 9 #include "sync/protocol/experiment_status.pb.h"
10 #include "sync/protocol/experiments_specifics.pb.h" 10 #include "sync/protocol/experiments_specifics.pb.h"
(...skipping 90 matching lines...) Expand 10 before | Expand all | Expand 10 after
101 } 101 }
102 102
103 void GCMChannelStatusRequestTest::OnRequestCompleted( 103 void GCMChannelStatusRequestTest::OnRequestCompleted(
104 bool update_received, bool enabled, int poll_interval_seconds) { 104 bool update_received, bool enabled, int poll_interval_seconds) {
105 request_callback_invoked_ = true; 105 request_callback_invoked_ = true;
106 update_received_ = update_received; 106 update_received_ = update_received;
107 enabled_ = enabled; 107 enabled_ = enabled;
108 poll_interval_seconds_ = poll_interval_seconds; 108 poll_interval_seconds_ = poll_interval_seconds;
109 } 109 }
110 110
111 TEST_F(GCMChannelStatusRequestTest, RequestData) {
112 StartRequest();
113
114 net::TestURLFetcher* fetcher = url_fetcher_factory_.GetFetcherByID(0);
115 ASSERT_TRUE(fetcher);
116
117 EXPECT_EQ(GURL(request_->channel_status_request_url_),
118 fetcher->GetOriginalURL());
119
120 net::HttpRequestHeaders headers;
121 fetcher->GetExtraRequestHeaders(&headers);
122 std::string user_agent_header;
123 headers.GetHeader("User-Agent", &user_agent_header);
124 EXPECT_FALSE(user_agent_header.empty());
125 EXPECT_EQ(request_->user_agent_, user_agent_header);
126
127 std::string upload_data = fetcher->upload_data();
128 EXPECT_FALSE(upload_data.empty());
129 sync_pb::ExperimentStatusRequest proto_data;
130 proto_data.ParseFromString(upload_data);
131 EXPECT_EQ(1, proto_data.experiment_name_size());
132 EXPECT_EQ("gcm_channel", proto_data.experiment_name(0));
133 }
134
111 TEST_F(GCMChannelStatusRequestTest, ResponseHttpStatusNotOK) { 135 TEST_F(GCMChannelStatusRequestTest, ResponseHttpStatusNotOK) {
112 StartRequest(); 136 StartRequest();
113 SetResponseStatusAndString(net::HTTP_UNAUTHORIZED, ""); 137 SetResponseStatusAndString(net::HTTP_UNAUTHORIZED, "");
114 CompleteFetch(); 138 CompleteFetch();
115 139
116 EXPECT_FALSE(request_callback_invoked_); 140 EXPECT_FALSE(request_callback_invoked_);
117 } 141 }
118 142
119 TEST_F(GCMChannelStatusRequestTest, ResponseEmpty) { 143 TEST_F(GCMChannelStatusRequestTest, ResponseEmpty) {
120 StartRequest(); 144 StartRequest();
(...skipping 85 matching lines...) Expand 10 before | Expand all | Expand 10 after
206 SetResponseProtoData(GCM_DISABLED, poll_interval_seconds); 230 SetResponseProtoData(GCM_DISABLED, poll_interval_seconds);
207 CompleteFetch(); 231 CompleteFetch();
208 232
209 EXPECT_TRUE(request_callback_invoked_); 233 EXPECT_TRUE(request_callback_invoked_);
210 EXPECT_TRUE(update_received_); 234 EXPECT_TRUE(update_received_);
211 EXPECT_FALSE(enabled_); 235 EXPECT_FALSE(enabled_);
212 EXPECT_EQ(poll_interval_seconds, poll_interval_seconds_); 236 EXPECT_EQ(poll_interval_seconds, poll_interval_seconds_);
213 } 237 }
214 238
215 } // namespace gcm 239 } // namespace gcm
OLDNEW
« no previous file with comments | « components/gcm_driver/gcm_channel_status_request.cc ('k') | no next file » | no next file with comments »

Powered by Google App Engine
This is Rietveld 408576698