1 /*
2 * Replica is published under the terms
3 * of the Apache Software License.
4 */
5 package replica.server.commands.plsql;
6
7 import java.util.List;
8
9 import replica.core.ApplicationMessage;
10 import replica.group.Address;
11 import replica.group.GroupManager;
12 import replica.group.event.GroupListener;
13 import replica.server.ServerProcess;
14 import junit.framework.TestCase;
15
16 /***
17 *
18 * @author Pedro Costa
19 * @author Helder Silva
20 * @since 1/Fev/2004
21 */
22 public class PlsqlCommandProcessorTest extends TestCase {
23
24 PlsqlCommandProcessor commP;
25 ApplicationMessage receivedMsg;
26
27 String line1 = "begin insert into test values ( 1, 'pedro' );";
28 String line2 = "commit;";
29 String line3 = "end;";
30
31 /***
32 * Constructor for PlsqlCommandProcessorTest.
33 * @param name
34 */
35 public PlsqlCommandProcessorTest(String name) {
36 super(name);
37 }
38
39 /*
40 * @see TestCase#setUp()
41 */
42 protected void setUp() throws Exception {
43 super.setUp();
44
45 GroupManager groupManager = new GroupManager() {
46 public void joinGroup() {}
47 public void leaveGroup() {}
48 public String getGroupName() {return null;}
49 public void setGroupName(String groupName) {}
50 public List getGroupView() {return null;}
51 public void sendMessage(Address receiverAddress, Object message) {}
52 public void sendMessage(Object message) {
53 receivedMsg = (ApplicationMessage) message;
54 }
55 public void addListener(GroupListener listener) {}
56 public boolean removeListener(GroupListener listener) {return false;}
57 public Address getLocalAddress() {return null;}
58 };
59
60 commP = new PlsqlCommandProcessor("", new ServerProcess(), groupManager);
61
62 receivedMsg = null;
63 }
64
65 /*
66 * @see TestCase#tearDown()
67 */
68 protected void tearDown() throws Exception {
69 super.tearDown();
70 }
71
72 /*
73 * Test for Object process(ApplicationMessage)
74 */
75 public void testProcessApplicationMessage() {
76
77 ApplicationMessage msg = new ApplicationMessage();
78
79 msg.setBody(line1);
80
81 commP.process(msg);
82
83 assertNull(receivedMsg);
84 assertEquals(line1, commP.plsqlCommand.toString());
85
86 msg.setBody(line2);
87
88 commP.process(msg);
89
90 assertNull(receivedMsg);
91 assertEquals(line1 + line2, commP.plsqlCommand.toString());
92
93 msg.setBody(line3);
94
95 commP.process(msg);
96
97 assertNotNull(receivedMsg);
98
99 assertEquals(line1 + line2 + line3, commP.plsqlCommand.toString());
100 }
101
102 public void testProcessPlsqlCommandEnd() {
103
104 commP.plsqlCommand = new StringBuffer()
105 .append(line1).append(line2).append(line3);
106
107 ApplicationMessage msg = new ApplicationMessage();
108 msg.setBody(line3);
109
110 commP.processPlsqlCommandEnd(msg);
111
112 assertNotNull(receivedMsg);
113
114 assertEquals(line1 + line2 + line3, receivedMsg.getBody().toString());
115 }
116
117 public void testIsPlsqlEnd() {
118
119 assertFalse(commP.isPlsqlEnd(line1));
120 assertFalse(commP.isPlsqlEnd(line2));
121 assertTrue(commP.isPlsqlEnd(line3));
122 }
123
124 }
This page was automatically generated by Maven