1 package org.codehaus.xfire.java;
2
3 import java.util.Collection;
4 import org.codehaus.plexus.PlexusTestCase;
5 import org.codehaus.xfire.SOAPConstants;
6 import org.codehaus.xfire.java.mapping.TypeMapping;
7 import org.codehaus.xfire.java.mapping.TypeMappingRegistry;
8 import org.codehaus.xfire.java.test.Echo;
9 import org.codehaus.xfire.java.type.Type;
10 import org.codehaus.xfire.service.Service;
11 import org.dom4j.QName;
12
13
14 /***
15 * @author <a href="mailto:dan@envoisolutions.com">Dan Diephouse</a>
16 * @since Feb 21, 2004
17 */
18 public class JavaServiceTest
19 extends PlexusTestCase
20 {
21 public void testServiceRegister() throws Exception
22 {
23 AbstractJavaService hello = (AbstractJavaService) lookup( Service.ROLE, "echo" );
24
25 assertEquals( "Echo", hello.getName() );
26
27 assertEquals( Echo.class, hello.getServiceClass() );
28
29 assertNotNull( hello.getServiceHandler() );
30
31 assertNotNull( hello.getFaultHandler() );
32
33 assertEquals( 1, hello.getOperations().size() );
34
35
36 TypeMappingRegistry reg = (TypeMappingRegistry) lookup ( TypeMappingRegistry.ROLE );
37
38 TypeMapping tm = reg.getTypeMapping( "urn:Echo" );
39
40 assertNotNull( tm );
41
42 assertSame( hello.getTypeMapping(), tm );
43
44
45 tm = reg.getDefaultTypeMapping();
46
47 assertNotNull( tm );
48
49
50 Type type = hello.getTypeMapping().getType( String.class );
51
52 assertNotNull( type );
53
54 type = hello.getTypeMapping().getType( String.class, QName.get( "string", SOAPConstants.XSD) );
55
56 assertNotNull( type );
57 }
58
59 public void testStaticMethods() throws Exception
60 {
61 AbstractJavaService hello = (AbstractJavaService) lookup( Service.ROLE, "StaticEcho" );
62
63 Collection ops = hello.getOperations();
64 assertEquals( 1, ops.size() );
65 }
66 }