Author: adietish
Date: 2010-09-09 10:52:56 -0400 (Thu, 09 Sep 2010)
New Revision: 24839
Added:
trunk/usage/tests/org.jboss.tools.usage.test/src/org/jboss/tools/usage/test/EclipseEnvironmentFakeSingleton.java
trunk/usage/tests/org.jboss.tools.usage.test/src/org/jboss/tools/usage/test/UrlRevealingTracker.java
Modified:
trunk/usage/tests/org.jboss.tools.usage.test/src/org/jboss/tools/usage/test/EclipseEnvironmentFake.java
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/JBossToolsUsageIntegrationTest.java
Log:
[JBIDE-7034] tests refactored and testing of visit count added to strategy (was in
integration test only)
Modified:
trunk/usage/tests/org.jboss.tools.usage.test/src/org/jboss/tools/usage/test/EclipseEnvironmentFake.java
===================================================================
---
trunk/usage/tests/org.jboss.tools.usage.test/src/org/jboss/tools/usage/test/EclipseEnvironmentFake.java 2010-09-09
14:52:00 UTC (rev 24838)
+++
trunk/usage/tests/org.jboss.tools.usage.test/src/org/jboss/tools/usage/test/EclipseEnvironmentFake.java 2010-09-09
14:52:56 UTC (rev 24839)
@@ -38,13 +38,14 @@
}
public EclipseEnvironmentFake(IEclipsePreferences preferences) {
- this(GANALYTICS_ACCOUNTNAME, HOSTNAME, REFERRAL, Platform.OS_LINUX, LOCALE_US,
JAVA_VERSION, preferences);
+ this(GANALYTICS_ACCOUNTNAME, HOSTNAME, REFERRAL, Platform.OS_LINUX, LOCALE_US,
JAVA_VERSION);
}
public EclipseEnvironmentFake(String accountName, String hostName, String referral,
String os, String locale) {
this(accountName, hostName, referral, os, locale, JAVA_VERSION);
}
- public EclipseEnvironmentFake(String accountName, String hostName, String referral,
String os, String locale,
+
+ public EclipseEnvironmentFake(String accountName, String hostName, String referral,
String os, String locale,
String javaVersion, IEclipsePreferences preferences) {
super(accountName, hostName, referral, preferences);
this.os = os;
@@ -52,7 +53,8 @@
this.locale = locale;
}
- public EclipseEnvironmentFake(String accountName, String hostName, String referral,
String os, String javaVersion, String locale) {
+ public EclipseEnvironmentFake(String accountName, String hostName, String referral,
String os, String javaVersion,
+ String locale) {
this(accountName, hostName, referral, os, locale, javaVersion, new
EclipsePreferencesFake());
}
@@ -90,7 +92,7 @@
protected String getApplicationVersion() {
return "3.0.1";
}
-
+
protected String getJavaVersion() {
return javaVersion;
}
Added:
trunk/usage/tests/org.jboss.tools.usage.test/src/org/jboss/tools/usage/test/EclipseEnvironmentFakeSingleton.java
===================================================================
---
trunk/usage/tests/org.jboss.tools.usage.test/src/org/jboss/tools/usage/test/EclipseEnvironmentFakeSingleton.java
(rev 0)
+++
trunk/usage/tests/org.jboss.tools.usage.test/src/org/jboss/tools/usage/test/EclipseEnvironmentFakeSingleton.java 2010-09-09
14:52:56 UTC (rev 24839)
@@ -0,0 +1,20 @@
+/*******************************************************************************
+ * Copyright (c) 2010 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;
+
+/**
+ * @author Andre Dietisheim
+ */
+public class EclipseEnvironmentFakeSingleton {
+
+ public static EclipseEnvironmentFake INSTANCE = new EclipseEnvironmentFake();
+
+}
Property changes on:
trunk/usage/tests/org.jboss.tools.usage.test/src/org/jboss/tools/usage/test/EclipseEnvironmentFakeSingleton.java
___________________________________________________________________
Name: svn:mime-type
+ text/plain
Modified:
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 2010-09-09
14:52:00 UTC (rev 24838)
+++
trunk/usage/tests/org.jboss.tools.usage.test/src/org/jboss/tools/usage/test/GoogleAnalyticsUrlStrategyTest.java 2010-09-09
14:52:56 UTC (rev 24839)
@@ -10,6 +10,7 @@
******************************************************************************/
package org.jboss.tools.usage.test;
+import static org.junit.Assert.assertEquals;
import static org.junit.Assert.assertTrue;
import java.io.UnsupportedEncodingException;
@@ -25,9 +26,6 @@
*/
public class GoogleAnalyticsUrlStrategyTest {
-// private static final String COOKIE_DELIMITER = EncodingUtils.checkedEncodeUtf8(String
-// .valueOf(IGoogleAnalyticsParameters.PLUS_SIGN));
-
private GoogleAnalyticsUrlStrategy urlStrategy;
@Before
@@ -51,7 +49,8 @@
+ "&utmhid=1087431432"
+ "&utmr=0"
+ "&utmp=%2Ftesting%2Fstrategy"
- + "&utmfl=" + EclipseEnvironmentFake.JAVA_VERSION
+ + "&utmfl="
+ + EclipseEnvironmentFake.JAVA_VERSION
+ "&utmac=UA-17645367-1"
+
"&utmcc=__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";
@@ -75,6 +74,16 @@
assertTrue(areEqualParameterValues(IGoogleAnalyticsParameters.PARAM_GAQ, url,
targetUrl));
}
+ @Test
+ public void visitCountIncreases() throws Exception {
+ IGoogleAnalyticsParameters eclipseEnvironment = new EclipseEnvironmentFake();
+ assertEquals(1, eclipseEnvironment.getVisitCount());
+ eclipseEnvironment.visit();
+ assertEquals(2, eclipseEnvironment.getVisitCount());
+ eclipseEnvironment.visit();
+ assertEquals(3, eclipseEnvironment.getVisitCount());
+ }
+
private boolean areEqualParameterValues(String paramName, String url, String targetUrl)
{
return areEqualParameterValues(paramName, url, targetUrl,
String.valueOf(IGoogleAnalyticsParameters.AMPERSAND));
}
@@ -90,26 +99,18 @@
String.valueOf(IGoogleAnalyticsParameters.AMPERSAND));
return cookieValues != null && cookieValues.indexOf(cookieName) >= 0;
}
-
-// private void assertEqualCookieParameterValues(String paramName, String url, String
targetUrl) {
-// String targetCookieValues =
getParameterValue(IGoogleAnalyticsParameters.PARAM_COOKIES, targetUrl,
-// IGoogleAnalyticsParameters.AMPERSAND);
-// String cookieValues = getParameterValue(IGoogleAnalyticsParameters.PARAM_COOKIES,
url,
-// IGoogleAnalyticsParameters.AMPERSAND);
-// assertEqualParameterValues(paramName, cookieValues, targetCookieValues,
COOKIE_DELIMITER.toCharArray());
-// }
private String getParameterValue(String parameterName, String url, String delimiters) {
String value = null;
int parameterNameStart = url.indexOf(parameterName);
if (parameterNameStart >= 0) {
int valueStart = parameterNameStart + parameterName.length() + 1;
- int valueEnd = url.indexOf(delimiters, parameterNameStart + parameterName.length());
- if (valueEnd < 0) {
- value = url.substring(valueStart);
- } else {
- value = url.substring(valueStart, valueEnd);
- }
+ int valueEnd = url.indexOf(delimiters, parameterNameStart + parameterName.length());
+ if (valueEnd < 0) {
+ value = url.substring(valueStart);
+ } else {
+ value = url.substring(valueStart, valueEnd);
+ }
}
return value;
}
Modified:
trunk/usage/tests/org.jboss.tools.usage.test/src/org/jboss/tools/usage/test/JBossToolsUsageIntegrationTest.java
===================================================================
---
trunk/usage/tests/org.jboss.tools.usage.test/src/org/jboss/tools/usage/test/JBossToolsUsageIntegrationTest.java 2010-09-09
14:52:00 UTC (rev 24838)
+++
trunk/usage/tests/org.jboss.tools.usage.test/src/org/jboss/tools/usage/test/JBossToolsUsageIntegrationTest.java 2010-09-09
14:52:56 UTC (rev 24839)
@@ -13,20 +13,15 @@
import static org.junit.Assert.assertEquals;
import static org.junit.Assert.assertTrue;
-import java.io.UnsupportedEncodingException;
-import java.util.concurrent.locks.Lock;
-import java.util.concurrent.locks.ReentrantLock;
import java.util.regex.Matcher;
import java.util.regex.Pattern;
-import org.eclipse.core.runtime.Platform;
import org.jboss.tools.usage.FocusPoint;
import org.jboss.tools.usage.HttpGetRequest;
import org.jboss.tools.usage.IHttpGetRequest;
import org.jboss.tools.usage.ILoggingAdapter;
import org.jboss.tools.usage.IURLBuildingStrategy;
import org.jboss.tools.usage.PluginLogger;
-import org.jboss.tools.usage.Tracker;
import org.jboss.tools.usage.googleanalytics.GoogleAnalyticsUrlStrategy;
import org.jboss.tools.usage.googleanalytics.IGoogleAnalyticsParameters;
import org.junit.Test;
@@ -36,22 +31,17 @@
*/
public class JBossToolsUsageIntegrationTest {
- private static final String HOST_NAME = "www.jboss.org";
- private static final String LOCALE_US = "en_US";
-
private IGoogleAnalyticsParameters eclipseEnvironment;
- private static final String GANALYTICS_ACCOUNTNAME = "UA-17645367-1";
-
@Test
public void sameUserIdOnSametEclipseInstance() throws Exception {
- UrlRevealingTracker tracker = getTracker(getEclipseEnvironmentInstance());
+ UrlRevealingTracker tracker = getTracker(eclipseEnvironment);
FocusPoint focusPoint =
createFocusPoint("testSameUserIdOnSametEclipseInstance" +
System.currentTimeMillis());
tracker.trackSynchronously(focusPoint);
String userId = getUserId(tracker.getTrackingUrl());
assertTrue(userId != null);
- tracker = getTracker(getEclipseEnvironmentInstance());
+ tracker = getTracker(eclipseEnvironment );
tracker.trackSynchronously(focusPoint);
String newUserId = getUserId(tracker.getTrackingUrl());
@@ -63,12 +53,12 @@
public void differentUserIdOnDifferentEclipseInstance() throws Exception {
String focusPointName = "testDifferentUserIdOnDifferentEclipseInstance"
+ System.currentTimeMillis();
- UrlRevealingTracker tracker = getTracker(createEclipseEnvironment());
+ UrlRevealingTracker tracker = getTracker(new EclipseEnvironmentFake());
tracker.trackSynchronously(createFocusPoint(focusPointName));
String userId = getUserId(tracker.getTrackingUrl());
assertTrue(userId != null);
- tracker = getTracker(createEclipseEnvironment());
+ tracker = getTracker(new EclipseEnvironmentFake());
FocusPoint focusPoint = createFocusPoint(focusPointName);
tracker.trackSynchronously(focusPoint);
String newUserId = getUserId(tracker.getTrackingUrl());
@@ -79,7 +69,7 @@
@Test
public void visitCountIncreases() throws Exception {
- IGoogleAnalyticsParameters eclipseEnvironment = createEclipseEnvironment();
+ IGoogleAnalyticsParameters eclipseEnvironment = new EclipseEnvironmentFake();
assertEquals(1, eclipseEnvironment.getVisitCount());
UrlRevealingTracker tracker = getTracker(eclipseEnvironment);
tracker.trackSynchronously(createFocusPoint("testVisitCount"));
@@ -106,64 +96,9 @@
return new UrlRevealingTracker(urlStrategy, httpGetRequest, loggingAdapter);
}
- private IGoogleAnalyticsParameters getEclipseEnvironmentInstance() {
- if (eclipseEnvironment == null) {
- eclipseEnvironment = createEclipseEnvironment();
- }
- return eclipseEnvironment;
- }
-
- private IGoogleAnalyticsParameters createEclipseEnvironment() {
- IGoogleAnalyticsParameters eclipseSettings = new EclipseEnvironmentFake(
- GANALYTICS_ACCOUNTNAME
- , HOST_NAME
- , IGoogleAnalyticsParameters.VALUE_NO_REFERRAL
- , Platform.OS_LINUX,
- LOCALE_US);
- return eclipseSettings;
- }
-
private FocusPoint createFocusPoint(String childFocusPoint) {
return new FocusPoint("tools")
.setChild(new FocusPoint("usage")
.setChild(new FocusPoint(childFocusPoint)));
}
-
- private class UrlRevealingTracker extends Tracker {
-
- private String trackingUrl;
- private Lock lock;
-
- public UrlRevealingTracker(IURLBuildingStrategy urlBuildingStrategy, IHttpGetRequest
httpGetRequest,
- ILoggingAdapter loggingAdapter) {
- super(urlBuildingStrategy, httpGetRequest, loggingAdapter);
- lock = new ReentrantLock();
- }
-
- @Override
- public void trackAsynchronously(FocusPoint focusPoint) {
- try {
- lock.lock();
- super.trackAsynchronously(focusPoint);
- lock.unlock();
- } catch (Exception e) {
- lock.unlock();
- throw new RuntimeException(e);
- }
- }
-
- @Override
- protected String getTrackingUrl(FocusPoint focusPoint) throws
UnsupportedEncodingException {
- return trackingUrl = super.getTrackingUrl(focusPoint);
- }
-
- private String getTrackingUrl() {
- try {
- lock.lock();
- return trackingUrl;
- } finally {
- lock.unlock();
- }
- }
- }
}
Added:
trunk/usage/tests/org.jboss.tools.usage.test/src/org/jboss/tools/usage/test/UrlRevealingTracker.java
===================================================================
---
trunk/usage/tests/org.jboss.tools.usage.test/src/org/jboss/tools/usage/test/UrlRevealingTracker.java
(rev 0)
+++
trunk/usage/tests/org.jboss.tools.usage.test/src/org/jboss/tools/usage/test/UrlRevealingTracker.java 2010-09-09
14:52:56 UTC (rev 24839)
@@ -0,0 +1,62 @@
+/*******************************************************************************
+ * Copyright (c) 2010 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 java.io.UnsupportedEncodingException;
+import java.util.concurrent.locks.Lock;
+import java.util.concurrent.locks.ReentrantLock;
+
+import org.jboss.tools.usage.FocusPoint;
+import org.jboss.tools.usage.IHttpGetRequest;
+import org.jboss.tools.usage.ILoggingAdapter;
+import org.jboss.tools.usage.IURLBuildingStrategy;
+import org.jboss.tools.usage.Tracker;
+
+/**
+ * @author Andre Dietisheim
+ */
+public class UrlRevealingTracker extends Tracker {
+
+ private String trackingUrl;
+ private Lock lock;
+
+ public UrlRevealingTracker(IURLBuildingStrategy urlBuildingStrategy, IHttpGetRequest
httpGetRequest,
+ ILoggingAdapter loggingAdapter) {
+ super(urlBuildingStrategy, httpGetRequest, loggingAdapter);
+ lock = new ReentrantLock();
+ }
+
+ @Override
+ public void trackAsynchronously(FocusPoint focusPoint) {
+ try {
+ lock.lock();
+ super.trackAsynchronously(focusPoint);
+ lock.unlock();
+ } catch (Exception e) {
+ lock.unlock();
+ throw new RuntimeException(e);
+ }
+ }
+
+ @Override
+ protected String getTrackingUrl(FocusPoint focusPoint) throws
UnsupportedEncodingException {
+ return trackingUrl = super.getTrackingUrl(focusPoint);
+ }
+
+ public String getTrackingUrl() {
+ try {
+ lock.lock();
+ return trackingUrl;
+ } finally {
+ lock.unlock();
+ }
+ }
+}
\ No newline at end of file
Property changes on:
trunk/usage/tests/org.jboss.tools.usage.test/src/org/jboss/tools/usage/test/UrlRevealingTracker.java
___________________________________________________________________
Name: svn:mime-type
+ text/plain