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

Side by Side Diff: content/browser/service_worker/service_worker_database_unittest.cc

Issue 2873683002: PaymentHandler: Implement GetAllPaymentApps(). (Closed)
Patch Set: PaymentHandler: Implement GetAllPaymentApps(). Created 3 years, 7 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
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 "content/browser/service_worker/service_worker_database.h" 5 #include "content/browser/service_worker/service_worker_database.h"
6 6
7 #include <stddef.h> 7 #include <stddef.h>
8 #include <stdint.h> 8 #include <stdint.h>
9 9
10 #include <string> 10 #include <string>
(...skipping 1076 matching lines...) Expand 10 before | Expand all | Expand 10 after
1087 EXPECT_EQ( 1087 EXPECT_EQ(
1088 ServiceWorkerDatabase::STATUS_ERROR_NOT_FOUND, 1088 ServiceWorkerDatabase::STATUS_ERROR_NOT_FOUND,
1089 database->ReadUserData(data.registration_id, {"key3"}, &user_data_out)); 1089 database->ReadUserData(data.registration_id, {"key3"}, &user_data_out));
1090 EXPECT_EQ( 1090 EXPECT_EQ(
1091 ServiceWorkerDatabase::STATUS_OK, 1091 ServiceWorkerDatabase::STATUS_OK,
1092 database->ReadUserData(data.registration_id, {"key4"}, &user_data_out)); 1092 database->ReadUserData(data.registration_id, {"key4"}, &user_data_out));
1093 ASSERT_EQ(1u, user_data_out.size()); 1093 ASSERT_EQ(1u, user_data_out.size());
1094 EXPECT_EQ("data4", user_data_out[0]); 1094 EXPECT_EQ("data4", user_data_out[0]);
1095 } 1095 }
1096 1096
1097 TEST(ServiceWorkerDatabaseTest,
1098 UserData_ReadUserDataForAllRegistrationsByKeyPrefix) {
1099 std::unique_ptr<ServiceWorkerDatabase> database(CreateDatabaseInMemory());
1100 const GURL kOrigin("http://example.com");
1101
1102 // Add registration 1.
1103 RegistrationData data1;
1104 data1.registration_id = 100;
1105 data1.scope = URL(kOrigin, "/foo");
1106 data1.script = URL(kOrigin, "/script1.js");
1107 data1.version_id = 200;
1108 data1.resources_total_size_bytes = 100;
1109 std::vector<Resource> resources1;
1110 resources1.push_back(CreateResource(1, data1.script, 100));
1111
1112 // Add registration 2.
1113 RegistrationData data2;
1114 data2.registration_id = 101;
1115 data2.scope = URL(kOrigin, "/bar");
1116 data2.script = URL(kOrigin, "/script2.js");
1117 data2.version_id = 201;
1118 data2.resources_total_size_bytes = 200;
1119 std::vector<Resource> resources2;
1120 resources2.push_back(CreateResource(2, data2.script, 200));
1121
1122 ServiceWorkerDatabase::RegistrationData deleted_version;
1123 std::vector<int64_t> newly_purgeable_resources;
1124 ASSERT_EQ(ServiceWorkerDatabase::STATUS_OK,
1125 database->WriteRegistration(data1, resources1, &deleted_version,
1126 &newly_purgeable_resources));
1127 ASSERT_EQ(ServiceWorkerDatabase::STATUS_OK,
1128 database->WriteRegistration(data2, resources2, &deleted_version,
1129 &newly_purgeable_resources));
1130
1131 // Write user data associated with the registration1.
1132 ASSERT_EQ(ServiceWorkerDatabase::STATUS_OK,
1133 database->WriteUserData(data1.registration_id, kOrigin,
1134 {{"key_prefix:key1", "value1"}}));
1135 ASSERT_EQ(ServiceWorkerDatabase::STATUS_OK,
1136 database->WriteUserData(data1.registration_id, kOrigin,
1137 {{"key_prefix:key2", "value2"}}));
1138 ASSERT_EQ(ServiceWorkerDatabase::STATUS_OK,
1139 database->WriteUserData(data1.registration_id, kOrigin,
1140 {{"key_prefix:key3", "value3"}}));
1141
1142 // Write user data associated with the registration2.
1143 ASSERT_EQ(ServiceWorkerDatabase::STATUS_OK,
1144 database->WriteUserData(data2.registration_id, kOrigin,
1145 {{"key_prefix:key1", "value1"}}));
1146 ASSERT_EQ(ServiceWorkerDatabase::STATUS_OK,
1147 database->WriteUserData(data2.registration_id, kOrigin,
1148 {{"key_prefix:key2", "value2"}}));
nhiroki 2017/05/11 07:12:40 Can you write one more user data that has a differ
zino 2017/05/11 14:21:05 Done.
1149
1150 // Get all registrations with user data by key prefix.
1151 std::vector<std::pair<int64_t, std::string>> user_data_list;
1152 ASSERT_EQ(ServiceWorkerDatabase::STATUS_OK,
1153 database->ReadUserDataForAllRegistrationsByKeyPrefix(
1154 "key_prefix:", &user_data_list));
1155 ASSERT_EQ(5u, user_data_list.size());
1156
1157 EXPECT_EQ(data1.registration_id, user_data_list[0].first);
1158 EXPECT_EQ("value1", user_data_list[0].second);
1159 EXPECT_EQ(data2.registration_id, user_data_list[1].first);
1160 EXPECT_EQ("value1", user_data_list[1].second);
1161 EXPECT_EQ(data1.registration_id, user_data_list[2].first);
1162 EXPECT_EQ("value2", user_data_list[2].second);
1163 EXPECT_EQ(data2.registration_id, user_data_list[3].first);
1164 EXPECT_EQ("value2", user_data_list[3].second);
1165 EXPECT_EQ(data1.registration_id, user_data_list[4].first);
1166 EXPECT_EQ("value3", user_data_list[4].second);
1167 }
1168
1097 TEST(ServiceWorkerDatabaseTest, UserData_DataIsolation) { 1169 TEST(ServiceWorkerDatabaseTest, UserData_DataIsolation) {
1098 std::unique_ptr<ServiceWorkerDatabase> database(CreateDatabaseInMemory()); 1170 std::unique_ptr<ServiceWorkerDatabase> database(CreateDatabaseInMemory());
1099 const GURL kOrigin("http://example.com"); 1171 const GURL kOrigin("http://example.com");
1100 1172
1101 // Add registration 1. 1173 // Add registration 1.
1102 RegistrationData data1; 1174 RegistrationData data1;
1103 data1.registration_id = 100; 1175 data1.registration_id = 100;
1104 data1.scope = URL(kOrigin, "/foo"); 1176 data1.scope = URL(kOrigin, "/foo");
1105 data1.script = URL(kOrigin, "/script1.js"); 1177 data1.script = URL(kOrigin, "/script1.js");
1106 data1.version_id = 200; 1178 data1.version_id = 200;
(...skipping 704 matching lines...) Expand 10 before | Expand all | Expand 10 after
1811 // The database should detect lack of the main resource (i.e. "/resource1"). 1883 // The database should detect lack of the main resource (i.e. "/resource1").
1812 RegistrationData data_out; 1884 RegistrationData data_out;
1813 std::vector<Resource> resources_out; 1885 std::vector<Resource> resources_out;
1814 EXPECT_EQ(ServiceWorkerDatabase::STATUS_ERROR_CORRUPTED, 1886 EXPECT_EQ(ServiceWorkerDatabase::STATUS_ERROR_CORRUPTED,
1815 database->ReadRegistration(data.registration_id, origin, &data_out, 1887 database->ReadRegistration(data.registration_id, origin, &data_out,
1816 &resources_out)); 1888 &resources_out));
1817 EXPECT_TRUE(resources_out.empty()); 1889 EXPECT_TRUE(resources_out.empty());
1818 } 1890 }
1819 1891
1820 } // namespace content 1892 } // namespace content
OLDNEW

Powered by Google App Engine
This is Rietveld 408576698