Updated Branches:
  refs/heads/master 27d07cf2e -> 154f28fc5

Updated load balancer integration test module


Project: http://git-wip-us.apache.org/repos/asf/incubator-stratos/repo
Commit: http://git-wip-us.apache.org/repos/asf/incubator-stratos/commit/154f28fc
Tree: http://git-wip-us.apache.org/repos/asf/incubator-stratos/tree/154f28fc
Diff: http://git-wip-us.apache.org/repos/asf/incubator-stratos/diff/154f28fc

Branch: refs/heads/master
Commit: 154f28fc50f7863ca0207cf945f0354983ee6d74
Parents: 27d07cf
Author: Imesh Gunaratne <[email protected]>
Authored: Wed Feb 12 20:54:21 2014 -0500
Committer: Imesh Gunaratne <[email protected]>
Committed: Wed Feb 12 20:54:21 2014 -0500

----------------------------------------------------------------------
 .../balancer/test/RoundRobinAlgorithmTest.java  |  70 ---------
 .../load-balancer/modules/integration/pom.xml   |  19 ++-
 .../tests/AlgorithmContextCacheTest.java        |  55 +++++++
 .../tests/LoadBalancerTestServerManager.java    |  69 +++++++++
 .../tests/RoundRobinAlgorithmTest.java          |  70 +++++++++
 .../tests/LoadBalancerTestServerManager.java    |  53 -------
 .../src/test/resources/instrumentation.txt      |   2 +-
 .../src/test/resources/loadbalancer.conf        | 142 +++++++++++++++++++
 .../integration/src/test/resources/testng.xml   |  31 ++++
 9 files changed, 385 insertions(+), 126 deletions(-)
----------------------------------------------------------------------


http://git-wip-us.apache.org/repos/asf/incubator-stratos/blob/154f28fc/components/org.apache.stratos.load.balancer/src/test/java/org/apache/stratos/load/balancer/test/RoundRobinAlgorithmTest.java
----------------------------------------------------------------------
diff --git 
a/components/org.apache.stratos.load.balancer/src/test/java/org/apache/stratos/load/balancer/test/RoundRobinAlgorithmTest.java
 
b/components/org.apache.stratos.load.balancer/src/test/java/org/apache/stratos/load/balancer/test/RoundRobinAlgorithmTest.java
deleted file mode 100755
index cc08319..0000000
--- 
a/components/org.apache.stratos.load.balancer/src/test/java/org/apache/stratos/load/balancer/test/RoundRobinAlgorithmTest.java
+++ /dev/null
@@ -1,70 +0,0 @@
-/**
- *  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.stratos.load.balancer.test;
-
-import org.apache.stratos.load.balancer.algorithm.AlgorithmContext;
-import org.apache.stratos.load.balancer.algorithm.RoundRobin;
-import org.apache.stratos.messaging.domain.topology.Member;
-import org.apache.stratos.messaging.domain.topology.MemberStatus;
-import org.junit.Assert;
-import org.junit.Test;
-import org.junit.runner.RunWith;
-import org.junit.runners.JUnit4;
-
-import java.util.ArrayList;
-import java.util.List;
-
-/**
- * Round robin algorithm test.
- */
-@RunWith(JUnit4.class)
-public class RoundRobinAlgorithmTest {
-
-    @Test
-    public final void testRoundRobinAlgorithm() {
-        List<Member> members = new ArrayList<Member>();
-        Member member = new Member("service1", "cluster1", "np1", "p1", "m1");
-        member.setStatus(MemberStatus.Activated);
-        members.add(member);
-
-        member = new Member("service1", "cluster1", "np1", "p1", "m2");
-        member.setStatus(MemberStatus.Activated);
-        members.add(member);
-
-        member = new Member("service1", "cluster1", "np1", "p1", "m3");
-        member.setStatus(MemberStatus.Activated);
-        members.add(member);
-
-        RoundRobin algorithm = new RoundRobin();
-        algorithm.setMembers(members);
-
-        AlgorithmContext algorithmContext = new AlgorithmContext("service1", 
"cluster1");
-        Member nextMember = algorithm.getNextMember(algorithmContext);
-        Assert.assertEquals("Expected member not found", true, 
"m1".equals(nextMember.getMemberId()));
-
-        nextMember = algorithm.getNextMember(algorithmContext);
-        Assert.assertEquals("Expected member not found", true, 
"m2".equals(nextMember.getMemberId()));
-
-        nextMember = algorithm.getNextMember(algorithmContext);
-        Assert.assertEquals("Expected member not found", true, 
"m3".equals(nextMember.getMemberId()));
-
-        nextMember = algorithm.getNextMember(algorithmContext);
-        Assert.assertEquals("Expected member not found", true, 
"m1".equals(nextMember.getMemberId()));
-    }
-}

http://git-wip-us.apache.org/repos/asf/incubator-stratos/blob/154f28fc/products/load-balancer/modules/integration/pom.xml
----------------------------------------------------------------------
diff --git a/products/load-balancer/modules/integration/pom.xml 
b/products/load-balancer/modules/integration/pom.xml
index 24c42ad..c2d9dfb 100644
--- a/products/load-balancer/modules/integration/pom.xml
+++ b/products/load-balancer/modules/integration/pom.xml
@@ -25,7 +25,7 @@
     <parent>
         <groupId>org.apache.stratos.load.balancer</groupId>
         <artifactId>load-balancer-parent</artifactId>
-        <version>2.0.5</version>
+        <version>4.0.0-SNAPSHOT</version>
         <relativePath>../../pom.xml</relativePath>
     </parent>
 
@@ -124,7 +124,7 @@
         <dependency>
             <groupId>org.wso2.carbon</groupId>
             <artifactId>org.wso2.carbon.integration.framework</artifactId>
-            <version>${carbon.version}</version>
+            <version>4.2.0</version>
         </dependency>
         <dependency>
             <groupId>org.testng</groupId>
@@ -142,5 +142,20 @@
             <version>${carbon.version}</version>
             <type>aar</type>
         </dependency>
+        <dependency>
+            <groupId>junit</groupId>
+            <artifactId>junit</artifactId>
+            <version>4.11</version>
+        </dependency>
+        <dependency>
+            <groupId>org.apache.stratos</groupId>
+            <artifactId>org.apache.stratos.messaging</artifactId>
+            <version>${project.version}</version>
+        </dependency>
+        <dependency>
+            <groupId>org.apache.stratos</groupId>
+            <artifactId>org.apache.stratos.load.balancer</artifactId>
+            <version>${project.version}</version>
+        </dependency>
     </dependencies>
 </project>

http://git-wip-us.apache.org/repos/asf/incubator-stratos/blob/154f28fc/products/load-balancer/modules/integration/src/test/java/org/apache/stratos/load/balancer/integration/tests/AlgorithmContextCacheTest.java
----------------------------------------------------------------------
diff --git 
a/products/load-balancer/modules/integration/src/test/java/org/apache/stratos/load/balancer/integration/tests/AlgorithmContextCacheTest.java
 
b/products/load-balancer/modules/integration/src/test/java/org/apache/stratos/load/balancer/integration/tests/AlgorithmContextCacheTest.java
new file mode 100755
index 0000000..1375b45
--- /dev/null
+++ 
b/products/load-balancer/modules/integration/src/test/java/org/apache/stratos/load/balancer/integration/tests/AlgorithmContextCacheTest.java
@@ -0,0 +1,55 @@
+/**
+ *  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.stratos.load.balancer.integration.tests;
+
+import org.apache.stratos.load.balancer.algorithm.AlgorithmContext;
+import org.apache.stratos.load.balancer.algorithm.RoundRobin;
+import org.apache.stratos.load.balancer.cache.AlgorithmContextCache;
+import org.apache.stratos.messaging.domain.topology.Member;
+import org.apache.stratos.messaging.domain.topology.MemberStatus;
+import org.junit.Assert;
+import org.junit.Test;
+import org.junit.runner.RunWith;
+import org.junit.runners.JUnit4;
+
+import java.util.ArrayList;
+import java.util.List;
+
+/**
+* Algorithm context cache test.
+*/
+@RunWith(JUnit4.class)
+public class AlgorithmContextCacheTest {
+
+    @Test
+    public final void testAlgorithmContextCache() {
+        testCurrentMemberIndex("Service1", "Cluster1", 0);
+        testCurrentMemberIndex("Service1", "Cluster1", 1);
+        testCurrentMemberIndex("Service1", "Cluster1", 2);
+        testCurrentMemberIndex("Service1", "Cluster1", 3);
+        testCurrentMemberIndex("Service1", "Cluster1", 2);
+        testCurrentMemberIndex("Service1", "Cluster1", 1);
+        testCurrentMemberIndex("Service1", "Cluster1", 0);
+    }
+
+    private void testCurrentMemberIndex(String serviceName, String clusterId, 
int index) {
+        AlgorithmContextCache.putCurrentMemberIndex(serviceName, clusterId, 
index);
+        Assert.assertEquals("Expected algorithm context member index not 
found", true, (AlgorithmContextCache.getCurrentMemberIndex(serviceName, 
clusterId) == index));
+    }
+}

http://git-wip-us.apache.org/repos/asf/incubator-stratos/blob/154f28fc/products/load-balancer/modules/integration/src/test/java/org/apache/stratos/load/balancer/integration/tests/LoadBalancerTestServerManager.java
----------------------------------------------------------------------
diff --git 
a/products/load-balancer/modules/integration/src/test/java/org/apache/stratos/load/balancer/integration/tests/LoadBalancerTestServerManager.java
 
b/products/load-balancer/modules/integration/src/test/java/org/apache/stratos/load/balancer/integration/tests/LoadBalancerTestServerManager.java
new file mode 100644
index 0000000..e9a3ad5
--- /dev/null
+++ 
b/products/load-balancer/modules/integration/src/test/java/org/apache/stratos/load/balancer/integration/tests/LoadBalancerTestServerManager.java
@@ -0,0 +1,69 @@
+/*
+ * 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.stratos.load.balancer.integration.tests;
+
+import org.apache.commons.io.FileUtils;
+import org.apache.commons.logging.Log;
+import org.apache.commons.logging.LogFactory;
+import org.testng.annotations.AfterSuite;
+import org.testng.annotations.BeforeSuite;
+import org.wso2.carbon.integration.framework.TestServerManager;
+
+import java.io.File;
+import java.io.IOException;
+
+/**
+ * Prepares the WSO2 LB for test runs, starts the server, and stops the server 
after
+ * test runs
+ */
+public class LoadBalancerTestServerManager extends TestServerManager {
+    private static final Log log = 
LogFactory.getLog(LoadBalancerTestServerManager.class);
+
+    public LoadBalancerTestServerManager() {
+        super(1);
+    }
+
+    @Override
+    @BeforeSuite(timeOut = 300000)
+    public String startServer() throws IOException {
+        String carbonHome = super.startServer();
+        System.setProperty("carbon.home", carbonHome);
+        return carbonHome;
+    }
+
+    @Override
+    @AfterSuite(timeOut = 60000)
+    public void stopServer() throws Exception {
+        super.stopServer();
+    }
+
+    protected void copyArtifacts(String carbonHome) throws IOException {
+        String resourceLocation = 
System.getProperty("framework.resource.location",
+                System.getProperty("basedir") + File.separator + "src" + 
File.separator + "test" + File.separator + "resources" + File.separator );
+        String confDir = carbonHome + File.separator + "repository"+ 
File.separator + "conf";
+
+        log.info("Copying loadbalancer.conf file...");
+        FileUtils.copyFile(new File(resourceLocation,"loadbalancer.conf"),new 
File(confDir,"loadbalancer.conf"));
+
+        // Could not provide the script name via Test Server Manager
+        FileUtils.copyFile(new File(carbonHome + File.separator + "bin", 
"stratos.sh"), new File(carbonHome + File.separator + "bin", "wso2server.sh"));
+        FileUtils.copyFile(new File(carbonHome + File.separator + 
"bin","stratos.bat"),new File(carbonHome + File.separator + 
"bin","wso2server.bat"));
+    }
+}
+

http://git-wip-us.apache.org/repos/asf/incubator-stratos/blob/154f28fc/products/load-balancer/modules/integration/src/test/java/org/apache/stratos/load/balancer/integration/tests/RoundRobinAlgorithmTest.java
----------------------------------------------------------------------
diff --git 
a/products/load-balancer/modules/integration/src/test/java/org/apache/stratos/load/balancer/integration/tests/RoundRobinAlgorithmTest.java
 
b/products/load-balancer/modules/integration/src/test/java/org/apache/stratos/load/balancer/integration/tests/RoundRobinAlgorithmTest.java
new file mode 100755
index 0000000..44db544
--- /dev/null
+++ 
b/products/load-balancer/modules/integration/src/test/java/org/apache/stratos/load/balancer/integration/tests/RoundRobinAlgorithmTest.java
@@ -0,0 +1,70 @@
+/**
+ *  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.stratos.load.balancer.integration.tests;
+
+import org.apache.stratos.load.balancer.algorithm.AlgorithmContext;
+import org.apache.stratos.load.balancer.algorithm.RoundRobin;
+import org.apache.stratos.messaging.domain.topology.Member;
+import org.apache.stratos.messaging.domain.topology.MemberStatus;
+import org.junit.Assert;
+import org.junit.Test;
+import org.junit.runner.RunWith;
+import org.junit.runners.JUnit4;
+
+import java.util.ArrayList;
+import java.util.List;
+
+/**
+ * Round robin algorithm test.
+ */
+@RunWith(JUnit4.class)
+public class RoundRobinAlgorithmTest {
+
+    @Test
+    public final void testRoundRobinAlgorithm() {
+        List<Member> members = new ArrayList<Member>();
+        Member member = new Member("service1", "cluster1", "np1", "p1", "m1");
+        member.setStatus(MemberStatus.Activated);
+        members.add(member);
+
+        member = new Member("service1", "cluster1", "np1", "p1", "m2");
+        member.setStatus(MemberStatus.Activated);
+        members.add(member);
+
+        member = new Member("service1", "cluster1", "np1", "p1", "m3");
+        member.setStatus(MemberStatus.Activated);
+        members.add(member);
+
+        RoundRobin algorithm = new RoundRobin();
+        algorithm.setMembers(members);
+
+        AlgorithmContext algorithmContext = new AlgorithmContext("service1", 
"cluster1");
+        Member nextMember = algorithm.getNextMember(algorithmContext);
+        Assert.assertEquals("Expected member not found", true, 
"m1".equals(nextMember.getMemberId()));
+
+        nextMember = algorithm.getNextMember(algorithmContext);
+        Assert.assertEquals("Expected member not found", true, 
"m2".equals(nextMember.getMemberId()));
+
+        nextMember = algorithm.getNextMember(algorithmContext);
+        Assert.assertEquals("Expected member not found", true, 
"m3".equals(nextMember.getMemberId()));
+
+        nextMember = algorithm.getNextMember(algorithmContext);
+        Assert.assertEquals("Expected member not found", true, 
"m1".equals(nextMember.getMemberId()));
+    }
+}

http://git-wip-us.apache.org/repos/asf/incubator-stratos/blob/154f28fc/products/load-balancer/modules/integration/src/test/java/org/wso2/lb/integration/tests/LoadBalancerTestServerManager.java
----------------------------------------------------------------------
diff --git 
a/products/load-balancer/modules/integration/src/test/java/org/wso2/lb/integration/tests/LoadBalancerTestServerManager.java
 
b/products/load-balancer/modules/integration/src/test/java/org/wso2/lb/integration/tests/LoadBalancerTestServerManager.java
deleted file mode 100644
index 45904a0..0000000
--- 
a/products/load-balancer/modules/integration/src/test/java/org/wso2/lb/integration/tests/LoadBalancerTestServerManager.java
+++ /dev/null
@@ -1,53 +0,0 @@
-/*
- * 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.wso2.lb.integration.tests;
-
-import org.apache.commons.logging.Log;
-import org.apache.commons.logging.LogFactory;
-import org.testng.annotations.AfterSuite;
-import org.testng.annotations.BeforeSuite;
-import org.wso2.carbon.integration.framework.TestServerManager;
-
-import java.io.IOException;
-
-/**
- * Prepares the WSO2 LB for test runs, starts the server, and stops the server 
after
- * test runs
- */
-public class LoadBalancerTestServerManager extends TestServerManager {
-
-    @Override
-    @BeforeSuite(timeOut = 300000)
-    public String startServer() throws IOException {
-        String carbonHome = super.startServer();
-        System.setProperty("carbon.home", carbonHome);
-        return carbonHome;
-    }
-
-    @Override
-    @AfterSuite(timeOut = 60000)
-    public void stopServer() throws Exception {
-        super.stopServer();
-    }
-
-    protected void copyArtifacts(String carbonHome) throws IOException {
-        // Nothing to do
-    }
-}
-

http://git-wip-us.apache.org/repos/asf/incubator-stratos/blob/154f28fc/products/load-balancer/modules/integration/src/test/resources/instrumentation.txt
----------------------------------------------------------------------
diff --git 
a/products/load-balancer/modules/integration/src/test/resources/instrumentation.txt
 
b/products/load-balancer/modules/integration/src/test/resources/instrumentation.txt
index 39ec979..6d61796 100644
--- 
a/products/load-balancer/modules/integration/src/test/resources/instrumentation.txt
+++ 
b/products/load-balancer/modules/integration/src/test/resources/instrumentation.txt
@@ -1 +1 @@
-org.wso2.carbon.*
\ No newline at end of file
+org.apache.stratos.load.balancer.*
\ No newline at end of file

http://git-wip-us.apache.org/repos/asf/incubator-stratos/blob/154f28fc/products/load-balancer/modules/integration/src/test/resources/loadbalancer.conf
----------------------------------------------------------------------
diff --git 
a/products/load-balancer/modules/integration/src/test/resources/loadbalancer.conf
 
b/products/load-balancer/modules/integration/src/test/resources/loadbalancer.conf
new file mode 100644
index 0000000..31bbdd5
--- /dev/null
+++ 
b/products/load-balancer/modules/integration/src/test/resources/loadbalancer.conf
@@ -0,0 +1,142 @@
+#  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.
+
+loadbalancer {
+
+    # Default load balancing algorithm
+    # Refer algorithm name from algorithms section.
+    algorithm: round-robin;
+
+    # Enable/disable failover handling
+    # If failover handling is enabled load balancer will retry requests on all 
members in a
+    # given cluster if the selected member fails to respond.
+    failover: true;
+
+    # Enable/disable session affinity
+    # If session affinity is enabled load balancer will track all outgoing 
sessions and delegate
+    # incoming requests to members with same sessions.
+    session-affinity: true;
+
+    # Session timeout in milli-seconds
+    session-timeout: 90000;
+
+    # Enable/disable topology event listener
+    # If this property is set to true, load balancer will listen to topology 
events and build
+    # the topology configuration accordingly. If not static configuration 
given in the services
+    # section will be used.
+    topology-event-listener: false;
+
+    # Message broker endpoint
+    # Provide message broker ip address and port if topology-event-listener or 
multi-tenancy is set to true.
+    mb-ip: localhost;
+    mb-port: 5677;
+
+    # Topology member ip address type
+    # Provide this configuration if topology-event-listener is set to true. If 
this property is set to 'private'
+    # load balancer will delegate requests to member's private IP address. If 
it is set to 'public' requests will
+    # be delegated to member's public IP address.
+    topology-member-ip-type: private;
+
+    # Topology service filter
+    # Provide service names in a comma separated list to filter incoming 
topology events if
+    # topology_event_listener_enabled is set to true. This functionality could 
be used for hosting
+    # dedicated load balancers for services.
+    # topology-service-filter: service-name=service-name1,service-name2;
+
+    # Topology cluster filter
+    # Provide cluster ids in a comma separated list to filter incoming 
topology events if
+    # topology_event_listener_enabled is set to true. This functionality could 
be used for hosting
+    # dedicated load balancers for subscriptions.
+    # topology-cluster-filter: cluster-id=cluster-id1,cluster-id2;
+
+    # Topology member filter
+    # Provide load balancer cluster ids in a comma separated list to filter 
incoming topology events if
+    # topology_event_listener_enabled is set to true. This functionality could 
be used for allowing members
+    # to join a given load balancer cluster.
+    # topology-member-filter: lb-cluster-id=lb-cluster-id1;
+
+    # Enable/disable cep statistics publisher
+    cep-stats-publisher: false;
+
+    # Complex event processor endpoint
+    # Provide CEP ip address and port if cep-stats-publisher is set to true.
+    cep-ip: localhost;
+    cep-port: 7615;
+
+    # Network partition id
+    # Provide the network partition id if cep-stats-publisher is set to true.
+    network-partition-id: network-partition-1;
+
+    # Multi-tenancy
+    # If this property is set to true, all incoming request URLs will be 
scanned using the given tenant-identifier-regex
+    # and matching tenant identifier value will be used to delegate the 
requests to the relevant cluster.
+    multi-tenancy: false;
+    tenant-identifier: tenant-domain; # Tenant identifier could either be 
tenant-id or tenant-domain.
+    tenant-identifier-regex: t/([^/]*)/; # Regular expression for extracting 
the tenant identifier value from the URL.
+
+    # Load balancing algorithm class names
+    algorithms {
+        round-robin {  # algorithm name
+            class-name: org.apache.stratos.load.balancer.algorithm.RoundRobin;
+        }
+    }
+
+    # Static topology configuration
+    # Define a static topology configuration if topology-event-listener is set 
to false.
+    # A sample configuration has been given below:
+
+     services {
+         app-server {  # service name, a unique identifier to identify a 
service
+             multi-tenant: true; # Set to true if the service is multi-tenant
+             clusters {
+                 app-server-cluster1 {  # cluster id, a unique identifier to 
identify a cluster
+                     hosts: cluster1.appserver.foo.org, cluster1.org;  # comma 
separated hostname list
+                     tenant-range: 1-100; # Tenant range of the cluster
+                     algorithm: round-robin;  # algorithm name
+                     members {
+                         m1 {  # member id, a unique identifier to identify a 
member
+                             ip: 10.0.0.10; # member ip address
+                             ports {
+                                 http {
+                                     value: 8080; # application port
+                                     proxy: 80;   # proxy port exposed by load 
balancer transport, set this value in axis2.xml
+                                 }
+                                 https {
+                                     value: 8090;
+                                     proxy: 443;
+                                 }
+                             }
+                         }
+                         m2 {
+                             ip: 10.0.0.11;
+                             ports {
+                                 http {
+                                     value: 8080;
+                                     proxy: 80;
+                                 }
+                                 https {
+                                     value: 8090;
+                                     proxy: 443;
+                                 }
+                             }
+                         }
+                     }
+                 }
+             }
+         }
+     }
+}

http://git-wip-us.apache.org/repos/asf/incubator-stratos/blob/154f28fc/products/load-balancer/modules/integration/src/test/resources/testng.xml
----------------------------------------------------------------------
diff --git 
a/products/load-balancer/modules/integration/src/test/resources/testng.xml 
b/products/load-balancer/modules/integration/src/test/resources/testng.xml
new file mode 100644
index 0000000..da56e47
--- /dev/null
+++ b/products/load-balancer/modules/integration/src/test/resources/testng.xml
@@ -0,0 +1,31 @@
+<?xml version='1.0'?>
+<!--
+  ~ 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.
+  -->
+
+<!DOCTYPE suite SYSTEM "http://testng.org/testng-1.0.dtd"; >
+<suite name="Apache Stratos Load Balancer Integration Test Suite" 
parallel="false">
+
+       <test name="loadbalancer-test" preserve-order="true" parallel="false">
+               <classes>
+                       <class 
name="org.apache.stratos.load.balancer.integration.tests.LoadBalancerTestServerManager"/>
+                       <class 
name="org.apache.stratos.load.balancer.integration.tests.AlgorithmContextCacheTest"
 />
+            <class 
name="org.apache.stratos.load.balancer.integration.tests.RoundRobinAlgorithmTest"
 />
+               </classes>
+       </test>
+</suite>

Reply via email to