KickJava   Java API By Example, From Geeks To Geeks.

Java > Open Source Codes > org > objectweb > celtix > bus > ws > rm > persistence > RMStoreFactoryTest


1 package org.objectweb.celtix.bus.ws.rm.persistence;
2
3 import java.util.ArrayList JavaDoc;
4
5 import junit.framework.TestCase;
6
7 import org.easymock.classextension.EasyMock;
8 import org.easymock.classextension.IMocksControl;
9 import org.objectweb.celtix.bus.configuration.wsrm.StoreInitParamType;
10 import org.objectweb.celtix.bus.configuration.wsrm.StoreType;
11 import org.objectweb.celtix.bus.ws.rm.RMUtils;
12 import org.objectweb.celtix.bus.ws.rm.persistence.file.RMFileStore;
13 import org.objectweb.celtix.configuration.Configuration;
14 import org.objectweb.celtix.ws.rm.persistence.RMStore;
15
16 public class RMStoreFactoryTest extends TestCase {
17    
18     public void setUp() {
19         RMStoreFactory.theStore = null;
20     }
21     
22     public void tearDown() {
23         RMStoreFactory.theStore = null;
24     }
25     
26     public void testStoreCreationFailure() {
27         IMocksControl control = EasyMock.createNiceControl();
28         StoreType s = control.createMock(StoreType.class);
29         s.getStoreClass();
30         EasyMock.expectLastCall().andReturn("org.objectweb.celtix.bus.ws.rm.persistence.no.such.StoreClass");
31         control.replay();
32         
33         RMStoreFactory factory = new RMStoreFactory();
34         try {
35             factory.createStore(s);
36             fail("Expected RMStoreException was not thrown.");
37         } catch (RMStoreException ex) {
38             assert ex.getCause() instanceof ClassNotFoundException JavaDoc;
39         }
40         control.verify();
41     }
42     
43     public void testStoreCreationNoParams() {
44         IMocksControl control = EasyMock.createNiceControl();
45         Configuration c = control.createMock(Configuration.class);
46         StoreType s = control.createMock(StoreType.class);
47         c.getObject(StoreType.class, "store");
48         EasyMock.expectLastCall().andReturn(s);
49         s.getStoreClass();
50         EasyMock.expectLastCall().andReturn("org.objectweb.celtix.bus.ws.rm.persistence.file.RMFileStore");
51         s.getInitParam();
52         EasyMock.expectLastCall().andReturn(new ArrayList JavaDoc<StoreInitParamType>());
53         control.replay();
54         
55         RMStoreFactory factory = new RMStoreFactory();
56         RMStore store = factory.getStore(c);
57         assert store instanceof RMFileStore;
58    
59         control.verify();
60     }
61     
62     public void testStoreCreationWithParams() {
63         IMocksControl control = EasyMock.createNiceControl();
64         Configuration c = control.createMock(Configuration.class);
65         StoreType s = RMUtils.getWSRMConfFactory().createStoreType();
66         s.setStoreClass("org.objectweb.celtix.bus.ws.rm.persistence.file.RMFileStore");
67         StoreInitParamType param = RMUtils.getWSRMConfFactory().createStoreInitParamType();
68         param.setParamName(RMFileStore.FILE_STORE_DIR);
69         param.setParamValue("dbs/rm");
70         s.getInitParam().add(param);
71         param = RMUtils.getWSRMConfFactory().createStoreInitParamType();
72         param.setParamName("prop2");
73         param.setParamValue("val2");
74         s.getInitParam().add(param);
75         c.getObject(StoreType.class, "store");
76         EasyMock.expectLastCall().andReturn(s);
77         control.replay();
78         
79         RMStoreFactory factory = new RMStoreFactory();
80         RMStore store = factory.getStore(c);
81         assert store instanceof RMFileStore;
82         
83         control.verify();
84     }
85 }
86
Popular Tags