1
2
3
4
5
6
7
8
9 package bexee.model;
10
11 import java.io.InputStream;
12
13 import junit.framework.TestCase;
14 import bexee.model.process.BPELProcess;
15 import bexee.util.Constants;
16
17 /***
18 * @version $Revision: 1.1 $, $Date: 2004/12/15 14:18:17 $
19 * @author Patric Fornasier
20 */
21 public class BPELProcessFactoryTest extends TestCase {
22
23 private static final String FACTORY_IMPL = "bexee.model.BPELProcessFactoryTest$MockBPELProcessFactory";
24
25 protected void tearDown() throws Exception {
26 super.tearDown();
27
28
29 System.getProperties().remove(Constants.OPT_PROCESS_FACTORY);
30 }
31
32 /***
33 * Test if the factory returns the correct default implementation if no
34 * system property is set.
35 */
36 public void testGetInstance() {
37 BPELProcessFactory factory = BPELProcessFactory.getInstance();
38 assertTrue(factory instanceof BPELProcessFactoryImpl);
39 }
40
41 /***
42 * Test whether the factory returns the default implementation if an invalid
43 * class name is provided.
44 */
45 public void testWrongClassName()
46 {
47
48 System.setProperty(Constants.OPT_PROCESS_FACTORY, "nonExistingClass");
49
50
51 BPELProcessFactory factory = BPELProcessFactory.getInstance();
52 assertTrue(factory instanceof BPELProcessFactoryImpl);
53 }
54
55 /***
56 * Test whether the factory returns the right implementation based on a
57 * system property.
58 */
59 public void testGetInstanceBySystemProperty() {
60
61
62 System.setProperty(Constants.OPT_PROCESS_FACTORY, FACTORY_IMPL);
63
64 BPELProcessFactory factory = BPELProcessFactory.getInstance();
65 assertTrue(factory instanceof BPELProcessFactoryTest.MockBPELProcessFactory);
66 }
67
68 /***
69 * Mock class extending the <code>BPELProcessFactory</code> for testing.
70 *
71 * @version $Revision: 1.1 $, $Date: 2004/12/15 14:18:17 $
72 * @author Patric Fornasier
73 */
74 public static class MockBPELProcessFactory extends BPELProcessFactory {
75 /***
76 * Doesn't do anything
77 */
78 public BPELProcess createBPELProcess(InputStream bpelDocumentStream)
79 throws BPELDocumentException {
80 return null;
81 }
82 }
83 }