Commit 213aa491 authored by Anthony Berent's avatar Anthony Berent Committed by Commit Bot

Create a Junit 4 rule for running an EmbeddedTestServer.

It is a frequent pattern in tests to start an EmbeddedTestServer before
starting a test, and to stop it when the test completes. Simplify this
pattern by creating a Junit4 rule for running an EmbeddedTestServer.

Change-Id: Ibfdf4c032a0d223c674f09bf847998e62200a6f5
Reviewed-on: https://chromium-review.googlesource.com/548057Reviewed-by: default avatarPaweł Hajdan Jr. <phajdan.jr@chromium.org>
Reviewed-by: default avatarHelen Li <xunjieli@chromium.org>
Reviewed-by: default avatarBernhard Bauer <bauerb@chromium.org>
Commit-Queue: Anthony Berent <aberent@chromium.org>
Cr-Commit-Position: refs/heads/master@{#485306}
parent 0fa8c4be
......@@ -53,6 +53,7 @@ android_library("net_java_test_support") {
testonly = true
java_files = [
"../test/android/javatests/src/org/chromium/net/test/EmbeddedTestServer.java",
"../test/android/javatests/src/org/chromium/net/test/EmbeddedTestServerRule.java",
"../test/android/javatests/src/org/chromium/net/test/util/CertTestUtil.java",
"../test/android/javatests/src/org/chromium/net/test/util/NetworkChangeNotifierTestUtil.java",
"../test/android/javatests/src/org/chromium/net/test/util/TestWebServer.java",
......@@ -62,6 +63,8 @@ android_library("net_java_test_support") {
":net_java",
"//base:base_java",
"//base:base_java_test_support",
"//third_party/android_support_test_runner:rules_java",
"//third_party/android_support_test_runner:runner_java",
"//third_party/android_tools:android_support_annotations_java",
"//third_party/junit",
]
......
// Copyright 2017 The Chromium Authors. All rights reserved.
// Use of this source code is governed by a BSD-style license that can be
// found in the LICENSE file.
package org.chromium.net.test;
import android.support.test.InstrumentationRegistry;
import org.junit.rules.TestWatcher;
import org.junit.runner.Description;
/**
* Junit4 rule for starting embedded test server before a test starts, and shutting it down when it
* finishes.
*/
public class EmbeddedTestServerRule extends TestWatcher {
EmbeddedTestServer mServer = new EmbeddedTestServer();
@Override
protected void starting(Description description) {
try {
EmbeddedTestServer.initializeAndStartServer(
mServer, InstrumentationRegistry.getContext());
} catch (InterruptedException e) {
throw new EmbeddedTestServer.EmbeddedTestServerFailure("Test server didn't start");
}
super.starting(description);
}
@Override
protected void finished(Description description) {
super.finished(description);
mServer.stopAndDestroyServer();
}
/**
* Get the test server.
*
* @return the test server.
*/
public EmbeddedTestServer getServer() {
return mServer;
}
}
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