Package org.jboss.test.ws.common.config

Source Code of org.jboss.test.ws.common.config.ConfigFactoryTestCase

/*
* JBoss, Home of Professional Open Source.
* Copyright 2006, Red Hat Middleware LLC, and individual contributors
* as indicated by the @author tags. See the copyright.txt file in the
* distribution for a full listing of individual contributors.
*
* This is free software; you can redistribute it and/or modify it
* under the terms of the GNU Lesser General Public License as
* published by the Free Software Foundation; either version 2.1 of
* the License, or (at your option) any later version.
*
* This software is distributed in the hope that it will be useful,
* but WITHOUT ANY WARRANTY; without even the implied warranty of
* MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU
* Lesser General Public License for more details.
*
* You should have received a copy of the GNU Lesser General Public
* License along with this software; if not, write to the Free
* Software Foundation, Inc., 51 Franklin St, Fifth Floor, Boston, MA
* 02110-1301 USA, or see the FSF site: http://www.fsf.org.
*/
package org.jboss.test.ws.common.config;

import java.io.File;
import java.util.List;

import javax.xml.namespace.QName;

import org.jboss.ws.metadata.config.EndpointProperty;
import org.jboss.ws.metadata.config.JBossWSConfigFactory;
import org.jboss.ws.metadata.config.jaxrpc.CommonConfigJAXRPC;
import org.jboss.ws.metadata.config.jaxrpc.ConfigRootJAXRPC;
import org.jboss.ws.metadata.config.jaxrpc.EndpointConfigJAXRPC;
import org.jboss.ws.metadata.config.jaxws.ConfigRootJAXWS;
import org.jboss.ws.metadata.config.jaxws.EndpointConfigJAXWS;
import org.jboss.wsf.spi.metadata.j2ee.serviceref.UnifiedHandlerChainMetaData;
import org.jboss.wsf.spi.metadata.j2ee.serviceref.UnifiedHandlerMetaData;
import org.jboss.wsf.test.JBossWSTest;

/**
* Test parsing of the JBossWS config
*
* @author Thomas.Diesler@jboss.org
* @since 21-Dec-2004
*/
public class ConfigFactoryTestCase extends JBossWSTest
{

   public void testJAXRPCObjectModelFactory() throws Exception
   {
      File confFile = getResourceFile("common/config/jaxrpc-endpoint-config.xml");
      assertTrue(confFile.exists());

      JBossWSConfigFactory factory = JBossWSConfigFactory.newInstance();
      ConfigRootJAXRPC config = (ConfigRootJAXRPC)factory.parse(confFile.toURL());

      assertNotNull("Null config", config);

      assertEquals(3, config.getEndpointConfig().size());
      EndpointConfigJAXRPC epc1 = (EndpointConfigJAXRPC)config.getEndpointConfig().get(0);
      EndpointConfigJAXRPC epc2 = (EndpointConfigJAXRPC)config.getEndpointConfig().get(2);

      assertEquals("Standard Endpoint", epc1.getConfigName());
      assertNull(epc1.getPreHandlerChain());
      assertNull(epc1.getPostHandlerChain());
      assertFalse("MTOM should not be enabled", epc1.hasFeature("http://org.jboss.ws/mtom"));

      assertEquals("Standard WSSecurity Endpoint", epc2.getConfigName());
      UnifiedHandlerChainMetaData preChain = epc2.getPreHandlerChain();
      assertEquals(1, preChain.getHandlers().size());
      UnifiedHandlerMetaData h1 = (UnifiedHandlerMetaData)preChain.getHandlers().get(0);
      assertEquals("WSSecurityHandlerInbound", h1.getHandlerName());
      assertEquals("org.jboss.ws.extensions.security.jaxrpc.WSSecurityHandlerInbound", h1.getHandlerClass());
   }

   public void testJAXWSFeatures() throws Exception
   {
      File confFile = getResourceFile("common/config/jaxws-endpoint-config.xml");
      assertTrue(confFile.exists());
      JBossWSConfigFactory factory = JBossWSConfigFactory.newInstance();

      ConfigRootJAXWS config = (ConfigRootJAXWS)factory.parse(confFile.toURL());
      assertNotNull("Null config", config);

      EndpointConfigJAXWS epConfig = (EndpointConfigJAXWS)config.getConfigByName("Standard MTOM Endpoint");
      assertTrue("Feature not set", epConfig.hasFeature("http://org.jboss.ws/mtom"));

      // disable feature
      epConfig.setFeature("http://org.jboss.ws/mtom", false);
      assertFalse("Feature still set", epConfig.hasFeature("http://org.jboss.ws/mtom"));
   }

   public void testJAXRPCFeatures() throws Exception
   {
      File confFile = getResourceFile("common/config/jaxrpc-endpoint-config.xml");
      assertTrue(confFile.exists());
      JBossWSConfigFactory factory = JBossWSConfigFactory.newInstance();
      ConfigRootJAXRPC config = (ConfigRootJAXRPC)factory.parse(confFile.toURL());
      assertNotNull("Null config", config);

      CommonConfigJAXRPC epConfig = (CommonConfigJAXRPC)config.getConfigByName("Standard MTOM Endpoint");
      assertTrue("Feature not set", epConfig.hasFeature("http://org.jboss.ws/mtom"));

      // disable feature
      epConfig.setFeature("http://org.jboss.ws/mtom", false);
      assertFalse("Feature still set", epConfig.hasFeature("http://org.jboss.ws/mtom"));
   }

   public void testProperties() throws Exception
   {
      File confFile = getResourceFile("common/config/jaxws-endpoint-config.xml");
      assertTrue(confFile.exists());

      JBossWSConfigFactory factory = JBossWSConfigFactory.newInstance();
      ConfigRootJAXWS config = (ConfigRootJAXWS)factory.parse(confFile.toURL());
      assertNotNull("Null config", config);

      EndpointConfigJAXWS epConfig = (EndpointConfigJAXWS)config.getConfigByName("Standard WSSecurity Endpoint");
      String value = epConfig.getProperty(EndpointProperty.MTOM_THRESHOLD);
      assertNotNull("Property does not exist", value);
      assertEquals("Wrong property valule", value, "5000");
   }

}
TOP

Related Classes of org.jboss.test.ws.common.config.ConfigFactoryTestCase

TOP
Copyright © 2018 www.massapi.com. All rights reserved.
All source code are property of their respective owners. Java is a trademark of Sun Microsystems, Inc and owned by ORACLE Inc. Contact coftware#gmail.com.