[jbosstools-commits] JBoss Tools SVN: r24146 - trunk/usage/tests/org.jboss.tools.usage.test/src/org/jboss/tools/usage/test.

jbosstools-commits at lists.jboss.org jbosstools-commits at lists.jboss.org
Fri Aug 13 09:16:49 EDT 2010


Author: adietish
Date: 2010-08-13 09:16:49 -0400 (Fri, 13 Aug 2010)
New Revision: 24146

Added:
   trunk/usage/tests/org.jboss.tools.usage.test/src/org/jboss/tools/usage/test/GoogleAnalyticsUrlStrategyTest.java
Modified:
   trunk/usage/tests/org.jboss.tools.usage.test/src/org/jboss/tools/usage/test/JBossToolsUsageRequestsTest.java
   trunk/usage/tests/org.jboss.tools.usage.test/src/org/jboss/tools/usage/test/JBossToolsUsageTest.java
Log:
[JBIDE-6376] url strategey changed + test added


Added: trunk/usage/tests/org.jboss.tools.usage.test/src/org/jboss/tools/usage/test/GoogleAnalyticsUrlStrategyTest.java
===================================================================
--- trunk/usage/tests/org.jboss.tools.usage.test/src/org/jboss/tools/usage/test/GoogleAnalyticsUrlStrategyTest.java	                        (rev 0)
+++ trunk/usage/tests/org.jboss.tools.usage.test/src/org/jboss/tools/usage/test/GoogleAnalyticsUrlStrategyTest.java	2010-08-13 13:16:49 UTC (rev 24146)
@@ -0,0 +1,116 @@
+/*******************************************************************************
+ * Copyright (c) 2008 Red Hat, Inc.
+ * Distributed under license by Red Hat, Inc. All rights reserved.
+ * This program is made available under the terms of the
+ * Eclipse Public License v1.0 which accompanies this distribution,
+ * and is available at http://www.eclipse.org/legal/epl-v10.html
+ *
+ * Contributors:
+ *     Red Hat, Inc. - initial API and implementation
+ ******************************************************************************/
+package org.jboss.tools.usage.test;
+
+import static org.junit.Assert.assertEquals;
+import static org.junit.Assert.assertTrue;
+
+import java.io.UnsupportedEncodingException;
+
+import org.jboss.tools.usage.jgoogleanalytics.EclipseEnvironment;
+import org.jboss.tools.usage.jgoogleanalytics.FocusPoint;
+import org.jboss.tools.usage.jgoogleanalytics.GoogleAnalyticsUrlStrategy;
+import org.jboss.tools.usage.jgoogleanalytics.IGoogleAnalyticsParameters;
+import org.junit.Before;
+import org.junit.Test;
+
+public class GoogleAnalyticsUrlStrategyTest {
+
+	private static final String GANALYTICS_ACCOUNTNAME = "UA-17645367-1";
+	private static final String HOSTNAME = "jboss.org";
+	private GoogleAnalyticsUrlStrategy urlStrategy;
+
+	@Before
+	public void setUp() {
+		this.urlStrategy = new EclipseEnvironmentGAUrlStrategy();
+	}
+
+	@Test
+	public void testUrlIsBuiltCorrectly() throws UnsupportedEncodingException {
+		FocusPoint focusPoint = new FocusPoint("testing").setChild(new FocusPoint("strategy"));
+		String url = urlStrategy.build(focusPoint);
+		String targetUrl = "http://www.google-analytics.com/__utm.gif?"
+				+ "utmwv=4.7.2"
+				+ "&utmn=33832126513"
+				+ "&utmhn=jboss.org"
+				+ "&utmcs=UTF-8"
+				+ "&utmsr=1920x1080"
+				+ "&utmsc=24-bit"
+				+ "&utmul=en-us"
+				+ "&utmdt=testing-strategy"
+				+ "&utmhid=1087431432"
+				+ "&utmr=0"
+				+ "&utmp=%2Ftesting%2Fstrategy"
+				+ "&utmac=UA-17645367-1"
+				+ "&__utma%3D156030503.195542053.1281528584.1281528584.1281528584.1%3B%2B__utmz%3D156030500.1281528584.1.1.utmcsr%3D(direct)%7Cutmccn%3D(direct)%7Cutmcmd%3D(none)%3B"
+				+ "&gaq=1";
+		// assertEquals(expectedUrl, builtUrl);
+		assertEqualParameterValues(IGoogleAnalyticsParameters.PARAM_TRACKING_CODE_VERSION, url, targetUrl);
+		assertEqualParameterValues(IGoogleAnalyticsParameters.PARAM_HOST_NAME, url, targetUrl);
+		assertEqualParameterValues(IGoogleAnalyticsParameters.PARAM_LANGUAGE_ENCODING, url, targetUrl);
+		assertEqualParameterValues(IGoogleAnalyticsParameters.PARAM_SCREEN_RESOLUTION, url, targetUrl);
+		assertEqualParameterValues(IGoogleAnalyticsParameters.PARAM_SCREEN_COLOR_DEPTH, url, targetUrl);
+		assertEqualParameterValues(IGoogleAnalyticsParameters.PARAM_PAGE_TITLE, url, targetUrl);
+		assertEqualParameterValues(IGoogleAnalyticsParameters.PARAM_REFERRAL, url, targetUrl);
+		assertEqualParameterValues(IGoogleAnalyticsParameters.PARAM_PAGE_REQUEST, url, targetUrl);
+		assertEqualParameterValues(IGoogleAnalyticsParameters.PARAM_ACCOUNT_NAME, url, targetUrl);
+	}
+
+	private void assertEqualParameterValues(String paramName, String url, String targetUrl) {
+		String targetValue = getParameterValue(paramName, targetUrl,IGoogleAnalyticsParameters.AMPERSAND);
+		String value = getParameterValue(paramName, url,IGoogleAnalyticsParameters.AMPERSAND);
+		assertEquals("parameter '" + paramName + "' did not match", targetValue, value);
+	}
+
+	private String getParameterValue(String parameterName, String url, char... delimiters) {
+		String value = null;
+		int parameterNameStart = url.indexOf(parameterName);
+		if (parameterNameStart > 0) {
+			for (char delimiter : delimiters) {
+				int valueEnd = url.indexOf(delimiter, parameterNameStart + parameterName.length());
+				if (valueEnd > 0) {
+					value = url.substring(parameterNameStart + parameterName.length() + 1, valueEnd);
+					break;
+				}
+			}
+		}
+		return value;
+	}
+
+	private class EclipseEnvironmentGAUrlStrategy extends GoogleAnalyticsUrlStrategy {
+		private EclipseEnvironmentGAUrlStrategy() {
+			super(new EclipseEnvironmentFake());
+		}
+	}
+
+	private class EclipseEnvironmentFake extends EclipseEnvironment {
+
+		public EclipseEnvironmentFake() {
+			super(GANALYTICS_ACCOUNTNAME, HOSTNAME, "0");
+		}
+
+		@Override
+		protected void initScreenSettings() {
+			// do not access swt/display
+		}
+
+		@Override
+		public String getScreenResolution() {
+			return 1920 + SCREERESOLUTION_DELIMITER + 1080;
+		}
+
+		@Override
+		public String getScreenColorDepth() {
+			return 24 + SCREENCOLORDEPTH_POSTFIX;
+		}
+
+	}
+}


Property changes on: trunk/usage/tests/org.jboss.tools.usage.test/src/org/jboss/tools/usage/test/GoogleAnalyticsUrlStrategyTest.java
___________________________________________________________________
Name: svn:mime-type
   + text/plain

Modified: trunk/usage/tests/org.jboss.tools.usage.test/src/org/jboss/tools/usage/test/JBossToolsUsageRequestsTest.java
===================================================================
--- trunk/usage/tests/org.jboss.tools.usage.test/src/org/jboss/tools/usage/test/JBossToolsUsageRequestsTest.java	2010-08-13 12:42:48 UTC (rev 24145)
+++ trunk/usage/tests/org.jboss.tools.usage.test/src/org/jboss/tools/usage/test/JBossToolsUsageRequestsTest.java	2010-08-13 13:16:49 UTC (rev 24146)
@@ -10,8 +10,6 @@
 
 public class JBossToolsUsageRequestsTest {
 
-	private static final String GOOGLE_ANALYTICS_TRACKING_URL = "http://www.google-analytics.com/__utm.gif";
-
 	@Test
 	public void testUrl0() throws IOException {
 		String userAgent = "Mozilla/5.0 (X11; U; Linux x86_64; en-US; rv:1.9.2.4) Gecko/20100614 Ubuntu/10.04 (lucid) Firefox/10.0.0";
@@ -186,7 +184,7 @@
 		method.request(url);
 		assertEquals(HttpURLConnection.HTTP_OK, method.getResponseCode());
 	}
-	
+
 	@Test
 	public void testUrl0_6() throws IOException {
 		String userAgent = "Mozilla/5.0 (X11; U; Linux x86_64; en-US; rv:1.9.2.4) Gecko/20100614 Ubuntu/10.04 (lucid) com.jboss.jbds.product/3.0.1";
@@ -238,75 +236,72 @@
 	}
 
 	@Test
-	public void testUrl1() throws IOException {
-		String userAgent = "JBossToolsUsageRequestsTest/1.0.0";
+	public void testUrl0_7_1() throws IOException {
+		String userAgent = "com.jboss.jbds.product/3.0.1 (X11; U; Linux x86_64; en-us)";
 		TestHttpGetMethod method = new TestHttpGetMethod(userAgent);
-		String url = GOOGLE_ANALYTICS_TRACKING_URL
-		+"?"
-		+"utmwv=4.7.2"
-		+"utmn=338321266"
-		+"utmhn=jboss.org"
-		+"utmcs=UTF-8"
-		+"utmsr=1920x1080"
-		+"utmsc=24-bit"
-		+"utmul=en-us"
-		+"utmje=1"
-		+"utmfl=10.1%20r53"
-		+"utmdt=-%20JBoss%20Community"
-		+"utmhid=1087431432"
-		+"utmr=0"
-		+"utmp=%2Ftools%2Fusage/testUrl1"
-		+"utmac=UA-17645367-1"
-		+"utmcc=__utma%3D156030500.1285760711.1281430767.1281430767.1281430767.1%3B%2B__utmz%3D156030500.1281430767.1.1.utmcsr%3D(direct)%7Cutmccn%3D(direct)%7Cutmcmd%3D(none)%3B"
-		+"gaq=1";
+		String url = "http://www.google-analytics.com/__utm.gif?" 
+			+"utmwv=4.7.2"
+			+"&utmn=338321068"
+			+"&utmhn=jboss.org"
+			+"&utmcs=UTF-8"
+			+"&utmsr=1920x1080"
+			+"&utmsc=24-bit"
+			+"&utmje=1"
+			+"&utmfl=10.1%20r53"
+			+"&utmdt=-%20JBoss%20Community"
+			+"&utmhid=1087431432"
+			+"&utmr=0"
+			+"&utmp=%2Ftools%2Fusage%2FtestUrl0_7_1"
+			+"&utmac=UA-17645367-1"
+			+"&utmcc=__utma%3D156030507.1285760711.1281430767.1281430767.1281430767.1%3B%2B__utmz%3D156030500.1281430767.1.1.utmcsr%3D(direct)%7Cutmccn%3D(direct)%7Cutmcmd%3D(none)%3B"
+			+"&gaq=1";
 		method.request(url);
 		assertEquals(HttpURLConnection.HTTP_OK, method.getResponseCode());
 	}
 
+	
 	@Test
-	public void testUrl2() throws IOException {
-		String userAgent = "JBossToolsUsageRequestsTest/1.0.0";
+	public void testUrl0_7_2() throws IOException {
+		String userAgent = "com.jboss.jbds.product/3.0.1 (X11; U; Linux x86_64; en-US)";
 		TestHttpGetMethod method = new TestHttpGetMethod(userAgent);
-		String url = GOOGLE_ANALYTICS_TRACKING_URL
-		+"?"
-		+"utmwv=4.7.2"
-		+"utmn=338321267"
-		+"utmhn=jboss.org"
-		+"utmcs=UTF-8"
-		+"utmsr=1920x1080"
-		+"utmsc=24-bit"
-		+"utmul=en-us"
-		+"utmdt=-%20JBoss%20Community"
-		+"utmhid=1087431432"
-		+"utmr=0"
-		+"utmp=%2Ftools%2Fusage/testUrl2"
-		+"utmac=UA-17645367-1"
-		+"utmcc=__utma%3D156030500.1285760711.1281430767.1281430767.1281430767.1%3B%2B__utmz%3D156030500.1281430767.1.1.utmcsr%3D(direct)%7Cutmccn%3D(direct)%7Cutmcmd%3D(none)%3B"
-		+"gaq=1";
+		String url = "http://www.google-analytics.com/__utm.gif?" 
+			+"utmwv=4.7.2"
+			+"&utmn=338333268"
+			+"&utmhn=jboss.org"
+			+"&utmcs=UTF-8"
+			+"&utmsr=1920x1080"
+			+"&utmsc=24-bit"
+			+"&utmul=en-us"
+			+"&utmdt=-%20JBoss%20Community"
+			+"&utmhid=1087431432"
+			+"&utmr=0"
+			+"&utmp=%2Ftools%2Fusage%2FtestUrl0_7_2"
+			+"&utmac=UA-17645367-1"
+			+"&utmcc=__utma%3D156660507.1285760711.1281430767.1281430767.1281430767.1%3B%2B__utmz%3D156030500.1281430767.1.1.utmcsr%3D(direct)%7Cutmccn%3D(direct)%7Cutmcmd%3D(none)%3B"
+			+"&gaq=1";
 		method.request(url);
 		assertEquals(HttpURLConnection.HTTP_OK, method.getResponseCode());
 	}
-
+	
 	@Test
-	public void testUrl3() throws IOException {
-		String userAgent = "JBossToolsUsageRequestsTest/1.0.0";
+	public void testUrl0_7_3() throws IOException {
+		String userAgent = "com.jboss.jbds.product/3.0.1 (X11; U; Linux x86_64; en-US)";
 		TestHttpGetMethod method = new TestHttpGetMethod(userAgent);
-		String url = GOOGLE_ANALYTICS_TRACKING_URL
-		+"?"
-		+"utmwv=4.7.2"
-		+"utmn=338321268"
-		+"utmhn=jboss.org"
-		+"utmcs=UTF-8"
-		+"utmsr=1920x1080"
-		+"utmsc=24-bit"
-		+"utmul=en-us"
-		+"utmdt=-%20JBoss%20Community"
-		+"utmhid=1087431432"
-		+"utmr=0"
-		+"utmp=%2Ftools%2Fusage/testUrl3"
-		+"utmac=UA-17645367-1"
-		+"utmcc=__utma%3D156030500.1285760711.1281430767.1281430767.1281430767.1%3B%2B__utmz%3D156030500.1281430767.1.1.utmcsr%3D(direct)%7Cutmccn%3D(direct)%7Cutmcmd%3D(none)%3B"
-		+"gaq=1";
+		String url = "http://www.google-analytics.com/__utm.gif?" 
+			+"utmwv=4.7.2"
+			+"&utmn=331333268"
+			+"&utmhn=jboss.org"
+			+"&utmcs=UTF-8"
+			+"&utmsr=1920x1080"
+			+"&utmsc=24-bit"
+			+"&utmul=en-us"
+			+"&utmdt=tools-usage-test_0_7_3"
+			+"&utmhid=1087431432"
+			+"&utmr=0"
+			+"&utmp=%2Ftools%2Fusage%2FtestUrl0_7_3"
+			+"&utmac=UA-17645367-1"
+			+"&utmcc=__utma%3D116660507.1285760711.1281430767.1281430767.1281430767.1%3B%2B__utmz%3D156030500.1281430767.1.1.utmcsr%3D(direct)%7Cutmccn%3D(direct)%7Cutmcmd%3D(none)%3B"
+			+"&gaq=1";
 		method.request(url);
 		assertEquals(HttpURLConnection.HTTP_OK, method.getResponseCode());
 	}

Modified: trunk/usage/tests/org.jboss.tools.usage.test/src/org/jboss/tools/usage/test/JBossToolsUsageTest.java
===================================================================
--- trunk/usage/tests/org.jboss.tools.usage.test/src/org/jboss/tools/usage/test/JBossToolsUsageTest.java	2010-08-13 12:42:48 UTC (rev 24145)
+++ trunk/usage/tests/org.jboss.tools.usage.test/src/org/jboss/tools/usage/test/JBossToolsUsageTest.java	2010-08-13 13:16:49 UTC (rev 24146)
@@ -14,21 +14,21 @@
 import org.jboss.tools.usage.jgoogleanalytics.EclipseEnvironment;
 import org.jboss.tools.usage.jgoogleanalytics.FocusPoint;
 import org.jboss.tools.usage.jgoogleanalytics.IGoogleAnalyticsParameters;
-import org.jboss.tools.usage.jgoogleanalytics.JGoogleAnalyticsTracker;
+import org.jboss.tools.usage.jgoogleanalytics.Tracker;
 import org.jboss.tools.usage.jgoogleanalytics.PluginLogger;
 import org.jboss.tools.usage.test.internal.JBossToolsUsageTestActivator;
 import org.junit.Test;
 
 public class JBossToolsUsageTest {
 
+	private static final String HOST_NAME = "jboss.org";
+	
 	private FocusPoint focusPoint = new FocusPoint("jboss.org")
 			.setChild(new FocusPoint("tools")
 					.setChild(new FocusPoint("usage")
-							.setChild(new FocusPoint("action")
-									.setChild(new FocusPoint("wsstartup")
-											.setChild(new FocusPoint("testversion472"))))));
+							.setChild(new FocusPoint("instance"))));
 
-	private static final String GANALYTICS_TRACKINGCODE = "UA-17645367-1";
+	private static final String GANALYTICS_ACCOUNTNAME = "UA-17645367-1";
 
 	@Test
 	public void testTrackAsynchronously() throws Exception {
@@ -45,10 +45,9 @@
 
 	private IUsageTracker getGoogleAnalyticsTracker() {
 		IGoogleAnalyticsParameters eclipseSettings = new EclipseEnvironment(
-				GANALYTICS_TRACKINGCODE, JBossToolsUsageTestActivator.PLUGIN_ID);
-		JGoogleAnalyticsTracker tracker = new JGoogleAnalyticsTracker(eclipseSettings);
-		tracker.setLoggingAdapter(new PluginLogger(JBossToolsUsageTestActivator
-				.getDefault()));
+				GANALYTICS_ACCOUNTNAME, HOST_NAME, JBossToolsUsageTestActivator.PLUGIN_ID);
+		Tracker tracker = new Tracker(eclipseSettings);
+		tracker.setLoggingAdapter(new PluginLogger(JBossToolsUsageTestActivator.getDefault()));
 		return tracker;
 	}
 }



More information about the jbosstools-commits mailing list