summaryrefslogtreecommitdiffstats
path: root/java/sca-contrib/tools/maven/maven-web-junit/src/main/java/org/apache/tuscany/tools/sca/web/junit/plugin/WebJUnitMojo.java
diff options
context:
space:
mode:
Diffstat (limited to 'java/sca-contrib/tools/maven/maven-web-junit/src/main/java/org/apache/tuscany/tools/sca/web/junit/plugin/WebJUnitMojo.java')
-rw-r--r--java/sca-contrib/tools/maven/maven-web-junit/src/main/java/org/apache/tuscany/tools/sca/web/junit/plugin/WebJUnitMojo.java205
1 files changed, 0 insertions, 205 deletions
diff --git a/java/sca-contrib/tools/maven/maven-web-junit/src/main/java/org/apache/tuscany/tools/sca/web/junit/plugin/WebJUnitMojo.java b/java/sca-contrib/tools/maven/maven-web-junit/src/main/java/org/apache/tuscany/tools/sca/web/junit/plugin/WebJUnitMojo.java
deleted file mode 100644
index 658d65d7c3..0000000000
--- a/java/sca-contrib/tools/maven/maven-web-junit/src/main/java/org/apache/tuscany/tools/sca/web/junit/plugin/WebJUnitMojo.java
+++ /dev/null
@@ -1,205 +0,0 @@
-/*
- * Licensed to the Apache Software Foundation (ASF) under one
- * or more contributor license agreements. See the NOTICE file
- * distributed with this work for additional information
- * regarding copyright ownership. The ASF licenses this file
- * to you under the Apache License, Version 2.0 (the
- * "License"); you may not use this file except in compliance
- * with the License. You may obtain a copy of the License at
- *
- * http://www.apache.org/licenses/LICENSE-2.0
- *
- * Unless required by applicable law or agreed to in writing,
- * software distributed under the License is distributed on an
- * "AS IS" BASIS, WITHOUT WARRANTIES OR CONDITIONS OF ANY
- * KIND, either express or implied. See the License for the
- * specific language governing permissions and limitations
- * under the License.
- */
-package org.apache.tuscany.tools.sca.web.junit.plugin;
-
-import java.io.BufferedReader;
-import java.io.IOException;
-import java.io.InputStreamReader;
-
-import org.apache.commons.logging.LogFactory;
-import org.apache.http.Header;
-import org.apache.http.HttpEntity;
-import org.apache.http.HttpResponse;
-import org.apache.http.HttpStatus;
-import org.apache.http.StatusLine;
-import org.apache.http.client.HttpClient;
-import org.apache.http.client.methods.HttpGet;
-import org.apache.http.impl.client.DefaultHttpClient;
-import org.apache.maven.plugin.AbstractMojo;
-import org.apache.maven.plugin.MojoExecutionException;
-import org.apache.maven.project.MavenProject;
-
-/**
- * @version $Rev$ $Date$
- * @goal test
- * @phase integration-test
- * @requiresDependencyResolution test
- * @description Run the unit test over HTTP
- */
-public class WebJUnitMojo extends AbstractMojo {
- /**
- * The project to create a build for.
- *
- * @parameter expression="${project}"
- * @required
- * @readonly
- */
- private MavenProject project;
-
- /**
- * The test cases to run
- * @parameter
- */
- private String testCases[];
-
- /**
- * The URL for the web site
- * @parameter
- */
- private String url;
-
- /**
- * Timeout for the HTTP connection
- * @parameter
- */
- private int timeout = 300000; // 5 minutes
-
- /**
- * To avoid throwing exceptions because we want the stop container plugin to be executed
- * @parameter
- */
- private boolean ignoreErrors = true;
-
- public void execute() throws MojoExecutionException {
- if (project.getPackaging().equals("pom")) {
- return;
- }
-
- reset();
-
- if (url == null) {
- url = "http://localhost:8080/" + project.getBuild().getFinalName() + "/junit?op=runAll";
- }
-
- if (testCases != null) {
- StringBuffer buf = new StringBuffer(url);
- for (int i = 0; i < testCases.length; i++) {
- if (i == 0) {
- buf.append('?');
- }
- buf.append(testCases[i]);
- if (i != testCases.length - 1) {
- buf.append(',');
- }
- }
- url = buf.toString();
- }
-
- getLog().info("Connecting to " + url);
-
- int runs = 0, errors = 0, failures = 0;
- String xml = "";
-
- try {
- HttpClient client = new DefaultHttpClient();
- HttpGet httpget = new HttpGet(url);
- httpget.getParams().setParameter("http.socket.timeout", new Integer(timeout));
-
- // Execute HTTP request
- HttpResponse response = client.execute(httpget);
-
- StatusLine status = response.getStatusLine();
- if (status.getStatusCode() != HttpStatus.SC_OK) {
- if (!ignoreErrors) {
- throw new MojoExecutionException(status.getStatusCode() + ": " + status.getReasonPhrase());
- }
- getLog().error(status.getStatusCode() + ": " + status.getReasonPhrase());
- return;
- }
- Header header = response.getFirstHeader("junit.errors");
- errors = header == null ? 0 : Integer.parseInt(header.getValue());
- header = response.getFirstHeader("junit.failures");
- failures = header == null ? 0 : Integer.parseInt(header.getValue());
- header = response.getFirstHeader("junit.runs");
- runs = header == null ? 0 : Integer.parseInt(header.getValue());
- getLog().info("Runs: " + runs + ", Failures: " + failures + ", Errors: " + errors);
-
- // Get hold of the response entity
- HttpEntity entity = response.getEntity();
-
- // If the response does not enclose an entity, there is no need
- // to bother about connection release
- if (entity != null) {
- BufferedReader reader = new BufferedReader(new InputStreamReader(entity.getContent()));
- try {
- StringBuffer sb = new StringBuffer();
- while (true) {
- String line = reader.readLine();
- if (line == null) {
- break;
- }
- sb.append(line);
- }
- xml = sb.toString();
- getLog().debug(xml);
-
- } catch (IOException ex) {
-
- // In case of an IOException the connection will be released
- // back to the connection manager automatically
- throw ex;
-
- } catch (RuntimeException ex) {
-
- // In case of an unexpected exception you may want to abort
- // the HTTP request in order to shut down the underlying
- // connection and release it back to the connection manager.
- httpget.abort();
- throw ex;
-
- } finally {
-
- // Closing the input stream will trigger connection release
- reader.close();
-
- }
-
- }
- } catch (Exception e) {
- if (!ignoreErrors) {
- throw new MojoExecutionException(e.getMessage(), e);
- }
- getLog().error(e);
- }
- if (errors != 0 || failures != 0) {
- if (!ignoreErrors) {
- throw new MojoExecutionException(xml);
- }
- getLog().error(xml);
- }
-
- }
-
- /**
- * A workaround to avoid logging conflict with Geronimo
- */
- private static void reset() {
- LogFactory.releaseAll();
-
- // Restore a reasonable default log impl
- System.setProperty("org.apache.commons.logging.Log", "org.apache.commons.logging.impl.SimpleLog");
-
- // Make SimpleLog look more like Maven logs
- System.setProperty("org.apache.commons.logging.simplelog.showShortLogname", "false");
-
- // Restore default Geronimo bootstrap behavior
- System.getProperties().remove("geronimo.bootstrap.logging.enabled");
- }
-
-}