Replace Grizzly2 test container to Jetty test container
Grizzly2 test framework does not produce the same test results
compare to production REST API test through jetty web server.
By default Jersey 2.x uses the Grizzly2 test framework, this
commit tries to replace this test framework to Jetty based
http test framework.
Change-Id: I7bcb19bf73801cc66036487fd5a964e32ce1ba61
diff --git a/apps/acl/pom.xml b/apps/acl/pom.xml
index bc12d67..14073f2 100644
--- a/apps/acl/pom.xml
+++ b/apps/acl/pom.xml
@@ -106,7 +106,7 @@
</dependency>
<dependency>
<groupId>org.glassfish.jersey.test-framework.providers</groupId>
- <artifactId>jersey-test-framework-provider-grizzly2</artifactId>
+ <artifactId>jersey-test-framework-provider-jetty</artifactId>
<scope>test</scope>
</dependency>
diff --git a/apps/cpman/app/pom.xml b/apps/cpman/app/pom.xml
index d4a6bdf..d4fde5a 100644
--- a/apps/cpman/app/pom.xml
+++ b/apps/cpman/app/pom.xml
@@ -144,7 +144,7 @@
</dependency>
<dependency>
<groupId>org.glassfish.jersey.test-framework.providers</groupId>
- <artifactId>jersey-test-framework-provider-grizzly2</artifactId>
+ <artifactId>jersey-test-framework-provider-jetty</artifactId>
<scope>test</scope>
</dependency>
<dependency>
diff --git a/apps/faultmanagement/BUCK b/apps/faultmanagement/BUCK
index cd6937e2..c18a118 100644
--- a/apps/faultmanagement/BUCK
+++ b/apps/faultmanagement/BUCK
@@ -15,7 +15,7 @@
TEST_DEPS = [
'//lib:TEST_ADAPTERS',
'//lib:jersey-test-framework-core',
- '//lib:jersey-test-framework-grizzly2',
+ '//lib:jersey-test-framework-jetty',
'//utils/osgi:onlab-osgi-tests',
'//web/api:onos-rest-tests',
'//incubator/api:onos-incubator-api-tests',
diff --git a/apps/vtn/pom.xml b/apps/vtn/pom.xml
index 5587279..94ec032 100644
--- a/apps/vtn/pom.xml
+++ b/apps/vtn/pom.xml
@@ -77,7 +77,7 @@
</dependency>
<dependency>
<groupId>org.glassfish.jersey.test-framework.providers</groupId>
- <artifactId>jersey-test-framework-provider-grizzly2</artifactId>
+ <artifactId>jersey-test-framework-provider-jetty</artifactId>
<scope>test</scope>
</dependency>
</dependencies>
diff --git a/lib/BUCK b/lib/BUCK
index 1fe8dba..6f354af 100644
--- a/lib/BUCK
+++ b/lib/BUCK
@@ -81,17 +81,20 @@
':jersey-server',
':jersey-common',
':jersey-test-framework-core',
- ':jersey-test-framework-grizzly2',
+ ':jersey-test-framework-jetty',
+ ':jersey-container-jetty-http',
+ ':jetty-continuation',
+ ':jetty-http',
+ ':javax.servlet-api',
+ ':jetty-server',
+ ':jetty-io',
+ ':jetty-util',
':jersey-guava',
':hk2-api',
':hk2-locator',
':hk2-utils',
':javax.inject',
':hk2-osgi-resource-locator',
- ':jersey-container-grizzly2-http',
- ':grizzly-http-server',
- ':grizzly-framework',
- ':grizzly-http',
':javax.annotation-api',
':validation-api',
'//core/common:onos-core-common',
@@ -592,45 +595,87 @@
)
prebuilt_jar(
- name = 'grizzly-framework',
- binary_jar = ':grizzly-framework-2.3.23.jar',
- maven_coords = 'org.glassfish.grizzly:grizzly-framework:2.3.23',
+ name = 'jetty-server',
+ binary_jar = ':jetty-server-9.1.6.v20160112.jar',
+ maven_coords = 'org.eclipse.jetty:jetty-server:9.1.6.v20160112',
visibility = [ 'PUBLIC' ],
)
remote_file(
- name = 'grizzly-framework-2.3.23.jar',
- out = 'grizzly-framework-2.3.23.jar',
- url = 'mvn:org.glassfish.grizzly:grizzly-framework:jar:2.3.23',
- sha1 = '262913b1a7ec4156e7e6aa3f8854a4d1a54940b0',
+ name = 'jetty-server-9.1.6.v20160112.jar',
+ out = 'jetty-server-9.1.6.v20160112.jar',
+ url = 'mvn:org.eclipse.jetty:jetty-server:jar:9.1.6.v20160112',
+ sha1 = '15f8b12fe0e2105f46d7c3b372054adc85e941a9',
)
prebuilt_jar(
- name = 'grizzly-http',
- binary_jar = ':grizzly-http-2.3.23.jar',
- maven_coords = 'org.glassfish.grizzly:grizzly-http:2.3.23',
+ name = 'jetty-util',
+ binary_jar = ':jetty-util-9.1.6.v20160112.jar',
+ maven_coords = 'org.eclipse.jetty:jetty-util:9.1.6.v20160112',
visibility = [ 'PUBLIC' ],
)
remote_file(
- name = 'grizzly-http-2.3.23.jar',
- out = 'grizzly-http-2.3.23.jar',
- url = 'mvn:org.glassfish.grizzly:grizzly-http:jar:2.3.23',
- sha1 = '287ea2c8a765b14fbc494749570ff3889ecd7b83',
+ name = 'jetty-util-9.1.6.v20160112.jar',
+ out = 'jetty-util-9.1.6.v20160112.jar',
+ url = 'mvn:org.eclipse.jetty:jetty-util:jar:9.1.6.v20160112',
+ sha1 = 'd4337bc023fe99b072abc56425b8a317ffd3f462',
)
prebuilt_jar(
- name = 'grizzly-http-server',
- binary_jar = ':grizzly-http-server-2.3.23.jar',
- maven_coords = 'org.glassfish.grizzly:grizzly-http-server:2.3.23',
+ name = 'jetty-continuation',
+ binary_jar = ':jetty-continuation-9.1.6.v20160112.jar',
+ maven_coords = 'org.eclipse.jetty:jetty-continuation:9.1.6.v20160112',
visibility = [ 'PUBLIC' ],
)
remote_file(
- name = 'grizzly-http-server-2.3.23.jar',
- out = 'grizzly-http-server-2.3.23.jar',
- url = 'mvn:org.glassfish.grizzly:grizzly-http-server:jar:2.3.23',
- sha1 = '4aaf209163d8dca1bfb1907f19c7fd1f2f3ebbf9',
+ name = 'jetty-continuation-9.1.6.v20160112.jar',
+ out = 'jetty-continuation-9.1.6.v20160112.jar',
+ url = 'mvn:org.eclipse.jetty:jetty-continuation:jar:9.1.6.v20160112',
+ sha1 = 'c8f35dfc6321cc15224404c9c4ede79988eeae34',
+)
+
+prebuilt_jar(
+ name = 'jetty-http',
+ binary_jar = ':jetty-http-9.1.6.v20160112.jar',
+ maven_coords = 'org.eclipse.jetty:jetty-http:9.1.6.v20160112',
+ visibility = [ 'PUBLIC' ],
+)
+
+remote_file(
+ name = 'jetty-http-9.1.6.v20160112.jar',
+ out = 'jetty-http-9.1.6.v20160112.jar',
+ url = 'mvn:org.eclipse.jetty:jetty-http:jar:9.1.6.v20160112',
+ sha1 = 'c3675e6ebc350aafbc9dd7686265af9f65165b36',
+)
+
+prebuilt_jar(
+ name = 'jetty-io',
+ binary_jar = ':jetty-io-9.1.6.v20160112.jar',
+ maven_coords = 'org.eclipse.jetty:jetty-io:9.1.6.v20160112',
+ visibility = [ 'PUBLIC' ],
+)
+
+remote_file(
+ name = 'jetty-io-9.1.6.v20160112.jar',
+ out = 'jetty-io-9.1.6.v20160112.jar',
+ url = 'mvn:org.eclipse.jetty:jetty-io:jar:9.1.6.v20160112',
+ sha1 = '717fc5a269becb2537849105de1547dc1a4476b0',
+)
+
+prebuilt_jar(
+ name = 'javax.servlet-api',
+ binary_jar = ':javax.servlet-api-3.1.0.jar',
+ maven_coords = 'javax.servlet:javax.servlet-api:3.1.0',
+ visibility = [ 'PUBLIC' ],
+)
+
+remote_file(
+ name = 'javax.servlet-api-3.1.0.jar',
+ out = 'javax.servlet-api-3.1.0.jar',
+ url = 'mvn:javax.servlet:javax.servlet-api:jar:3.1.0',
+ sha1 = '3cd63d075497751784b2fa84be59432f4905bf7c',
)
prebuilt_jar(
@@ -914,17 +959,17 @@
)
prebuilt_jar(
- name = 'jersey-container-grizzly2-http',
- binary_jar = ':jersey-container-grizzly2-http-2.22.2.jar',
- maven_coords = 'org.glassfish.jersey.containers:jersey-container-grizzly2-http:2.22.2',
+ name = 'jersey-container-jetty-http',
+ binary_jar = ':jersey-container-jetty-http-2.22.2.jar',
+ maven_coords = 'org.glassfish.jersey.containers:jersey-container-jetty-http:2.22.2',
visibility = [ 'PUBLIC' ],
)
remote_file(
- name = 'jersey-container-grizzly2-http-2.22.2.jar',
- out = 'jersey-container-grizzly2-http-2.22.2.jar',
- url = 'mvn:org.glassfish.jersey.containers:jersey-container-grizzly2-http:jar:2.22.2',
- sha1 = '7f4f0cb7cfad277a4a6d91298d9f2ac309e4383b',
+ name = 'jersey-container-jetty-http-2.22.2.jar',
+ out = 'jersey-container-jetty-http-2.22.2.jar',
+ url = 'mvn:org.glassfish.jersey.containers:jersey-container-jetty-http:jar:2.22.2',
+ sha1 = '7421abf505bda989087745a458b5ccf2cd327297',
)
prebuilt_jar(
@@ -984,31 +1029,17 @@
)
prebuilt_jar(
- name = 'jersey-test-framework-grizzly2',
- binary_jar = ':jersey-test-framework-provider-grizzly2-2.22.2.jar',
- maven_coords = 'org.glassfish.jersey.test-framework.providers:jersey-test-framework-provider-grizzly2:2.22.2',
+ name = 'jersey-test-framework-jetty',
+ binary_jar = ':jersey-test-framework-provider-jetty-2.22.2.jar',
+ maven_coords = 'org.glassfish.jersey.test-framework.providers:jersey-test-framework-provider-jetty:2.22.2',
visibility = [ 'PUBLIC' ],
)
remote_file(
- name = 'jersey-test-framework-provider-grizzly2-2.22.2.jar',
- out = 'jersey-test-framework-provider-grizzly2-2.22.2.jar',
- url = 'mvn:org.glassfish.jersey.test-framework.providers:jersey-test-framework-provider-grizzly2:jar:2.22.2',
- sha1 = '05aa3952528f09ce94360ab238446163d2544344',
-)
-
-prebuilt_jar(
- name = 'jetty-util',
- binary_jar = ':jetty-util-8.1.18.v20150929.jar',
- maven_coords = 'org.eclipse.jetty:jetty-util:8.1.18.v20150929',
- visibility = [ 'PUBLIC' ],
-)
-
-remote_file(
- name = 'jetty-util-8.1.18.v20150929.jar',
- out = 'jetty-util-8.1.18.v20150929.jar',
- url = 'mvn:org.eclipse.jetty:jetty-util:jar:8.1.18.v20150929',
- sha1 = 'fb8fb3debf99a626c827535bf06451a337c6b085',
+ name = 'jersey-test-framework-provider-jetty-2.22.2.jar',
+ out = 'jersey-test-framework-provider-jetty-2.22.2.jar',
+ url = 'mvn:org.glassfish.jersey.test-framework.providers:jersey-test-framework-provider-jetty:jar:2.22.2',
+ sha1 = 'ab3b0418403f6a5cfc311f92b7cd589dc32f60ed',
)
prebuilt_jar(
diff --git a/lib/deps.json b/lib/deps.json
index 85a75c6..7893c35 100644
--- a/lib/deps.json
+++ b/lib/deps.json
@@ -59,17 +59,20 @@
"jersey-server",
"jersey-common",
"jersey-test-framework-core",
- "jersey-test-framework-grizzly2",
+ "jersey-test-framework-jetty",
+ "jersey-container-jetty-http",
+ "jetty-continuation",
+ "jetty-http",
+ "jetty-server",
+ "jetty-io",
+ "jetty-util",
+ "javax.servlet-api",
"jersey-guava",
"hk2-api",
"hk2-locator",
"hk2-utils",
"javax.inject",
"hk2-osgi-resource-locator",
- "jersey-container-grizzly2-http",
- "grizzly-http-server",
- "grizzly-framework",
- "grizzly-http",
"javax.annotation-api",
"validation-api",
"//core/common:onos-core-common",
@@ -115,9 +118,7 @@
"easymock": "mvn:org.easymock:easymock:3.4",
"error_prone_annotations": "mvn:com.google.errorprone:error_prone_annotations:2.0.2",
"ganymed-ssh2": "mvn:ch.ethz.ganymed:ganymed-ssh2:262",
- "grizzly-framework": "mvn:org.glassfish.grizzly:grizzly-framework:2.3.23",
- "grizzly-http": "mvn:org.glassfish.grizzly:grizzly-http:2.3.23",
- "grizzly-http-server": "mvn:org.glassfish.grizzly:grizzly-http-server:2.3.23",
+ "jersey-container-jetty-http": "mvn:org.glassfish.jersey.containers:jersey-container-jetty-http:2.22.2",
"guava": "mvn:com.google.guava:guava:19.0",
"guava-testlib": "mvn:com.google.guava:guava-testlib:19.0",
"hamcrest-all": "mvn:org.hamcrest:hamcrest-all:1.3",
@@ -138,14 +139,19 @@
"javax.ws.rs-api": "mvn:javax.ws.rs:javax.ws.rs-api:2.0.1",
"jersey-client": "mvn:org.glassfish.jersey.core:jersey-client:2.22.2",
"jersey-common": "mvn:org.glassfish.jersey.core:jersey-common:2.22.2",
- "jersey-container-grizzly2-http": "mvn:org.glassfish.jersey.containers:jersey-container-grizzly2-http:2.22.2",
"jersey-guava": "mvn:org.glassfish.jersey.bundles.repackaged:jersey-guava:2.22.2",
"jersey-media-multipart": "mvn:org.glassfish.jersey.media:jersey-media-multipart:2.22.2",
"jersey-server": "mvn:org.glassfish.jersey.core:jersey-server:2.22.2",
"jersey-test-framework-core": "mvn:org.glassfish.jersey.test-framework:jersey-test-framework-core:2.22.2",
- "jersey-test-framework-grizzly2": "mvn:org.glassfish.jersey.test-framework.providers:jersey-test-framework-provider-grizzly2:2.22.2",
- "jetty-util": "mvn:org.eclipse.jetty:jetty-util:8.1.18.v20150929",
+ "jersey-test-framework-jetty": "mvn:org.glassfish.jersey.test-framework.providers:jersey-test-framework-provider-jetty:2.22.2",
+ "jetty-util": "mvn:org.eclipse.jetty:jetty-util:9.1.6.v20160112",
"jetty-websocket": "mvn:org.eclipse.jetty:jetty-websocket:8.1.18.v20150929",
+ "jetty-server": "mvn:org.eclipse.jetty:jetty-server:9.1.6.v20160112",
+ "jetty-continuation": "mvn:org.eclipse.jetty:jetty-continuation:9.1.6.v20160112",
+ "jetty-http": "mvn:org.eclipse.jetty:jetty-http:9.1.6.v20160112",
+ "jetty-io": "mvn:org.eclipse.jetty:jetty-io:9.1.6.v20160112",
+ "jetty-server": "mvn:org.eclipse.jetty:jetty-server:9.1.6.v20160112",
+ "javax.servlet-api": "mvn:javax.servlet:javax.servlet-api:3.1.0",
"joda-time": "mvn:joda-time:joda-time:2.9",
"jsch": "mvn:com.jcraft:jsch:0.1.53",
"jsr305": "mvn:com.google.code.findbugs:jsr305:3.0.1",
diff --git a/pom.xml b/pom.xml
index 247263b..8ed1665 100644
--- a/pom.xml
+++ b/pom.xml
@@ -261,7 +261,7 @@
</dependency>
<dependency>
<groupId>org.glassfish.jersey.test-framework.providers</groupId>
- <artifactId>jersey-test-framework-provider-grizzly2</artifactId>
+ <artifactId>jersey-test-framework-provider-jetty</artifactId>
<version>${jersey.version}</version>
<scope>test</scope>
</dependency>
diff --git a/utils/rest/pom.xml b/utils/rest/pom.xml
index 9d6ea37..7ec8e09 100644
--- a/utils/rest/pom.xml
+++ b/utils/rest/pom.xml
@@ -58,7 +58,7 @@
</dependency>
<dependency>
<groupId>org.glassfish.jersey.test-framework.providers</groupId>
- <artifactId>jersey-test-framework-provider-grizzly2</artifactId>
+ <artifactId>jersey-test-framework-provider-jetty</artifactId>
<scope>test</scope>
</dependency>
<dependency>
diff --git a/web/api/pom.xml b/web/api/pom.xml
index 31eacc8..0858ff1 100644
--- a/web/api/pom.xml
+++ b/web/api/pom.xml
@@ -53,6 +53,11 @@
<scope>test</scope>
<classifier>tests</classifier>
</dependency>
+ <dependency>
+ <groupId>org.glassfish.jersey.test-framework.providers</groupId>
+ <artifactId>jersey-test-framework-provider-jetty</artifactId>
+ <scope>test</scope>
+ </dependency>
</dependencies>
<properties>
diff --git a/web/api/src/test/java/org/onosproject/rest/resources/ResourceTest.java b/web/api/src/test/java/org/onosproject/rest/resources/ResourceTest.java
index dfe6360..5305a8a 100644
--- a/web/api/src/test/java/org/onosproject/rest/resources/ResourceTest.java
+++ b/web/api/src/test/java/org/onosproject/rest/resources/ResourceTest.java
@@ -17,12 +17,16 @@
import org.glassfish.jersey.server.ResourceConfig;
import org.glassfish.jersey.test.JerseyTest;
+import org.glassfish.jersey.test.jetty.JettyTestContainerFactory;
+import org.glassfish.jersey.test.spi.TestContainerException;
+import org.glassfish.jersey.test.spi.TestContainerFactory;
import java.io.IOException;
import java.net.ServerSocket;
/**
- * Base class for REST API tests. Performs common configuration operations.
+ * Base class for REST API tests.
+ * Performs common configuration operations.
*/
public class ResourceTest extends JerseyTest {
private static final int DEFAULT_PORT = 9998;
@@ -61,4 +65,15 @@
return defaultPort;
}
}
+
+ /**
+ * Configures the jetty test container as default test container.
+ *
+ * @return test container factory
+ * @throws TestContainerException
+ */
+ @Override
+ protected TestContainerFactory getTestContainerFactory() throws TestContainerException {
+ return new JettyTestContainerFactory();
+ }
}
diff --git a/web/pom.xml b/web/pom.xml
index 5961dbc..0a053c6 100644
--- a/web/pom.xml
+++ b/web/pom.xml
@@ -95,7 +95,7 @@
</dependency>
<dependency>
<groupId>org.glassfish.jersey.test-framework.providers</groupId>
- <artifactId>jersey-test-framework-provider-grizzly2</artifactId>
+ <artifactId>jersey-test-framework-provider-jetty</artifactId>
<scope>test</scope>
</dependency>