Commit d41ce2d2 authored by nhiroki@chromium.org's avatar nhiroki@chromium.org

ServiceWorker: Clean up ServiceWorkerDatabaseTest

Clean up ServiceWorkerDatabaseTest using helper functions. Mechanical changes only.


BUG=n/a
TEST=content_unittests --gtest_filter=ServiceWorkerDatabaseTest.*

Review URL: https://codereview.chromium.org/282533002

git-svn-id: svn://svn.chromium.org/chrome/trunk/src@269770 0039d316-1c4b-4281-b951-d872f2087c98
parent 0ae20ea3
...@@ -27,7 +27,6 @@ struct AvailableIds { ...@@ -27,7 +27,6 @@ struct AvailableIds {
~AvailableIds() {} ~AvailableIds() {}
}; };
// TODO(nhiroki): Refactor tests using this helper.
GURL URL(const GURL& origin, const std::string& path) { GURL URL(const GURL& origin, const std::string& path) {
EXPECT_TRUE(origin.is_valid()); EXPECT_TRUE(origin.is_valid());
GURL out(origin.GetOrigin().spec() + path); GURL out(origin.GetOrigin().spec() + path);
...@@ -35,15 +34,6 @@ GURL URL(const GURL& origin, const std::string& path) { ...@@ -35,15 +34,6 @@ GURL URL(const GURL& origin, const std::string& path) {
return out; return out;
} }
// TODO(nhiroki): Remove this.
Resource CreateResource(int64 resource_id, const std::string& url) {
Resource resource;
resource.resource_id = resource_id;
resource.url = GURL(url);
EXPECT_TRUE(resource.url.is_valid());
return resource;
}
Resource CreateResource(int64 resource_id, const GURL& url) { Resource CreateResource(int64 resource_id, const GURL& url) {
Resource resource; Resource resource;
resource.resource_id = resource_id; resource.resource_id = resource_id;
...@@ -137,9 +127,11 @@ TEST(ServiceWorkerDatabaseTest, GetNextAvailableIds) { ...@@ -137,9 +127,11 @@ TEST(ServiceWorkerDatabaseTest, GetNextAvailableIds) {
ASSERT_TRUE(database_dir.CreateUniqueTempDir()); ASSERT_TRUE(database_dir.CreateUniqueTempDir());
scoped_ptr<ServiceWorkerDatabase> database( scoped_ptr<ServiceWorkerDatabase> database(
CreateDatabase(database_dir.path())); CreateDatabase(database_dir.path()));
AvailableIds ids;
GURL origin("http://example.com");
// The database has never been used, so returns initial values. // The database has never been used, so returns initial values.
AvailableIds ids;
EXPECT_TRUE(database->GetNextAvailableIds( EXPECT_TRUE(database->GetNextAvailableIds(
&ids.reg_id, &ids.ver_id, &ids.res_id)); &ids.reg_id, &ids.ver_id, &ids.res_id));
EXPECT_EQ(0, ids.reg_id); EXPECT_EQ(0, ids.reg_id);
...@@ -157,8 +149,8 @@ TEST(ServiceWorkerDatabaseTest, GetNextAvailableIds) { ...@@ -157,8 +149,8 @@ TEST(ServiceWorkerDatabaseTest, GetNextAvailableIds) {
std::vector<Resource> resources; std::vector<Resource> resources;
RegistrationData data1; RegistrationData data1;
data1.registration_id = 100; data1.registration_id = 100;
data1.scope = GURL("http://example.com/foo"); data1.scope = URL(origin, "/foo");
data1.script = GURL("http://example.com/script1.js"); data1.script = URL(origin, "/script1.js");
data1.version_id = 200; data1.version_id = 200;
ASSERT_TRUE(database->WriteRegistration(data1, resources)); ASSERT_TRUE(database->WriteRegistration(data1, resources));
...@@ -172,8 +164,8 @@ TEST(ServiceWorkerDatabaseTest, GetNextAvailableIds) { ...@@ -172,8 +164,8 @@ TEST(ServiceWorkerDatabaseTest, GetNextAvailableIds) {
// bump the next available ids. // bump the next available ids.
RegistrationData data2; RegistrationData data2;
data2.registration_id = 10; data2.registration_id = 10;
data2.scope = GURL("http://example.com/bar"); data2.scope = URL(origin, "/bar");
data2.script = GURL("http://example.com/script2.js"); data2.script = URL(origin, "/script2.js");
data2.version_id = 20; data2.version_id = 20;
ASSERT_TRUE(database->WriteRegistration(data2, resources)); ASSERT_TRUE(database->WriteRegistration(data2, resources));
...@@ -196,35 +188,35 @@ TEST(ServiceWorkerDatabaseTest, GetOriginsWithRegistrations) { ...@@ -196,35 +188,35 @@ TEST(ServiceWorkerDatabaseTest, GetOriginsWithRegistrations) {
std::vector<Resource> resources; std::vector<Resource> resources;
GURL origin1("http://example.com");
RegistrationData data1; RegistrationData data1;
data1.registration_id = 123; data1.registration_id = 123;
data1.scope = GURL("http://example.com/foo"); data1.scope = URL(origin1, "/foo");
data1.script = GURL("http://example.com/script1.js"); data1.script = URL(origin1, "/script1.js");
data1.version_id = 456; data1.version_id = 456;
GURL origin1 = data1.script.GetOrigin();
ASSERT_TRUE(database->WriteRegistration(data1, resources)); ASSERT_TRUE(database->WriteRegistration(data1, resources));
GURL origin2("https://www.example.com");
RegistrationData data2; RegistrationData data2;
data2.registration_id = 234; data2.registration_id = 234;
data2.scope = GURL("https://www.example.com/bar"); data2.scope = URL(origin2, "/bar");
data2.script = GURL("https://www.example.com/script2.js"); data2.script = URL(origin2, "/script2.js");
data2.version_id = 567; data2.version_id = 567;
GURL origin2 = data2.script.GetOrigin();
ASSERT_TRUE(database->WriteRegistration(data2, resources)); ASSERT_TRUE(database->WriteRegistration(data2, resources));
GURL origin3("https://example.org");
RegistrationData data3; RegistrationData data3;
data3.registration_id = 345; data3.registration_id = 345;
data3.scope = GURL("https://example.org/hoge"); data3.scope = URL(origin3, "/hoge");
data3.script = GURL("https://example.org/script3.js"); data3.script = URL(origin3, "/script3.js");
data3.version_id = 678; data3.version_id = 678;
GURL origin3 = data3.script.GetOrigin();
ASSERT_TRUE(database->WriteRegistration(data3, resources)); ASSERT_TRUE(database->WriteRegistration(data3, resources));
// |origin3| has two registrations. // |origin3| has two registrations.
RegistrationData data4; RegistrationData data4;
data4.registration_id = 456; data4.registration_id = 456;
data4.scope = GURL("https://example.org/fuga"); data4.scope = URL(origin3, "/fuga");
data4.script = GURL("https://example.org/script4.js"); data4.script = URL(origin3, "/script4.js");
data4.version_id = 789; data4.version_id = 789;
ASSERT_EQ(origin3, data4.scope.GetOrigin()); ASSERT_EQ(origin3, data4.scope.GetOrigin());
ASSERT_TRUE(database->WriteRegistration(data4, resources)); ASSERT_TRUE(database->WriteRegistration(data4, resources));
...@@ -260,44 +252,47 @@ TEST(ServiceWorkerDatabaseTest, GetOriginsWithRegistrations) { ...@@ -260,44 +252,47 @@ TEST(ServiceWorkerDatabaseTest, GetOriginsWithRegistrations) {
TEST(ServiceWorkerDatabaseTest, GetRegistrationsForOrigin) { TEST(ServiceWorkerDatabaseTest, GetRegistrationsForOrigin) {
scoped_ptr<ServiceWorkerDatabase> database(CreateDatabaseInMemory()); scoped_ptr<ServiceWorkerDatabase> database(CreateDatabaseInMemory());
GURL origin("https://example.org"); GURL origin1("http://example.com");
GURL origin2("https://www.example.com");
GURL origin3("https://example.org");
std::vector<RegistrationData> registrations; std::vector<RegistrationData> registrations;
EXPECT_TRUE(database->GetRegistrationsForOrigin(origin, &registrations)); EXPECT_TRUE(database->GetRegistrationsForOrigin(origin1, &registrations));
EXPECT_TRUE(registrations.empty()); EXPECT_TRUE(registrations.empty());
std::vector<Resource> resources; std::vector<Resource> resources;
RegistrationData data1; RegistrationData data1;
data1.registration_id = 100; data1.registration_id = 100;
data1.scope = GURL("http://example.com/foo"); data1.scope = URL(origin1, "/foo");
data1.script = GURL("http://example.com/script1.js"); data1.script = URL(origin1, "/script1.js");
data1.version_id = 1000; data1.version_id = 1000;
ASSERT_TRUE(database->WriteRegistration(data1, resources)); ASSERT_TRUE(database->WriteRegistration(data1, resources));
RegistrationData data2; RegistrationData data2;
data2.registration_id = 200; data2.registration_id = 200;
data2.scope = GURL("https://www.example.com/bar"); data2.scope = URL(origin2, "/bar");
data2.script = GURL("https://www.example.com/script2.js"); data2.script = URL(origin2, "/script2.js");
data2.version_id = 2000; data2.version_id = 2000;
ASSERT_TRUE(database->WriteRegistration(data2, resources)); ASSERT_TRUE(database->WriteRegistration(data2, resources));
RegistrationData data3; RegistrationData data3;
data3.registration_id = 300; data3.registration_id = 300;
data3.scope = GURL("https://example.org/hoge"); data3.scope = URL(origin3, "/hoge");
data3.script = GURL("https://example.org/script3.js"); data3.script = URL(origin3, "/script3.js");
data3.version_id = 3000; data3.version_id = 3000;
ASSERT_TRUE(database->WriteRegistration(data3, resources)); ASSERT_TRUE(database->WriteRegistration(data3, resources));
// Same origin with |data3|. // |origin3| has two registrations.
RegistrationData data4; RegistrationData data4;
data4.registration_id = 400; data4.registration_id = 400;
data4.scope = GURL("https://example.org/fuga"); data4.scope = URL(origin3, "/fuga");
data4.script = GURL("https://example.org/script4.js"); data4.script = URL(origin3, "/script4.js");
data4.version_id = 4000; data4.version_id = 4000;
ASSERT_TRUE(database->WriteRegistration(data4, resources)); ASSERT_TRUE(database->WriteRegistration(data4, resources));
registrations.clear(); registrations.clear();
EXPECT_TRUE(database->GetRegistrationsForOrigin(origin, &registrations)); EXPECT_TRUE(database->GetRegistrationsForOrigin(origin3, &registrations));
EXPECT_EQ(2U, registrations.size()); EXPECT_EQ(2U, registrations.size());
VerifyRegistrationData(data3, registrations[0]); VerifyRegistrationData(data3, registrations[0]);
VerifyRegistrationData(data4, registrations[1]); VerifyRegistrationData(data4, registrations[1]);
...@@ -312,32 +307,35 @@ TEST(ServiceWorkerDatabaseTest, GetAllRegistrations) { ...@@ -312,32 +307,35 @@ TEST(ServiceWorkerDatabaseTest, GetAllRegistrations) {
std::vector<Resource> resources; std::vector<Resource> resources;
GURL origin1("http://www1.example.com");
RegistrationData data1; RegistrationData data1;
data1.registration_id = 100; data1.registration_id = 100;
data1.scope = GURL("http://www1.example.com/foo"); data1.scope = URL(origin1, "/foo");
data1.script = GURL("http://www1.example.com/script1.js"); data1.script = URL(origin1, "/script1.js");
data1.version_id = 1000; data1.version_id = 1000;
ASSERT_TRUE(database->WriteRegistration(data1, resources)); ASSERT_TRUE(database->WriteRegistration(data1, resources));
GURL origin2("http://www2.example.com");
RegistrationData data2; RegistrationData data2;
data2.registration_id = 200; data2.registration_id = 200;
data2.scope = GURL("http://www2.example.com/bar"); data2.scope = URL(origin2, "/bar");
data2.script = GURL("http://www2.example.com/script2.js"); data2.script = URL(origin2, "/script2.js");
data2.version_id = 2000; data2.version_id = 2000;
ASSERT_TRUE(database->WriteRegistration(data2, resources)); ASSERT_TRUE(database->WriteRegistration(data2, resources));
GURL origin3("http://www3.example.com");
RegistrationData data3; RegistrationData data3;
data3.registration_id = 300; data3.registration_id = 300;
data3.scope = GURL("http://www3.example.com/hoge"); data3.scope = URL(origin3, "/hoge");
data3.script = GURL("http://www3.example.com/script3.js"); data3.script = URL(origin3, "/script3.js");
data3.version_id = 3000; data3.version_id = 3000;
ASSERT_TRUE(database->WriteRegistration(data3, resources)); ASSERT_TRUE(database->WriteRegistration(data3, resources));
// Same origin with |data3|. // |origin3| has two registrations.
RegistrationData data4; RegistrationData data4;
data4.registration_id = 400; data4.registration_id = 400;
data4.scope = GURL("http://www4.example.com/fuga"); data4.scope = URL(origin3, "/fuga");
data4.script = GURL("http://www4.example.com/script4.js"); data4.script = URL(origin3, "/script4.js");
data4.version_id = 4000; data4.version_id = 4000;
ASSERT_TRUE(database->WriteRegistration(data4, resources)); ASSERT_TRUE(database->WriteRegistration(data4, resources));
...@@ -356,15 +354,15 @@ TEST(ServiceWorkerDatabaseTest, GetAllRegistrations) { ...@@ -356,15 +354,15 @@ TEST(ServiceWorkerDatabaseTest, GetAllRegistrations) {
TEST(ServiceWorkerDatabaseTest, Registration_Basic) { TEST(ServiceWorkerDatabaseTest, Registration_Basic) {
scoped_ptr<ServiceWorkerDatabase> database(CreateDatabaseInMemory()); scoped_ptr<ServiceWorkerDatabase> database(CreateDatabaseInMemory());
GURL origin("http://example.com");
RegistrationData data; RegistrationData data;
data.registration_id = 100; data.registration_id = 100;
data.scope = GURL("http://example.com/foo"); data.scope = URL(origin, "/foo");
data.script = GURL("http://example.com/script.js"); data.script = URL(origin, "/script.js");
data.version_id = 200; data.version_id = 200;
GURL origin = data.scope.GetOrigin();
Resource resource1 = CreateResource(1, "http://example.com/resource1"); Resource resource1 = CreateResource(1, URL(origin, "/resource1"));
Resource resource2 = CreateResource(2, "http://example.com/resource2"); Resource resource2 = CreateResource(2, URL(origin, "/resource2"));
std::vector<Resource> resources; std::vector<Resource> resources;
resources.push_back(resource1); resources.push_back(resource1);
...@@ -416,15 +414,15 @@ TEST(ServiceWorkerDatabaseTest, Registration_Basic) { ...@@ -416,15 +414,15 @@ TEST(ServiceWorkerDatabaseTest, Registration_Basic) {
TEST(ServiceWorkerDatabaseTest, Registration_Overwrite) { TEST(ServiceWorkerDatabaseTest, Registration_Overwrite) {
scoped_ptr<ServiceWorkerDatabase> database(CreateDatabaseInMemory()); scoped_ptr<ServiceWorkerDatabase> database(CreateDatabaseInMemory());
GURL origin("http://example.com");
RegistrationData data; RegistrationData data;
data.registration_id = 100; data.registration_id = 100;
data.scope = GURL("http://example.com/foo"); data.scope = URL(origin, "/foo");
data.script = GURL("http://example.com/script.js"); data.script = URL(origin, "/script.js");
data.version_id = 200; data.version_id = 200;
GURL origin = data.scope.GetOrigin();
Resource resource1 = CreateResource(1, "http://example.com/resource1"); Resource resource1 = CreateResource(1, URL(origin, "/resource1"));
Resource resource2 = CreateResource(2, "http://example.com/resource2"); Resource resource2 = CreateResource(2, URL(origin, "/resource2"));
std::vector<Resource> resources1; std::vector<Resource> resources1;
resources1.push_back(resource1); resources1.push_back(resource1);
...@@ -443,8 +441,8 @@ TEST(ServiceWorkerDatabaseTest, Registration_Overwrite) { ...@@ -443,8 +441,8 @@ TEST(ServiceWorkerDatabaseTest, Registration_Overwrite) {
// Update the registration. // Update the registration.
RegistrationData updated_data = data; RegistrationData updated_data = data;
updated_data.version_id = data.version_id + 1; updated_data.version_id = data.version_id + 1;
Resource resource3 = CreateResource(3, "http://example.com/resource3"); Resource resource3 = CreateResource(3, URL(origin, "/resource3"));
Resource resource4 = CreateResource(4, "http://example.com/resource4"); Resource resource4 = CreateResource(4, URL(origin, "/resource4"));
std::vector<Resource> resources2; std::vector<Resource> resources2;
resources2.push_back(resource3); resources2.push_back(resource3);
resources2.push_back(resource4); resources2.push_back(resource4);
...@@ -469,16 +467,18 @@ TEST(ServiceWorkerDatabaseTest, Registration_Overwrite) { ...@@ -469,16 +467,18 @@ TEST(ServiceWorkerDatabaseTest, Registration_Overwrite) {
TEST(ServiceWorkerDatabaseTest, Registration_Multiple) { TEST(ServiceWorkerDatabaseTest, Registration_Multiple) {
scoped_ptr<ServiceWorkerDatabase> database(CreateDatabaseInMemory()); scoped_ptr<ServiceWorkerDatabase> database(CreateDatabaseInMemory());
GURL origin("http://example.com");
// Add registration1. // Add registration1.
RegistrationData data1; RegistrationData data1;
data1.registration_id = 100; data1.registration_id = 100;
data1.scope = GURL("http://example.com/foo"); data1.scope = URL(origin, "/foo");
data1.script = GURL("http://example.com/script1.js"); data1.script = URL(origin, "/script1.js");
data1.version_id = 200; data1.version_id = 200;
GURL origin1 = data1.scope.GetOrigin(); GURL origin1 = data1.scope.GetOrigin();
Resource resource1 = CreateResource(1, "http://example.com/resource1"); Resource resource1 = CreateResource(1, URL(origin, "/resource1"));
Resource resource2 = CreateResource(2, "http://example.com/resource2"); Resource resource2 = CreateResource(2, URL(origin, "/resource2"));
std::vector<Resource> resources1; std::vector<Resource> resources1;
resources1.push_back(resource1); resources1.push_back(resource1);
...@@ -488,13 +488,13 @@ TEST(ServiceWorkerDatabaseTest, Registration_Multiple) { ...@@ -488,13 +488,13 @@ TEST(ServiceWorkerDatabaseTest, Registration_Multiple) {
// Add registration2. // Add registration2.
RegistrationData data2; RegistrationData data2;
data2.registration_id = 101; data2.registration_id = 101;
data2.scope = GURL("http://example.com/bar"); data2.scope = URL(origin, "/bar");
data2.script = GURL("http://example.com/script2.js"); data2.script = URL(origin, "/script2.js");
data2.version_id = 201; data2.version_id = 201;
GURL origin2 = data2.scope.GetOrigin(); GURL origin2 = data2.scope.GetOrigin();
Resource resource3 = CreateResource(3, "http://example.com/resource3"); Resource resource3 = CreateResource(3, URL(origin, "/resource3"));
Resource resource4 = CreateResource(4, "http://example.com/resource4"); Resource resource4 = CreateResource(4, URL(origin, "/resource4"));
std::vector<Resource> resources2; std::vector<Resource> resources2;
resources2.push_back(resource3); resources2.push_back(resource3);
...@@ -505,14 +505,14 @@ TEST(ServiceWorkerDatabaseTest, Registration_Multiple) { ...@@ -505,14 +505,14 @@ TEST(ServiceWorkerDatabaseTest, Registration_Multiple) {
RegistrationData data_out; RegistrationData data_out;
std::vector<Resource> resources_out; std::vector<Resource> resources_out;
EXPECT_TRUE(database->ReadRegistration( EXPECT_TRUE(database->ReadRegistration(
data1.registration_id, origin1, &data_out, &resources_out)); data1.registration_id, origin, &data_out, &resources_out));
VerifyRegistrationData(data1, data_out); VerifyRegistrationData(data1, data_out);
VerifyResourceRecords(resources1, resources_out); VerifyResourceRecords(resources1, resources_out);
// Make sure that registration2 is also stored. // Make sure that registration2 is also stored.
resources_out.clear(); resources_out.clear();
EXPECT_TRUE(database->ReadRegistration( EXPECT_TRUE(database->ReadRegistration(
data2.registration_id, origin2, &data_out, &resources_out)); data2.registration_id, origin, &data_out, &resources_out));
VerifyRegistrationData(data2, data_out); VerifyRegistrationData(data2, data_out);
VerifyResourceRecords(resources2, resources_out); VerifyResourceRecords(resources2, resources_out);
...@@ -521,12 +521,12 @@ TEST(ServiceWorkerDatabaseTest, Registration_Multiple) { ...@@ -521,12 +521,12 @@ TEST(ServiceWorkerDatabaseTest, Registration_Multiple) {
EXPECT_TRUE(purgeable_resource_ids.empty()); EXPECT_TRUE(purgeable_resource_ids.empty());
// Delete registration1. // Delete registration1.
EXPECT_TRUE(database->DeleteRegistration(data1.registration_id, origin1)); EXPECT_TRUE(database->DeleteRegistration(data1.registration_id, origin));
// Make sure that registration1 is gone. // Make sure that registration1 is gone.
resources_out.clear(); resources_out.clear();
EXPECT_FALSE(database->ReadRegistration( EXPECT_FALSE(database->ReadRegistration(
data1.registration_id, origin1, &data_out, &resources_out)); data1.registration_id, origin, &data_out, &resources_out));
EXPECT_TRUE(resources_out.empty()); EXPECT_TRUE(resources_out.empty());
purgeable_resource_ids.clear(); purgeable_resource_ids.clear();
...@@ -538,7 +538,7 @@ TEST(ServiceWorkerDatabaseTest, Registration_Multiple) { ...@@ -538,7 +538,7 @@ TEST(ServiceWorkerDatabaseTest, Registration_Multiple) {
// Make sure that registration2 is still alive. // Make sure that registration2 is still alive.
resources_out.clear(); resources_out.clear();
EXPECT_TRUE(database->ReadRegistration( EXPECT_TRUE(database->ReadRegistration(
data2.registration_id, origin2, &data_out, &resources_out)); data2.registration_id, origin, &data_out, &resources_out));
VerifyRegistrationData(data2, data_out); VerifyRegistrationData(data2, data_out);
VerifyResourceRecords(resources2, resources_out); VerifyResourceRecords(resources2, resources_out);
} }
......
Markdown is supported
0%
or
You are about to add 0 people to the discussion. Proceed with caution.
Finish editing this message first!
Please register or to comment