001 package com.khubla.pragmatach.contrib.controllertester;
002
003 import java.util.List;
004
005 import org.apache.http.client.methods.HttpGet;
006 import org.apache.http.impl.client.DefaultHttpClient;
007
008 /**
009 * @author tome
010 */
011 public class RouteTester {
012 /**
013 * client
014 */
015 private static final DefaultHttpClient client = new DefaultHttpClient();
016
017 public static String generateRandomUrl(String host, RouteUrl routeUrl) {
018 String ret = host;
019 final List<String> parts = routeUrl.getParts();
020 for (final String part : parts) {
021 ret += "/" + part;
022 }
023 return ret;
024 }
025
026 /**
027 * call route, report if we get something other than 200
028 */
029 public static void testRoute(String host, RouteUrl routeUrl, int trials) throws Exception {
030 try {
031 if (routeUrl.getMethod().compareTo("get") == 0) {
032 /*
033 * url
034 */
035 final String url = generateRandomUrl(host, routeUrl);
036 /*
037 * show the url
038 */
039 System.out.println(url);
040 /*
041 * get
042 */
043 final HttpGet httpGet = new HttpGet(url);
044 /*
045 * get the return code
046 */
047 final int ret = client.execute(httpGet).getStatusLine().getStatusCode();
048 /*
049 * done
050 */
051 httpGet.releaseConnection();
052 /*
053 * check
054 */
055 if (200 != ret) {
056 System.out.println(ret + " " + routeUrl.getContext());
057 }
058 }
059 } catch (final Exception e) {
060 throw new Exception("Exception in testRoute: '" + routeUrl.getContext() + "'", e);
061 }
062 }
063 }