diff --git a/tests/org.eclipse.wst.server.ui.tests/META-INF/MANIFEST.MF b/tests/org.eclipse.wst.server.ui.tests/META-INF/MANIFEST.MF
index 8eb0fcf..8d14d16 100644
--- a/tests/org.eclipse.wst.server.ui.tests/META-INF/MANIFEST.MF
+++ b/tests/org.eclipse.wst.server.ui.tests/META-INF/MANIFEST.MF
@@ -2,7 +2,7 @@
 Bundle-ManifestVersion: 2
 Bundle-Name: org.eclipse.wst.server.ui.tests
 Bundle-SymbolicName: org.eclipse.wst.server.ui.tests;singleton:=true
-Bundle-Version: 1.1.300.qualifier
+Bundle-Version: 1.1.400.qualifier
 Bundle-ClassPath: tests.jar
 Bundle-Activator: org.eclipse.wst.server.ui.tests.TestsPlugin
 Bundle-Vendor: Eclipse.org
@@ -20,6 +20,7 @@
  org.eclipse.debug.core,
  org.eclipse.debug.ui,
  org.eclipse.wst.server.core,
- org.eclipse.wst.server.ui
+ org.eclipse.wst.server.ui,
+ org.eclipse.wst.server.discovery
 Bundle-ActivationPolicy: lazy
 Bundle-RequiredExecutionEnvironment: J2SE-1.5
diff --git a/tests/org.eclipse.wst.server.ui.tests/build.properties b/tests/org.eclipse.wst.server.ui.tests/build.properties
index a785fe6..6d0dfa9 100644
--- a/tests/org.eclipse.wst.server.ui.tests/build.properties
+++ b/tests/org.eclipse.wst.server.ui.tests/build.properties
@@ -13,7 +13,8 @@
                META-INF/,\
                about.html,\
                plugin.properties,\
-               plugin.xml
+               plugin.xml,\
+               resources/
 jars.compile.order = tests.jar
 source.tests.jar = src/
 output.tests.jar = bin/
diff --git a/tests/org.eclipse.wst.server.ui.tests/pom.xml b/tests/org.eclipse.wst.server.ui.tests/pom.xml
index 17f84d0..f03b627 100644
--- a/tests/org.eclipse.wst.server.ui.tests/pom.xml
+++ b/tests/org.eclipse.wst.server.ui.tests/pom.xml
@@ -22,7 +22,7 @@
 
   <groupId>org.eclipse.webtools.servertools</groupId>
   <artifactId>org.eclipse.wst.server.ui.tests</artifactId>
-  <version>1.1.300-SNAPSHOT</version>
+  <version>1.1.400-SNAPSHOT</version>
   <packaging>eclipse-test-plugin</packaging>
 
   <properties>
diff --git a/tests/org.eclipse.wst.server.ui.tests/src/org/eclipse/wst/server/ui/tests/AllTests.java b/tests/org.eclipse.wst.server.ui.tests/src/org/eclipse/wst/server/ui/tests/AllTests.java
index eb13260..8783d63 100644
--- a/tests/org.eclipse.wst.server.ui.tests/src/org/eclipse/wst/server/ui/tests/AllTests.java
+++ b/tests/org.eclipse.wst.server.ui.tests/src/org/eclipse/wst/server/ui/tests/AllTests.java
@@ -1,5 +1,5 @@
 /*******************************************************************************
- * Copyright (c) 2004, 2010 IBM Corporation and others.
+ * Copyright (c) 2004, 2015 IBM Corporation and others.
  * All rights reserved. This program and the accompanying materials
  * are made available under the terms of the Eclipse Public License v1.0
  * which accompanies this distribution, and is available at
@@ -10,13 +10,21 @@
  *******************************************************************************/
 package org.eclipse.wst.server.ui.tests;
 
-import org.eclipse.wst.server.ui.tests.dialog.*;
-import org.eclipse.wst.server.ui.tests.editor.*;
+import junit.framework.Test;
+import junit.framework.TestSuite;
+
+import org.eclipse.wst.server.ui.tests.dialog.DialogsTestCase;
+import org.eclipse.wst.server.ui.tests.dialog.PreferencesTestCase;
+import org.eclipse.wst.server.ui.tests.dialog.ViewTestCase;
+import org.eclipse.wst.server.ui.tests.dialog.WizardTestCase;
+import org.eclipse.wst.server.ui.tests.discovery.ServerDiscoveryTestCase;
+import org.eclipse.wst.server.ui.tests.editor.IServerEditorPartInputTestCase;
+import org.eclipse.wst.server.ui.tests.editor.ServerEditorActionFactoryDelegateTestCase;
+import org.eclipse.wst.server.ui.tests.editor.ServerEditorPartTestCase;
+import org.eclipse.wst.server.ui.tests.editor.ServerEditorSectionTestCase;
 import org.eclipse.wst.server.ui.tests.wizard.IWizardHandleTestCase;
 import org.eclipse.wst.server.ui.tests.wizard.TaskWizardTestCase;
 import org.eclipse.wst.server.ui.tests.wizard.WizardFragmentTestCase;
-import junit.framework.Test;
-import junit.framework.TestSuite;
 
 public class AllTests {
 	public static Test suite() {
@@ -46,6 +54,8 @@
 			
 		suite.addTestSuite(ServerTooltipTestCase.class);
 		suite.addTestSuite(AbstractServerLabelProviderTestCase.class);
+		
+		suite.addTestSuite(ServerDiscoveryTestCase.class);
 		//$JUnit-END$
 		return suite;
 	}
diff --git a/tests/org.eclipse.wst.server.ui.tests/src/org/eclipse/wst/server/ui/tests/TestsPlugin.java b/tests/org.eclipse.wst.server.ui.tests/src/org/eclipse/wst/server/ui/tests/TestsPlugin.java
index d8ee44c..133542b 100644
--- a/tests/org.eclipse.wst.server.ui.tests/src/org/eclipse/wst/server/ui/tests/TestsPlugin.java
+++ b/tests/org.eclipse.wst.server.ui.tests/src/org/eclipse/wst/server/ui/tests/TestsPlugin.java
@@ -1,5 +1,5 @@
 /*******************************************************************************
- * Copyright (c) 2004, 2005 IBM Corporation and others.
+ * Copyright (c) 2004, 2015 IBM Corporation and others.
  * All rights reserved. This program and the accompanying materials
  * are made available under the terms of the Eclipse Public License v1.0
  * which accompanies this distribution, and is available at
@@ -11,14 +11,33 @@
 package org.eclipse.wst.server.ui.tests;
 
 import org.eclipse.core.runtime.Plugin;
+import org.osgi.framework.BundleContext;
 /**
  * 
  */
 public class TestsPlugin extends Plugin {
+	
+	private static TestsPlugin plugin;
+	public static final String PLUGIN_ID = "org.eclipse.wst.server.ui.tests"; //$NON-NLS-1$
+	
 	/**
 	 * The constructor.
 	 */
 	public TestsPlugin() {
 		super();
 	}
+	
+	public void start(BundleContext context) throws Exception {
+		super.start(context);
+		plugin = this;
+	}
+	
+	public void stop(BundleContext context) throws Exception {
+		plugin = null;
+		super.stop(context);
+	}	
+	
+	public static TestsPlugin getDefault() {
+		return plugin;
+	}
 }
\ No newline at end of file
