You are viewing a plain text version of this content. The canonical link for it is here.
Posted to scm@geronimo.apache.org by dj...@apache.org on 2008/09/07 20:28:29 UTC

svn commit: r692917 - /geronimo/server/trunk/plugins/clustering/geronimo-plugin-farm/src/main/java/org/apache/geronimo/farm/plugin/TestGBean.java

Author: djencks
Date: Sun Sep  7 11:28:28 2008
New Revision: 692917

URL: http://svn.apache.org/viewvc?rev=692917&view=rev
Log:
GERONIMO-4284 add unfortunately placed test code

Added:
    geronimo/server/trunk/plugins/clustering/geronimo-plugin-farm/src/main/java/org/apache/geronimo/farm/plugin/TestGBean.java   (with props)

Added: geronimo/server/trunk/plugins/clustering/geronimo-plugin-farm/src/main/java/org/apache/geronimo/farm/plugin/TestGBean.java
URL: http://svn.apache.org/viewvc/geronimo/server/trunk/plugins/clustering/geronimo-plugin-farm/src/main/java/org/apache/geronimo/farm/plugin/TestGBean.java?rev=692917&view=auto
==============================================================================
--- geronimo/server/trunk/plugins/clustering/geronimo-plugin-farm/src/main/java/org/apache/geronimo/farm/plugin/TestGBean.java (added)
+++ geronimo/server/trunk/plugins/clustering/geronimo-plugin-farm/src/main/java/org/apache/geronimo/farm/plugin/TestGBean.java Sun Sep  7 11:28:28 2008
@@ -0,0 +1,117 @@
+/*
+ * Licensed to the Apache Software Foundation (ASF) under one
+ * or more contributor license agreements.  See the NOTICE file
+ * distributed with this work for additional information
+ * regarding copyright ownership.  The ASF licenses this file
+ * to you under the Apache License, Version 2.0 (the
+ * "License"); you may not use this file except in compliance
+ * with the License.  You may obtain a copy of the License at
+ *
+ *  http://www.apache.org/licenses/LICENSE-2.0
+ *
+ * Unless required by applicable law or agreed to in writing,
+ * software distributed under the License is distributed on an
+ * "AS IS" BASIS, WITHOUT WARRANTIES OR CONDITIONS OF ANY
+ * KIND, either express or implied.  See the License for the
+ * specific language governing permissions and limitations
+ * under the License.
+ */
+
+
+package org.apache.geronimo.farm.plugin;
+
+import java.util.List;
+import java.util.Map;
+
+import javax.persistence.EntityManagerFactory;
+
+import org.apache.geronimo.gbean.annotation.GBean;
+import org.apache.geronimo.gbean.annotation.ParamReference;
+import org.apache.geronimo.j2ee.j2eeobjectnames.NameFactory;
+import org.apache.geronimo.persistence.PersistenceUnitGBean;
+import org.apache.geronimo.system.plugin.DownloadResults;
+import org.slf4j.Logger;
+import org.slf4j.LoggerFactory;
+
+/**
+ * @version $Rev:$ $Date:$
+ */
+@GBean
+public class TestGBean {
+    private static Logger log = LoggerFactory.getLogger(TestGBean.class);
+
+    private EntityManagerFactory emf;
+    private FarmGBean farmGBean;
+    private static final String CLUSTER1 = "cluster1";
+    private static final String CLUSTER2 = "cluster2";
+    private static final String PLUGIN_LIST1 = "pluginList1";
+    private static final String NODE1 = "node1";
+
+    public TestGBean(@ParamReference(name="PersistenceUnit", namingType= NameFactory.PERSISTENCE_UNIT)PersistenceUnitGBean persistenceUnitGBean,
+                    @ParamReference(name="FarmGBean") FarmGBean farmGBean) throws Exception {
+        this.emf = persistenceUnitGBean.getEntityManagerFactory();
+        this.farmGBean = farmGBean;
+        testAddPlugin();
+        testAddNode1();
+        testAddExistingPluginListToNewCluster();
+    }
+
+    public void testAddPlugin() throws Exception {
+        String clusterName = CLUSTER1;
+        String pluginListName = PLUGIN_LIST1;
+        int clusterSize = 1;
+        JpaPluginInstance pluginInstance = new JpaPluginInstance("org.apache.geronimo.samples/customer-service-jetty/2.2-SNAPSHOT/car");
+        farmGBean.addPluginToCluster(clusterName, pluginListName, pluginInstance);
+
+        checkCluster(clusterName, pluginListName, clusterSize);
+    }
+
+    public void testAddNode1() throws Exception {
+        String clusterName = CLUSTER1;
+        String pluginListName = PLUGIN_LIST1;
+        int clusterSize = 1;
+
+        checkCluster(clusterName, pluginListName, clusterSize);
+        checkCluster(clusterName, pluginListName, clusterSize);
+
+        JpaNodeInfo nodeInfo = new JpaNodeInfo();
+        nodeInfo.setName(NODE1);
+        int serverId = 1;
+//        int serverId = 0;
+        nodeInfo.setConnectorInfo("system", "manager", "rmi", "localhost", 1099 + 10 * serverId, "JMXConnector", false);
+        Map<String, DownloadResults> results = farmGBean.addNode(CLUSTER1, nodeInfo);
+        if (results.size() != 1) {
+            throw new IllegalStateException("wrong number of nodes installed to" + results.size());
+        }
+        DownloadResults downloadResults = results.get(PLUGIN_LIST1);
+        if (downloadResults.isFailed()) {
+            throw new IllegalStateException("failed to install on node1", downloadResults.getFailure());
+        }
+    }
+
+    public void testAddExistingPluginListToNewCluster() throws Exception {
+        String clusterName = CLUSTER2;
+        String pluginListName = PLUGIN_LIST1;
+        int clusterSize = 2;
+        farmGBean.addPluginList(clusterName, pluginListName);
+
+        checkCluster(clusterName, pluginListName, clusterSize);
+    }
+
+    private void checkCluster(String clusterName, String pluginListName, int clusterSize) {
+        FarmGBean.JpaContext context = new FarmGBean.JpaContext(emf);
+        JpaClusterInfo cluster = context.getClusterInfo(clusterName);
+        log.info("retrieved " + cluster.getName());
+        log.info("cluster pluginlist count: " + cluster.getPluginLists().size());
+        JpaPluginList pluginList = cluster.getPluginLists().iterator().next();
+        if (!pluginList.getName().equals(pluginListName)) {
+            throw new IllegalStateException("Wrong name: " + pluginList.getName());
+        }
+        List<JpaClusterInfo> clusters = pluginList.getClusters();
+        if (clusters.size() != clusterSize) {
+            throw new IllegalStateException("Wrong size: " + clusters.size());
+        }
+        context.close();
+    }
+
+}

Propchange: geronimo/server/trunk/plugins/clustering/geronimo-plugin-farm/src/main/java/org/apache/geronimo/farm/plugin/TestGBean.java
------------------------------------------------------------------------------
    svn:eol-style = native

Propchange: geronimo/server/trunk/plugins/clustering/geronimo-plugin-farm/src/main/java/org/apache/geronimo/farm/plugin/TestGBean.java
------------------------------------------------------------------------------
    svn:keywords = Date Revision

Propchange: geronimo/server/trunk/plugins/clustering/geronimo-plugin-farm/src/main/java/org/apache/geronimo/farm/plugin/TestGBean.java
------------------------------------------------------------------------------
    svn:mime-type = text/plain