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

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

Issue 2873683002: PaymentHandler: Implement GetAllPaymentApps(). (Closed)
Patch Set: installed -> stored in public 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"}}));
1149 ASSERT_EQ(ServiceWorkerDatabase::STATUS_OK,
1150 database->WriteUserData(data2.registration_id, kOrigin,
1151 {{"another_key_prefix:key1", "value1"}}));
1152 ASSERT_EQ(ServiceWorkerDatabase::STATUS_OK,
1153 database->WriteUserData(data2.registration_id, kOrigin,
1154 {{"another_key_prefix:key2", "value2"}}));
1155
1156 // Get all registrations with user data by key prefix.
1157 std::vector<std::pair<int64_t, std::string>> user_data_list;
1158 ASSERT_EQ(ServiceWorkerDatabase::STATUS_OK,
1159 database->ReadUserDataForAllRegistrationsByKeyPrefix(
1160 "key_prefix:", &user_data_list));
1161 ASSERT_EQ(5u, user_data_list.size());
1162
1163 EXPECT_EQ(data1.registration_id, user_data_list[0].first);
1164 EXPECT_EQ("value1", user_data_list[0].second);
1165 EXPECT_EQ(data2.registration_id, user_data_list[1].first);
1166 EXPECT_EQ("value1", user_data_list[1].second);
1167 EXPECT_EQ(data1.registration_id, user_data_list[2].first);
1168 EXPECT_EQ("value2", user_data_list[2].second);
1169 EXPECT_EQ(data2.registration_id, user_data_list[3].first);
1170 EXPECT_EQ("value2", user_data_list[3].second);
1171 EXPECT_EQ(data1.registration_id, user_data_list[4].first);
1172 EXPECT_EQ("value3", user_data_list[4].second);
1173 }
1174
1097 TEST(ServiceWorkerDatabaseTest, UserData_DataIsolation) { 1175 TEST(ServiceWorkerDatabaseTest, UserData_DataIsolation) {
1098 std::unique_ptr<ServiceWorkerDatabase> database(CreateDatabaseInMemory()); 1176 std::unique_ptr<ServiceWorkerDatabase> database(CreateDatabaseInMemory());
1099 const GURL kOrigin("http://example.com"); 1177 const GURL kOrigin("http://example.com");
1100 1178
1101 // Add registration 1. 1179 // Add registration 1.
1102 RegistrationData data1; 1180 RegistrationData data1;
1103 data1.registration_id = 100; 1181 data1.registration_id = 100;
1104 data1.scope = URL(kOrigin, "/foo"); 1182 data1.scope = URL(kOrigin, "/foo");
1105 data1.script = URL(kOrigin, "/script1.js"); 1183 data1.script = URL(kOrigin, "/script1.js");
1106 data1.version_id = 200; 1184 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"). 1889 // The database should detect lack of the main resource (i.e. "/resource1").
1812 RegistrationData data_out; 1890 RegistrationData data_out;
1813 std::vector<Resource> resources_out; 1891 std::vector<Resource> resources_out;
1814 EXPECT_EQ(ServiceWorkerDatabase::STATUS_ERROR_CORRUPTED, 1892 EXPECT_EQ(ServiceWorkerDatabase::STATUS_ERROR_CORRUPTED,
1815 database->ReadRegistration(data.registration_id, origin, &data_out, 1893 database->ReadRegistration(data.registration_id, origin, &data_out,
1816 &resources_out)); 1894 &resources_out));
1817 EXPECT_TRUE(resources_out.empty()); 1895 EXPECT_TRUE(resources_out.empty());
1818 } 1896 }
1819 1897
1820 } // namespace content 1898 } // namespace content
OLDNEW
« no previous file with comments | « content/browser/service_worker/service_worker_database.cc ('k') | content/browser/service_worker/service_worker_storage.h » ('j') | no next file with comments »

Powered by Google App Engine
This is Rietveld 408576698