1 /***
2 * @(#)ServiceContainerInterceptorTest.java
3 *
4 * JFoxSOAF, Service-Oriented Application Framework
5 *
6 * Copyright(c) JFoxSOAF Team
7 *
8 * Licensed under the GNU LGPL, Version 2.1 (the "License");
9 * you may not use this file except in compliance with the License.
10 * You may obtain a copy of the License at
11 *
12 * http://www.gnu.org/copyleft/lesser.html
13 *
14 * Unless required by applicable law or agreed to in writing, software
15 * distributed under the License is distributed on an "AS IS" BASIS,
16 * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
17 * See the License for the specific language governing permissions and
18 * limitations under the License.
19 *
20 * For more information, please visit:
21 * http://www.jfox.cn/confluence/display/JFoxSOAF/Home
22 * http://www.huihoo.org/jfox/jfoxsoaf
23 */
24
25 package org.huihoo.jfox.soaf.container;
26
27 import junit.framework.TestCase;
28
29 /***
30 * JUnit test case for the
31 * {@link org.huihoo.jfox.soaf.container.ServiceContainerInceptor).
32 *
33 * @author <a href="mailto:founder_chen@yahoo.com.cn">Peter Cheng </a>
34 * @version $Revision: 1.6 $ $Date: 2005/01/17 14:10:49 $
35 * @version Revision: 1.0
36 */
37
38 public class ServiceContainerInterceptorTest extends TestCase {
39
40 private ServiceEntry serviceEntryBoyWithID = new MockServiceEntry();
41
42 private ServiceEntry serviceEntryBoyWithoutID = new MockServiceEntry();
43
44 private ServiceInterceptor serviceInterceptor = new ServiceContainerInterceptor();
45
46 private ServiceFactory serviceFactory = ServiceFactory.getInstance();
47
48 /***
49 * @see TestCase#setUp()
50 */
51 protected void setUp() throws Exception {
52 super.setUp();
53
54 }
55
56 /***
57 * @see TestCase#tearDown()
58 */
59 protected void tearDown() throws Exception {
60 super.tearDown();
61 }
62
63 /***
64 * Test for void invoke()
65 */
66 public void testInvoke() {
67 serviceEntryBoyWithoutID.setImplementation(Boy.class.getName());
68 serviceEntryBoyWithoutID.setManageable("false");
69 serviceEntryBoyWithoutID.setInterface(Kissable.class.getName());
70 try {
71 serviceInterceptor.invoke(serviceEntryBoyWithoutID);
72 } catch (Throwable e) {
73 e.printStackTrace();
74 }
75 assertNotNull(serviceFactory.getService(Boy.class));
76 assertNotNull(serviceFactory.getService(Kissable.class));
77 serviceFactory.unRegisterService(Boy.class.getName());
78 assertNull(serviceFactory.getService(Boy.class));
79 assertNull(serviceFactory.getService(Kissable.class));
80 }
81
82 /***
83 * Test for void invoke() with ID
84 */
85 public void testInvokeWithID() {
86
87 serviceEntryBoyWithID.setId("Boy");
88 serviceEntryBoyWithID
89 .setImplementation("org.huihoo.jfox.soaf.container.Boy");
90 serviceEntryBoyWithID.setManageable("false");
91 serviceEntryBoyWithID
92 .setInterface("org.huihoo.jfox.soaf.container.Kissable");
93 try {
94 serviceInterceptor.invoke(serviceEntryBoyWithID);
95 } catch (Throwable e) {
96 e.printStackTrace();
97 }
98 assertNotNull(serviceFactory.getService(Boy.class));
99 assertNotNull(serviceFactory.getService(Kissable.class));
100 assertNotNull(serviceFactory.getService("Boy"));
101 }
102
103 }