package org.apache.smscserver.test.messageManager; import junit.framework.Assert; import org.apache.smscserver.message.impl.ShortMessageImpl; import org.apache.smscserver.smsclet.ShortMessage; import org.apache.smscserver.smsclet.ShortMessageStatus; public class SubmitSMTest extends MessageManagerTemplate { public void testSubmitSMMessage() throws Exception { ShortMessage sm = this.createMessage("test1"); this.messageManager.submitSM(sm); } public void testSubmitSMMessageWithReplace() throws Exception { ShortMessageImpl sm1 = this.createMessage("test3"); this.messageManager.submitSM(sm1); ShortMessageImpl sm2 = this.createMessage("test3"); sm2.setReplaceIfPresent(true); this.messageManager.submitSM(sm2); sm1 = (ShortMessageImpl) this.messageManager.selectShortMessage(sm1.getId()); sm2 = (ShortMessageImpl) this.messageManager.selectShortMessage(sm2.getId()); Assert.assertEquals(sm2.getId(), sm1.getReplacedBy()); Assert.assertEquals(sm1.getId(), sm2.getReplaced()); } public void testSubmitSMMessageWithReplaceMultiExisting() throws Exception { ShortMessageImpl sm1 = this.createMessage("test4"); this.messageManager.submitSM(sm1); Thread.sleep(1000); ShortMessageImpl sm2 = this.createMessage("test4"); this.messageManager.submitSM(sm2); ShortMessageImpl smr = this.createMessage("test4"); smr.setReplaceIfPresent(true); this.messageManager.submitSM(smr); sm1 = (ShortMessageImpl) this.messageManager.selectShortMessage(sm1.getId()); sm2 = (ShortMessageImpl) this.messageManager.selectShortMessage(sm2.getId()); smr = (ShortMessageImpl) this.messageManager.selectShortMessage(smr.getId()); Assert.assertNull(sm1.getReplacedBy()); Assert.assertEquals(smr.getId(), sm2.getReplacedBy()); Assert.assertEquals(sm2.getId(), smr.getReplaced()); } public void testSubmitSMMessageWithReplaceNoOriginal() throws Exception { ShortMessageImpl sm1 = this.createMessage("test2"); this.messageManager.submitSM(sm1); sm1.setStatus(ShortMessageStatus.DELIVERED); this.messageManager.submitSM(sm1); ShortMessageImpl sm2 = this.createMessage("test2"); sm2.setReplaceIfPresent(true); this.messageManager.submitSM(sm2); sm1 = (ShortMessageImpl) this.messageManager.selectShortMessage(sm1.getId()); sm2 = (ShortMessageImpl) this.messageManager.selectShortMessage(sm2.getId()); Assert.assertNull(sm1.getReplacedBy()); Assert.assertNull(sm2.getReplaced()); } }