Chromium Code Reviews
chromiumcodereview-hr@appspot.gserviceaccount.com (chromiumcodereview-hr) | Please choose your nickname with Settings | Help | Chromium Project | Gerrit Changes | Sign out
(280)

Side by Side Diff: google_apis/gcm/engine/account_info_unittest.cc

Issue 443573002: [GCM] Adding status to AccountMapping structure (Closed) Base URL: svn://svn.chromium.org/chrome/trunk/src
Patch Set: Removing status from the serialized form of account mapping per CR Created 6 years, 4 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 | Annotate | Revision Log
« no previous file with comments | « google_apis/gcm/engine/account_info.cc ('k') | google_apis/gcm/engine/account_mapping.h » ('j') | no next file with comments »
Toggle Intra-line Diffs ('i') | Expand Comments ('e') | Collapse Comments ('c') | Show Comments Hide Comments ('s')
OLDNEW
(Empty)
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
3 // found in the LICENSE file.
4
5 #include <string>
6
7 #include "google_apis/gcm/engine/account_info.h"
8 #include "testing/gtest/include/gtest/gtest.h"
9
10 namespace gcm {
11
12 namespace {
13
14 TEST(AccountInfoTest, SerializeAccountInfo) {
15 AccountInfo account_info;
16 account_info.account_id = "acc_id";
17 account_info.email = "test@example.com";
18 account_info.last_message_id = "last_message_id_1";
19 account_info.last_message_type = AccountInfo::MSG_ADD;
20 account_info.last_message_timestamp = base::Time::FromInternalValue(
21 1305797421259935LL); // Arbitrary timestamp.
22
23 EXPECT_EQ("test@example.com&add&last_message_id_1&1305797421259935",
24 account_info.SerializeAsString());
25
26 account_info.account_id = "acc_id2";
27 account_info.email = "test@gmail.com";
28 account_info.last_message_id = "last_message_id_2";
29 account_info.last_message_type = AccountInfo::MSG_REMOVE;
30 account_info.last_message_timestamp =
31 base::Time::FromInternalValue(1305734521259935LL); // Other timestamp.
32
33 EXPECT_EQ("test@gmail.com&remove&last_message_id_2&1305734521259935",
34 account_info.SerializeAsString());
35
36 account_info.last_message_type = AccountInfo::MSG_NONE;
37
38 EXPECT_EQ("test@gmail.com&none", account_info.SerializeAsString());
39 }
40
41 TEST(AccountInfoTest, DeserializeAccountInfo) {
42 AccountInfo account_info;
43 account_info.account_id = "acc_id";
44 EXPECT_TRUE(account_info.ParseFromString(
45 "test@example.com&add&last_message_id_1&1305797421259935"));
46 EXPECT_EQ("acc_id", account_info.account_id);
47 EXPECT_EQ("test@example.com", account_info.email);
48 EXPECT_EQ(AccountInfo::MSG_ADD, account_info.last_message_type);
49 EXPECT_EQ("last_message_id_1", account_info.last_message_id);
50 EXPECT_EQ(base::Time::FromInternalValue(1305797421259935LL),
51 account_info.last_message_timestamp);
52
53 EXPECT_TRUE(account_info.ParseFromString(
54 "test@gmail.com&remove&last_message_id_2&1305734521259935"));
55 EXPECT_EQ("acc_id", account_info.account_id);
56 EXPECT_EQ("test@gmail.com", account_info.email);
57 EXPECT_EQ(AccountInfo::MSG_REMOVE, account_info.last_message_type);
58 EXPECT_EQ("last_message_id_2", account_info.last_message_id);
59 EXPECT_EQ(base::Time::FromInternalValue(1305734521259935LL),
60 account_info.last_message_timestamp);
61
62 EXPECT_TRUE(account_info.ParseFromString("test@gmail.com&none"));
63 EXPECT_EQ("acc_id", account_info.account_id);
64 EXPECT_EQ("test@gmail.com", account_info.email);
65 EXPECT_EQ(AccountInfo::MSG_NONE, account_info.last_message_type);
66 EXPECT_EQ("", account_info.last_message_id);
67 EXPECT_EQ(base::Time(), account_info.last_message_timestamp);
68 }
69
70 TEST(AccountInfoTest, DeserializeAccountInfoInvalidInput) {
71 AccountInfo account_info;
72 account_info.account_id = "acc_id";
73 // Too many agruments.
74 EXPECT_FALSE(account_info.ParseFromString(
75 "test@example.com&add&last_message_id_1&1305797421259935&stuff_here"));
76 // Too few arguments.
77 EXPECT_FALSE(account_info.ParseFromString(
78 "test@example.com&remove&last_message_id_1"));
79 // Too few arguments.
80 EXPECT_FALSE(account_info.ParseFromString(
81 "test@example.com"));
82 // Missing email.
83 EXPECT_FALSE(account_info.ParseFromString(
84 "&remove&last_message_id_2&1305734521259935"));
85 // Missing message type.
86 EXPECT_FALSE(account_info.ParseFromString(
87 "test@gmail.com&&last_message_id_2&1305734521259935"));
88 // Unkown message type.
89 EXPECT_FALSE(account_info.ParseFromString(
90 "test@gmail.com&random&last_message_id_2&1305734521259935"));
91 // Message type is none when message details specified.
92 EXPECT_FALSE(account_info.ParseFromString(
93 "test@gmail.com&none&last_message_id_2&1305734521259935"));
94 // Message type is messed up, but we have no message -- that's OK.
95 EXPECT_TRUE(account_info.ParseFromString(
96 "test@gmail.com&random"));
97 // Missing last message ID.
98 EXPECT_FALSE(account_info.ParseFromString(
99 "test@gmail.com&remove&&1305734521259935"));
100 // Missing last message timestamp.
101 EXPECT_FALSE(account_info.ParseFromString(
102 "test@gmail.com&remove&last_message_id&"));
103 // Last message timestamp not parseable.
104 EXPECT_FALSE(account_info.ParseFromString(
105 "test@gmail.com&remove&last_message_id&asdfjlk"));
106 }
107
108 } // namespace
109 } // namespace gcm
OLDNEW
« no previous file with comments | « google_apis/gcm/engine/account_info.cc ('k') | google_apis/gcm/engine/account_mapping.h » ('j') | no next file with comments »

Powered by Google App Engine
This is Rietveld 408576698