blob: 2842209404d5169a1ba3d43de4ce0714d40c4f83 [file] [log] [blame]
/*******************************************************************************
* Copyright (c) 2009 by SAP AG, Walldorf.
* All rights reserved. This program and the accompanying materials
* are made available under the terms of the Eclipse Public License v1.0
* which accompanies this distribution, and is available at
* http://www.eclipse.org/legal/epl-v10.html
*
* Contributors:
* SAP AG - initial API and implementation
*******************************************************************************/
package org.eclipse.jst.ws.jaxws.dom.runtime.tests.dom.persistence.state;
import junit.framework.TestCase;
import org.eclipse.jst.ws.jaxws.dom.runtime.api.DomFactory;
import org.eclipse.jst.ws.jaxws.dom.runtime.api.DomPackage;
import org.eclipse.jst.ws.jaxws.dom.runtime.api.IServiceEndpointInterface;
import org.eclipse.jst.ws.jaxws.dom.runtime.api.IWebMethod;
import org.eclipse.jst.ws.jaxws.dom.runtime.api.IWebParam;
import org.eclipse.jst.ws.jaxws.dom.runtime.api.IWebService;
import org.eclipse.jst.ws.jaxws.dom.runtime.api.SOAPBindingParameterStyle;
import org.eclipse.jst.ws.jaxws.dom.runtime.api.SOAPBindingStyle;
import org.eclipse.jst.ws.jaxws.dom.runtime.api.SOAPBindingUse;
import org.eclipse.jst.ws.jaxws.dom.runtime.persistence.state.ParameterPropertyStateAdapter;
public class ParameterPropertyStateAdapterTest extends TestCase
{
private ParameterPropertyStateAdapter adapter;;
private IWebParam param;
private IWebMethod method;
private IServiceEndpointInterface sei;
@Override
public void setUp()
{
sei = DomFactory.eINSTANCE.createIServiceEndpointInterface();
method = DomFactory.eINSTANCE.createIWebMethod();
method.setSoapBindingStyle(SOAPBindingStyle.DOCUMENT);
method.setSoapBindingUse(SOAPBindingUse.LITERAL);
method.setSoapBindingParameterStyle(SOAPBindingParameterStyle.WRAPPED);
sei.getWebMethods().add(method);
param = DomFactory.eINSTANCE.createIWebParam();
param.eSet(DomPackage.Literals.IJAVA_WEB_SERVICE_ELEMENT__IMPLEMENTATION, "testParam");
param.setName("testParam");
method.getParameters().add(param);
adapter = new ParameterPropertyStateAdapter();
adapter.setTarget(param);
}
public void testIsChagebleNameCorrectSoapBinding()
{
assertTrue(adapter.isChangeable(DomPackage.Literals.IJAVA_WEB_SERVICE_ELEMENT__NAME));
}
public void testIsChagebleNameIncorrectSoapBinding()
{
method.setSoapBindingStyle(SOAPBindingStyle.RPC);
assertFalse(adapter.isChangeable(DomPackage.Literals.IJAVA_WEB_SERVICE_ELEMENT__NAME));
method.setSoapBindingStyle(SOAPBindingStyle.DOCUMENT);
method.setSoapBindingUse(SOAPBindingUse.ENCODED);
assertFalse(adapter.isChangeable(DomPackage.Literals.IJAVA_WEB_SERVICE_ELEMENT__NAME));
method.setSoapBindingUse(SOAPBindingUse.LITERAL);
method.setSoapBindingParameterStyle(SOAPBindingParameterStyle.BARE);
assertFalse(adapter.isChangeable(DomPackage.Literals.IJAVA_WEB_SERVICE_ELEMENT__NAME));
}
public void testIsChagebleNameParamInHeader()
{
param.setHeader(true);
method.setSoapBindingStyle(SOAPBindingStyle.RPC);
assertTrue(adapter.isChangeable(DomPackage.Literals.IJAVA_WEB_SERVICE_ELEMENT__NAME));
method.setSoapBindingStyle(SOAPBindingStyle.DOCUMENT);
assertTrue(adapter.isChangeable(DomPackage.Literals.IJAVA_WEB_SERVICE_ELEMENT__NAME));
}
public void testIsChagebleTargetNSCorrectSoapBinding()
{
assertTrue(adapter.isChangeable(DomPackage.Literals.IWEB_PARAM__TARGET_NAMESPACE));
}
public void testIsChagebleTargetNSIncorrectSoapBinding()
{
method.setSoapBindingStyle(SOAPBindingStyle.RPC);
assertFalse(adapter.isChangeable(DomPackage.Literals.IWEB_PARAM__TARGET_NAMESPACE));
method.setSoapBindingStyle(SOAPBindingStyle.DOCUMENT);
method.setSoapBindingUse(SOAPBindingUse.ENCODED);
assertFalse(adapter.isChangeable(DomPackage.Literals.IWEB_PARAM__TARGET_NAMESPACE));
method.setSoapBindingUse(SOAPBindingUse.LITERAL);
method.setSoapBindingParameterStyle(SOAPBindingParameterStyle.BARE);
assertFalse(adapter.isChangeable(DomPackage.Literals.IWEB_PARAM__TARGET_NAMESPACE));
}
public void testIsChagebleTargetNSParamInHeader()
{
method.setSoapBindingStyle(SOAPBindingStyle.RPC);
assertFalse(adapter.isChangeable(DomPackage.Literals.IWEB_PARAM__TARGET_NAMESPACE));
param.setHeader(true);
assertTrue(adapter.isChangeable(DomPackage.Literals.IWEB_PARAM__TARGET_NAMESPACE));
}
public void testIsChageblePartNameCorrectSoapBinding()
{
method.setSoapBindingStyle(SOAPBindingStyle.RPC);
assertTrue(adapter.isChangeable(DomPackage.Literals.IWEB_PARAM__PART_NAME));
}
public void testIsChageblePartNameIncorrectSoapBinding()
{
assertFalse(adapter.isChangeable(DomPackage.Literals.IWEB_PARAM__PART_NAME));
method.setSoapBindingStyle(SOAPBindingStyle.RPC);
method.setSoapBindingUse(SOAPBindingUse.ENCODED);
assertFalse(adapter.isChangeable(DomPackage.Literals.IWEB_PARAM__PART_NAME));
method.setSoapBindingUse(SOAPBindingUse.LITERAL);
method.setSoapBindingParameterStyle(SOAPBindingParameterStyle.BARE);
assertFalse(adapter.isChangeable(DomPackage.Literals.IWEB_PARAM__PART_NAME));
}
public void testIsChagebleTargetNSHeader()
{
assertFalse(adapter.isChangeable(DomPackage.Literals.IWEB_PARAM__HEADER));
method.setSoapBindingStyle(SOAPBindingStyle.RPC);
assertFalse(adapter.isChangeable(DomPackage.Literals.IWEB_PARAM__HEADER));
}
public void testReturnParamNotEditable()
{
param.eSet(DomPackage.Literals.IJAVA_WEB_SERVICE_ELEMENT__IMPLEMENTATION, "return");
assertFalse(adapter.isChangeable(DomPackage.Literals.IJAVA_WEB_SERVICE_ELEMENT__NAME));
assertFalse(adapter.isChangeable(DomPackage.Literals.IWEB_PARAM__PART_NAME));
assertFalse(adapter.isChangeable(DomPackage.Literals.IWEB_PARAM__TARGET_NAMESPACE));
method.setSoapBindingStyle(SOAPBindingStyle.RPC);
assertFalse(adapter.isChangeable(DomPackage.Literals.IJAVA_WEB_SERVICE_ELEMENT__NAME));
assertFalse(adapter.isChangeable(DomPackage.Literals.IWEB_PARAM__PART_NAME));
assertFalse(adapter.isChangeable(DomPackage.Literals.IWEB_PARAM__TARGET_NAMESPACE));
}
public void testOutsideInWebService()
{
IWebService ws = DomFactory.eINSTANCE.createIWebService();
ws.setWsdlLocation("C:/test/wsdl/location");
sei.getImplementingWebServices().add(ws);
assertFalse(adapter.isChangeable(DomPackage.Literals.IJAVA_WEB_SERVICE_ELEMENT__NAME));
assertFalse(adapter.isChangeable(DomPackage.Literals.IWEB_PARAM__PART_NAME));
assertFalse(adapter.isChangeable(DomPackage.Literals.IWEB_PARAM__TARGET_NAMESPACE));
method.setSoapBindingStyle(SOAPBindingStyle.RPC);
assertFalse(adapter.isChangeable(DomPackage.Literals.IJAVA_WEB_SERVICE_ELEMENT__NAME));
assertFalse(adapter.isChangeable(DomPackage.Literals.IWEB_PARAM__PART_NAME));
assertFalse(adapter.isChangeable(DomPackage.Literals.IWEB_PARAM__TARGET_NAMESPACE));
}
}