You are viewing a plain text version of this content. The canonical link for it is here.
Posted to sandesha-dev@ws.apache.org by ch...@apache.org on 2007/09/10 06:40:53 UTC

svn commit: r574128 - /webservices/sandesha/branches/sandesha2/java/1_3/modules/tests/src/test/java/org/apache/sandesha2/storage/KeyConflictTest.java

Author: chamikara
Date: Sun Sep  9 21:40:53 2007
New Revision: 574128

URL: http://svn.apache.org/viewvc?rev=574128&view=rev
Log:
A test for checking the keyConflict method I added previously.

Added:
    webservices/sandesha/branches/sandesha2/java/1_3/modules/tests/src/test/java/org/apache/sandesha2/storage/KeyConflictTest.java

Added: webservices/sandesha/branches/sandesha2/java/1_3/modules/tests/src/test/java/org/apache/sandesha2/storage/KeyConflictTest.java
URL: http://svn.apache.org/viewvc/webservices/sandesha/branches/sandesha2/java/1_3/modules/tests/src/test/java/org/apache/sandesha2/storage/KeyConflictTest.java?rev=574128&view=auto
==============================================================================
--- webservices/sandesha/branches/sandesha2/java/1_3/modules/tests/src/test/java/org/apache/sandesha2/storage/KeyConflictTest.java (added)
+++ webservices/sandesha/branches/sandesha2/java/1_3/modules/tests/src/test/java/org/apache/sandesha2/storage/KeyConflictTest.java Sun Sep  9 21:40:53 2007
@@ -0,0 +1,89 @@
+package org.apache.sandesha2.storage;
+
+import org.apache.axis2.AxisFault;
+import org.apache.axis2.context.ConfigurationContext;
+import org.apache.axis2.description.Parameter;
+import org.apache.axis2.engine.AxisConfiguration;
+import org.apache.sandesha2.Sandesha2Constants;
+import org.apache.sandesha2.SandeshaException;
+import org.apache.sandesha2.SandeshaTestCase;
+import org.apache.sandesha2.policy.SandeshaPolicyBean;
+import org.apache.sandesha2.storage.beanmanagers.RMSBeanMgr;
+import org.apache.sandesha2.storage.beans.RMSBean;
+import org.apache.sandesha2.storage.inmemory.InMemoryStorageManager;
+import org.apache.sandesha2.util.SandeshaUtil;
+
+/*
+ * Copyright 2007 The Apache Software Foundation.
+ * Copyright 2007 International Business Machines Corp.
+ *
+ * Licensed 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.
+ */
+
+//This tests weather sandesha2 correctly checks Key Conflicts (i.e. when inserting) in it's storage managers.
+public class KeyConflictTest extends SandeshaTestCase {
+
+	public KeyConflictTest(String name) {
+		super(name);
+	}
+
+	public void testKeyConflicts ()  throws AxisFault {
+		
+		try {
+			AxisConfiguration axisConfiguration = new AxisConfiguration ();
+			ConfigurationContext configurationContext = new ConfigurationContext (axisConfiguration);
+			
+			//setting a dummy property been to stop Sandesha2 from throwing exceptions.
+			SandeshaPolicyBean policyBean = new SandeshaPolicyBean ();
+			axisConfiguration.addParameter(new Parameter (Sandesha2Constants.SANDESHA_PROPERTY_BEAN,policyBean));
+			
+			InMemoryStorageManager storageManager = new InMemoryStorageManager (configurationContext);
+			
+			Transaction transaction = storageManager.getTransaction();
+			
+			RMSBeanMgr rmsBeanMgr = storageManager.getRMSBeanMgr();
+			
+			RMSBean rmsBean = new RMSBean ();
+			RMSBean duplicateRMSBean = new RMSBean ();
+			
+			rmsBean.setCreateSeqMsgID(SandeshaUtil.getUUID());
+			duplicateRMSBean.setCreateSeqMsgID(SandeshaUtil.getUUID());
+			
+			String sequenceId = SandeshaUtil.getUUID();
+			
+			//we duplicate this sequenceID in both RMSBeans.
+			rmsBean.setSequenceID(sequenceId);
+			duplicateRMSBean.setSequenceID(sequenceId);
+			
+			rmsBeanMgr.insert(rmsBean);
+			
+			boolean exceptionThrown = false;
+			try {
+				rmsBeanMgr.insert(duplicateRMSBean);
+			} catch (SandeshaStorageException e) {
+				exceptionThrown = true;
+			}
+			
+			transaction.commit();
+			
+			assertTrue(exceptionThrown);
+		} catch (SandeshaStorageException e) {
+			// TODO Auto-generated catch block
+			e.printStackTrace();
+		} catch (SandeshaException e) {
+			// TODO Auto-generated catch block
+			e.printStackTrace();
+		}
+	}
+	
+}



---------------------------------------------------------------------
To unsubscribe, e-mail: sandesha-dev-unsubscribe@ws.apache.org
For additional commands, e-mail: sandesha-dev-help@ws.apache.org