summaryrefslogtreecommitdiffstats
diff options
context:
space:
mode:
authorckehoe@chromium.org <ckehoe@chromium.org@0039d316-1c4b-4281-b951-d872f2087c98>2014-08-15 14:25:35 +0000
committerckehoe@chromium.org <ckehoe@chromium.org@0039d316-1c4b-4281-b951-d872f2087c98>2014-08-15 14:27:26 +0000
commit755e1aa1f052f0949020e64603e5ce8c9581f810 (patch)
treecd5e9b05420849f97ec6239600f364ef25d552ee
parente444efc7a1f47e72c654f632ed9d6ea8e8daf695 (diff)
downloadchromium_src-755e1aa1f052f0949020e64603e5ce8c9581f810.zip
chromium_src-755e1aa1f052f0949020e64603e5ce8c9581f810.tar.gz
chromium_src-755e1aa1f052f0949020e64603e5ce8c9581f810.tar.bz2
Fixing server 400 errors due to empty subrequests
Review URL: https://codereview.chromium.org/472743002 Cr-Commit-Position: refs/heads/master@{#289841} git-svn-id: svn://svn.chromium.org/chrome/trunk/src@289841 0039d316-1c4b-4281-b951-d872f2087c98
-rw-r--r--components/copresence/rpc/rpc_handler.cc28
-rw-r--r--components/copresence/rpc/rpc_handler_unittest.cc8
2 files changed, 19 insertions, 17 deletions
diff --git a/components/copresence/rpc/rpc_handler.cc b/components/copresence/rpc/rpc_handler.cc
index d055cb0..72c4f90 100644
--- a/components/copresence/rpc/rpc_handler.cc
+++ b/components/copresence/rpc/rpc_handler.cc
@@ -217,21 +217,25 @@ void AllowOptedOutMessages(ReportRequest* request) {
// TODO(ckehoe): Collapse this pattern into ProcessPublish()
// and ProcessSubscribe() methods.
- RepeatedPtrField<PublishedMessage>* messages =
- request->mutable_manage_messages_request()->mutable_message_to_publish();
- for (int i = 0; i < messages->size(); ++i) {
- PublishedMessage* message = messages->Mutable(i);
- if (!message->has_opt_in_state_filter())
- message->set_allocated_opt_in_state_filter(CreateOptedInOrOutFilter());
+ if (request->has_manage_messages_request()) {
+ RepeatedPtrField<PublishedMessage>* messages = request
+ ->mutable_manage_messages_request()->mutable_message_to_publish();
+ for (int i = 0; i < messages->size(); ++i) {
+ PublishedMessage* message = messages->Mutable(i);
+ if (!message->has_opt_in_state_filter())
+ message->set_allocated_opt_in_state_filter(CreateOptedInOrOutFilter());
+ }
}
- RepeatedPtrField<Subscription>* subscriptions =
+ if (request->has_manage_subscriptions_request()) {
+ RepeatedPtrField<Subscription>* subscriptions =
request->mutable_manage_subscriptions_request()->mutable_subscription();
- for (int i = 0; i < subscriptions->size(); ++i) {
- Subscription* subscription = subscriptions->Mutable(i);
- if (!subscription->has_opt_in_state_filter()) {
- subscription->set_allocated_opt_in_state_filter(
- CreateOptedInOrOutFilter());
+ for (int i = 0; i < subscriptions->size(); ++i) {
+ Subscription* subscription = subscriptions->Mutable(i);
+ if (!subscription->has_opt_in_state_filter()) {
+ subscription->set_allocated_opt_in_state_filter(
+ CreateOptedInOrOutFilter());
+ }
}
}
}
diff --git a/components/copresence/rpc/rpc_handler_unittest.cc b/components/copresence/rpc/rpc_handler_unittest.cc
index 7657f66..962f8d9 100644
--- a/components/copresence/rpc/rpc_handler_unittest.cc
+++ b/components/copresence/rpc/rpc_handler_unittest.cc
@@ -223,6 +223,7 @@ TEST_F(RpcHandlerTest, GetDeviceCapabilities) {
token_technology = &GetTokenTechnologyFromReport();
EXPECT_EQ(1, token_technology->instruction_type_size());
EXPECT_EQ(TRANSMIT, token_technology->instruction_type(0));
+ EXPECT_FALSE(GetReportSent()->has_manage_subscriptions_request());
// Request with scan only.
report.reset(new ReportRequest);
@@ -232,6 +233,7 @@ TEST_F(RpcHandlerTest, GetDeviceCapabilities) {
token_technology = &GetTokenTechnologyFromReport();
EXPECT_EQ(1, token_technology->instruction_type_size());
EXPECT_EQ(RECEIVE, token_technology->instruction_type(0));
+ EXPECT_FALSE(GetReportSent()->has_manage_messages_request());
// Request with both scan and broadcast only (conflict).
report.reset(new ReportRequest);
@@ -304,11 +306,7 @@ TEST_F(RpcHandlerTest, CreateRequestHeader) {
report->header().device_fingerprint().type());
}
-// TODO(ckehoe): Renable these after https://codereview.chromium.org/453203002/
-// lands.
-#define MAYBE_ReportTokens DISABLED_ReportTokens
-
-TEST_F(RpcHandlerTest, MAYBE_ReportTokens) {
+TEST_F(RpcHandlerTest, ReportTokens) {
std::vector<AudioToken> test_tokens;
test_tokens.push_back(AudioToken("token 1", false));
test_tokens.push_back(AudioToken("token 2", true));