[499865] A warning or confirmation dialog should appear when modules are
removed from a server
diff --git a/tests/org.eclipse.wst.server.ui.tests/src/org/eclipse/wst/server/ui/tests/RemoveModuleMessageExtensionTestCase.java b/tests/org.eclipse.wst.server.ui.tests/src/org/eclipse/wst/server/ui/tests/RemoveModuleMessageExtensionTestCase.java
new file mode 100644
index 0000000..aec2122
--- /dev/null
+++ b/tests/org.eclipse.wst.server.ui.tests/src/org/eclipse/wst/server/ui/tests/RemoveModuleMessageExtensionTestCase.java
@@ -0,0 +1,54 @@
+/*******************************************************************************
+ * Copyright (c) 2016 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
+ * http://www.eclipse.org/legal/epl-v10.html
+ *
+ * Contributors:
+ * IBM Corporation - Initial API and implementation
+ *******************************************************************************/
+package org.eclipse.wst.server.ui.tests;
+
+import java.util.List;
+
+import org.eclipse.wst.server.ui.RemoveModuleMessageExtension;
+import org.eclipse.wst.server.ui.internal.ServerUIPlugin;
+
+import junit.framework.TestCase;
+
+/**
+ * This tests the extension point for RemoveModuleMessageExtension
+ *
+ * @author kchong
+ *
+ */
+public class RemoveModuleMessageExtensionTestCase extends TestCase {
+
+ public void testRemoveModuleMessageExtension() {
+ List<RemoveModuleMessageExtension> extensions = ServerUIPlugin.getRemoveModuleMessageExtensions();
+ assertTrue("Remove Message Extensions", extensions.size() >= 1); // Have two from the test plugin
+
+ // Test the filter *
+ RemoveModuleMessageExtension removeModuleMessageExtensionA = ServerUIPlugin.getRemoveModuleMessageExtension("org.eclipse.wst.server.testA.v1");
+ assertNotNull(removeModuleMessageExtensionA);
+
+ String customMessageA = removeModuleMessageExtensionA.getConfirmationMessage(null, null);
+ assertTrue("Check Custom Message", RemoveModuleMessageTestExtension.customRemoveMessage.equals(customMessageA));
+
+ // Test the filter .*
+ RemoveModuleMessageExtension removeModuleMessageExtensionB = ServerUIPlugin.getRemoveModuleMessageExtension("org.eclipse.wst.server.testB.v1");
+ assertNotNull(removeModuleMessageExtensionB);
+
+ String customMessageB = removeModuleMessageExtensionB.getConfirmationMessage(null, null);
+ assertTrue("Check Custom Message", RemoveModuleMessageTestExtension.customRemoveMessage.equals(customMessageB));
+
+ // Test exact match
+ RemoveModuleMessageExtension removeModuleMessageExtensionC = ServerUIPlugin.getRemoveModuleMessageExtension("org.eclipse.wst.server.testC");
+ assertNotNull(removeModuleMessageExtensionC);
+
+ String customMessageC = removeModuleMessageExtensionC.getConfirmationMessage(null, null);
+ assertTrue("Check Custom Message", RemoveModuleMessageTestExtension.customRemoveMessage.equals(customMessageC));
+
+ }
+}
diff --git a/tests/org.eclipse.wst.server.ui.tests/src/org/eclipse/wst/server/ui/tests/RemoveModuleMessageTestExtension.java b/tests/org.eclipse.wst.server.ui.tests/src/org/eclipse/wst/server/ui/tests/RemoveModuleMessageTestExtension.java
new file mode 100644
index 0000000..dff7101
--- /dev/null
+++ b/tests/org.eclipse.wst.server.ui.tests/src/org/eclipse/wst/server/ui/tests/RemoveModuleMessageTestExtension.java
@@ -0,0 +1,30 @@
+/*******************************************************************************
+ * Copyright (c) 2016 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
+ * http://www.eclipse.org/legal/epl-v10.html
+ *
+ * Contributors:
+ * IBM Corporation - Initial API and implementation
+ *******************************************************************************/
+package org.eclipse.wst.server.ui.tests;
+
+import org.eclipse.wst.server.core.IModule;
+import org.eclipse.wst.server.core.IServerAttributes;
+import org.eclipse.wst.server.ui.RemoveModuleMessageExtension;
+
+public class RemoveModuleMessageTestExtension extends RemoveModuleMessageExtension {
+
+ public static String customRemoveMessage = "Are you sure you want to remove one or more modules from the server?";
+
+ public RemoveModuleMessageTestExtension() {
+ // Empty
+ }
+
+ @Override
+ public String getConfirmationMessage(IServerAttributes server, IModule[] modules) {
+ return customRemoveMessage;
+ }
+
+}
\ No newline at end of file