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

Unified Diff: content/browser/service_worker/embedded_worker_instance_unittest.cc

Issue 2307543002: ServiceWorker: Mojofication of EWInstance::StopWorker (Closed)
Patch Set: Added a unittest file Created 4 years, 3 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 side-by-side diff with in-line comments
Download patch
Index: content/browser/service_worker/embedded_worker_instance_unittest.cc
diff --git a/content/browser/service_worker/embedded_worker_instance_unittest.cc b/content/browser/service_worker/embedded_worker_instance_unittest.cc
index 09dfb22b9d35162918b4dbe5403e23683cc6c181..d01656ff347b1a6663dbf2fd1c63dd521f188712 100644
--- a/content/browser/service_worker/embedded_worker_instance_unittest.cc
+++ b/content/browser/service_worker/embedded_worker_instance_unittest.cc
@@ -17,12 +17,10 @@
#include "content/browser/service_worker/embedded_worker_test_helper.h"
#include "content/browser/service_worker/service_worker_context_core.h"
#include "content/browser/service_worker/service_worker_context_wrapper.h"
-#include "content/common/service_worker/embedded_worker.mojom.h"
#include "content/common/service_worker/embedded_worker_messages.h"
#include "content/public/common/child_process_host.h"
#include "content/public/common/content_switches.h"
#include "content/public/test/test_browser_thread_bundle.h"
-#include "mojo/public/cpp/bindings/strong_binding.h"
#include "testing/gmock/include/gmock/gmock.h"
#include "testing/gtest/include/gtest/gtest.h"
@@ -52,11 +50,6 @@ CreateStartParams(int version_id, const GURL& scope, const GURL& script_url) {
return params;
}
-bool IsMojoForServiceWorkerEnabled() {
- return base::CommandLine::ForCurrentProcess()->HasSwitch(
- switches::kMojoServiceWorker);
-}
-
} // namespace
class EmbeddedWorkerInstanceTest : public testing::Test,
@@ -135,21 +128,6 @@ class EmbeddedWorkerInstanceTest : public testing::Test,
DISALLOW_COPY_AND_ASSIGN(EmbeddedWorkerInstanceTest);
};
-class MojoEmbeddedWorkerInstanceTest : public EmbeddedWorkerInstanceTest {
- protected:
- void SetUp() override {
- base::CommandLine::ForCurrentProcess()->AppendSwitch(
- switches::kMojoServiceWorker);
- EmbeddedWorkerInstanceTest::SetUp();
- }
-
- std::vector<std::unique_ptr<
- EmbeddedWorkerTestHelper::MockEmbeddedWorkerInstanceClient>>*
- mock_instance_clients() {
- return helper_->mock_instance_clients();
- }
-};
-
// A helper to simulate the start worker sequence is stalled in a worker
// process.
class StalledInStartWorkerHelper : public EmbeddedWorkerTestHelper {
@@ -235,69 +213,6 @@ TEST_F(EmbeddedWorkerInstanceTest, StartAndStop) {
EmbeddedWorkerMsg_StopWorker::ID));
}
-TEST_F(MojoEmbeddedWorkerInstanceTest, StartAndStop) {
- using mojom::EmbeddedWorkerStartWorkerParams;
-
- ASSERT_TRUE(IsMojoForServiceWorkerEnabled());
-
- std::unique_ptr<EmbeddedWorkerInstance> worker =
- embedded_worker_registry()->CreateWorker();
- EXPECT_EQ(EmbeddedWorkerStatus::STOPPED, worker->status());
-
- const int64_t service_worker_version_id = 55L;
- const GURL pattern("http://example.com/");
- const GURL url("http://example.com/worker.js");
-
- // Simulate adding one process to the pattern.
- helper_->SimulateAddProcessToPattern(pattern,
- helper_->mock_render_process_id());
-
- // Check if StartWorker will be called via mojo IPC.
- helper_->PrepareMockInstanceClients(1);
- ASSERT_EQ(mock_instance_clients()->size(), 1UL);
- EmbeddedWorkerTestHelper::MockEmbeddedWorkerInstanceClient* instance_client =
- mock_instance_clients()->at(0).get();
- EXPECT_CALL(
- *instance_client,
- MockStartWorker(AllOf(
- Pointee(
- Field(&EmbeddedWorkerStartWorkerParams::service_worker_version_id,
- Eq(service_worker_version_id))),
- Pointee(Field(&EmbeddedWorkerStartWorkerParams::scope, Eq(pattern))),
- Pointee(
- Field(&EmbeddedWorkerStartWorkerParams::script_url, Eq(url))))))
- .Times(1);
-
- // Start should succeed.
- ServiceWorkerStatusCode status;
- base::RunLoop run_loop;
- std::unique_ptr<EmbeddedWorkerMsg_StartWorker_Params> params =
- CreateStartParams(service_worker_version_id, pattern, url);
- worker->Start(std::move(params), base::Bind(&SaveStatusAndCall, &status,
- run_loop.QuitClosure()));
- EXPECT_EQ(EmbeddedWorkerStatus::STARTING, worker->status());
- run_loop.Run();
- EXPECT_EQ(SERVICE_WORKER_OK, status);
-
- // The 'WorkerStarted' message should have been sent by
- // EmbeddedWorkerTestHelper.
- EXPECT_EQ(EmbeddedWorkerStatus::RUNNING, worker->status());
- EXPECT_EQ(helper_->mock_render_process_id(), worker->process_id());
-
- // Stop the worker.
- EXPECT_EQ(SERVICE_WORKER_OK, worker->Stop());
- EXPECT_EQ(EmbeddedWorkerStatus::STOPPING, worker->status());
- base::RunLoop().RunUntilIdle();
-
- // The 'WorkerStopped' message should have been sent by
- // EmbeddedWorkerTestHelper.
- EXPECT_EQ(EmbeddedWorkerStatus::STOPPED, worker->status());
-
- // Ckeck if StopWorker has been sent via chromium IPC.
- ASSERT_TRUE(
- ipc_sink()->GetUniqueMessageMatching(EmbeddedWorkerMsg_StopWorker::ID));
-}
-
// Test that a worker that failed twice will use a new render process
// on the next attempt.
TEST_F(EmbeddedWorkerInstanceTest, ForceNewProcess) {

Powered by Google App Engine
This is Rietveld 408576698