    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 }