Package com.eviware.soapui.model.testsuite

Examples of com.eviware.soapui.model.testsuite.TestProperty


    }
  }

  public void moveProperty( String propertyName, int targetIndex )
  {
    TestProperty property = getProperty( propertyName );
    int ix = propertyList.indexOf( property );

    if( ix == targetIndex )
      return;
View Full Code Here


      for( SecurityCheckedParameter param : getParameterHolder().getParameterList() )
      {
        if( parameterMutations.containsKey( param ) )
          if( parameterMutations.get( param ).size() > 0 )
          {
            TestProperty property = getTestStep().getProperties().get( param.getName() );
            String value = context.expand( property.getValue() );
            if( param.getXpath() == null || param.getXpath().trim().length() == 0 )
            {
              testStep.getProperties().get( param.getName() )
                  .setValue( parameterMutations.get( param ).get( 0 ) );
              params.put( param.getLabel(), parameterMutations.get( param ).get( 0 ) );
              parameterMutations.get( param ).remove( 0 );
            }
            else
            {
              // no value, do nothing.
              if( value == null || value.trim().equals( "" ) )
                continue;
              // XmlObjectTreeModel model = new XmlObjectTreeModel(
              // property.getSchemaType().getTypeSystem(),
              // XmlObject.Factory.parse( value ) );
              XmlObjectTreeModel model = new XmlObjectTreeModel( property.getSchemaType().getTypeSystem(),
                  XmlUtils.createXmlObject( value ) );
              XmlTreeNode[] nodes = model.selectTreeNodes( context.expand( param.getXpath() ) );
              for( XmlTreeNode node : nodes )
                node.setValue( 1, parameterMutations.get( param ).get( 0 ) );
              params.put( param.getLabel(), parameterMutations.get( param ).get( 0 ) );
              parameterMutations.get( param ).remove( 0 );

              testStep.getProperties().get( param.getName() ).setValue( model.getXmlObject().toString() );
            }
            break;
          }
      }
    }
    else
    {
      for( TestProperty property : testStep.getPropertyList() )
      {
        String value = context.expand( property.getValue() );
        if( XmlUtils.seemsToBeXml( value ) )
        {
          XmlObjectTreeModel model = null;
          // model = new XmlObjectTreeModel(
          // property.getSchemaType().getTypeSystem(),
          // XmlObject.Factory.parse( value ) );
          model = new XmlObjectTreeModel( property.getSchemaType().getTypeSystem(), XmlUtils
              .createXmlObject( value ) );
          for( SecurityCheckedParameter param : getParameterHolder().getParameterList() )
          {
            if( !param.isChecked() )
              continue;

            if( param.getXpath() == null || param.getXpath().trim().length() == 0 )
            {
              if( parameterMutations.containsKey( param ) )
              {
                testStep.getProperties().get( param.getName() ).setValue(
                    parameterMutations.get( param ).get( 0 ) );
                params.put( param.getLabel(), parameterMutations.get( param ).get( 0 ) );
                parameterMutations.get( param ).remove( 0 );
              }
            }
            else
            {
              // no value, do nothing.
              if( value == null || value.trim().equals( "" ) )
                continue;
              if( param.getName().equals( property.getName() ) )
              {
                XmlTreeNode[] nodes = model.selectTreeNodes( context.expand( param.getXpath() ) );
                if( parameterMutations.containsKey( param ) )
                  if( parameterMutations.get( param ).size() > 0 )
                  {
                    for( XmlTreeNode node : nodes )
                      node.setValue( 1, parameterMutations.get( param ).get( 0 ) );
                    params.put( param.getLabel(), parameterMutations.get( param ).get( 0 ) );
                    parameterMutations.get( param ).remove( 0 );
                  }
              }
            }
          }
          if( model != null )
            property.setValue( model.getXmlObject().toString() );
        }
      }
    }
    return params;
  }
View Full Code Here

    for( SecurityCheckedParameter parameter : getParameterHolder().getParameterList() )
    {

      if( parameter.isChecked() )
      {
        TestProperty property = testStep.getProperties().get( parameter.getName() );
        // check parameter does not have any xpath
        // than mutate whole parameter
        if( parameter.getXpath() == null || parameter.getXpath().trim().length() == 0 )
        {
          for( String sqlInjectionString : sqlInjectionConfig.getSqlInjectionStringsList() )
          {

            if( !parameterMutations.containsKey( parameter ) )
              parameterMutations.put( parameter, new ArrayList<String>() );
            parameterMutations.get( parameter ).add( sqlInjectionString );

          }
        }
        else
        {
          // we have xpath but do we have xml which need to mutate
          // ignore if there is no value, since than we'll get exception
          if( property.getValue() == null && property.getDefaultValue() == null )
            continue;
          // get value of that property
          String value = context.expand( property.getValue() );

          // we have something that looks like xpath, or hope so.

          XmlObjectTreeModel model = null;

          // model = new XmlObjectTreeModel(
          // property.getSchemaType().getTypeSystem(),
          // XmlObject.Factory.parse( value ) );
          model = new XmlObjectTreeModel( property.getSchemaType().getTypeSystem(), XmlUtils
              .createXmlObject( value ) );

          XmlTreeNode[] nodes = model.selectTreeNodes( context.expand( parameter.getXpath() ) );

          // for each invalid type set all nodes
View Full Code Here

    List<XPathReference> result = new ArrayList<XPathReference>();

    if( StringUtils.hasContent( getPath() ) )
    {
      TestModelItem testStep = getAssertable().getTestStep();
      TestProperty property = testStep instanceof WsdlTestRequestStep ? testStep.getProperty( "Response" )
          : testStep.getProperty( "Request" );
      result.add( new XPathReferenceImpl( "XPath for " + getName() + " XPathContainsAssertion in "
          + testStep.getName(), property, this, "path" ) );
    }
View Full Code Here

      for( SecurityCheckedParameter param : getParameterHolder().getParameterList() )
      {
        if( parameterMutations.containsKey( param ) )
          if( parameterMutations.get( param ).size() > 0 )
          {
            TestProperty property = getTestStep().getProperties().get( param.getName() );
            String value = context.expand( property.getValue() );
            if( param.getXpath() == null || param.getXpath().trim().length() == 0 )
            {
              testStep.getProperties().get( param.getName() )
                  .setValue( parameterMutations.get( param ).get( 0 ) );
              params.put( param.getLabel(), parameterMutations.get( param ).get( 0 ) );
              parameterMutations.get( param ).remove( 0 );
            }
            else
            {
              // no value, do nothing.
              if( value == null || value.trim().equals( "" ) )
                continue;
              // XmlObjectTreeModel model = new XmlObjectTreeModel(
              // property.getSchemaType().getTypeSystem(),
              // XmlObject.Factory.parse( value ) );
              XmlObjectTreeModel model = new XmlObjectTreeModel( property.getSchemaType().getTypeSystem(),
                  XmlUtils.createXmlObject( value ) );
              XmlTreeNode[] nodes = model.selectTreeNodes( context.expand( param.getXpath() ) );
              for( XmlTreeNode node : nodes )
                node.setValue( 1, parameterMutations.get( param ).get( 0 ) );
              params.put( param.getLabel(), parameterMutations.get( param ).get( 0 ) );
              parameterMutations.get( param ).remove( 0 );

              testStep.getProperties().get( param.getName() ).setValue( model.getXmlObject().toString() );
            }

            break;
          }
      }
    }
    else
    {
      for( TestProperty property : testStep.getPropertyList() )
      {

        String value = context.expand( property.getValue() );
        if( XmlUtils.seemsToBeXml( value ) )
        {
          XmlObjectTreeModel model = null;
          // model = new XmlObjectTreeModel(
          // property.getSchemaType().getTypeSystem(),
          // XmlObject.Factory.parse( value ) );
          model = new XmlObjectTreeModel( property.getSchemaType().getTypeSystem(),
              XmlUtils.createXmlObject( value ) );
          for( SecurityCheckedParameter param : getParameterHolder().getParameterList() )
          {
            if( !param.isChecked() )
              continue;

            if( param.getXpath() == null || param.getXpath().trim().length() == 0 )
            {
              if( parameterMutations.containsKey( param ) )
              {
                testStep.getProperties().get( param.getName() )
                    .setValue( parameterMutations.get( param ).get( 0 ) );
                params.put( param.getLabel(), parameterMutations.get( param ).get( 0 ) );
                parameterMutations.get( param ).remove( 0 );
              }
            }
            else
            {
              // no value, do nothing.
              if( value == null || value.trim().equals( "" ) )
                continue;
              if( param.getName().equals( property.getName() ) )
              {
                XmlTreeNode[] nodes = model.selectTreeNodes( context.expand( param.getXpath() ) );
                if( parameterMutations.containsKey( param ) )
                  if( parameterMutations.get( param ).size() > 0 )
                  {
                    for( XmlTreeNode node : nodes )
                      node.setValue( 1, parameterMutations.get( param ).get( 0 ) );
                    params.put( param.getLabel(), parameterMutations.get( param ).get( 0 ) );
                    parameterMutations.get( param ).remove( 0 );
                  }
              }
            }
          }
          if( model != null )
            property.setValue( model.getXmlObject().toString() );
        }

      }
    }
    return params;
View Full Code Here

    // for each parameter
    for( SecurityCheckedParameter parameter : getParameterHolder().getParameterList() )
    {
      if( parameter.isChecked() )
      {
        TestProperty property = testStep.getProperties().get( parameter.getName() );
        // check parameter does not have any xpath
        // than mutate whole parameter
        if( parameter.getXpath() == null || parameter.getXpath().trim().length() == 0 )
        {
          for( String xpathInjectionString : xpathList.getXpathListList() )
          {

            if( !parameterMutations.containsKey( parameter ) )
              parameterMutations.put( parameter, new ArrayList<String>() );
            parameterMutations.get( parameter ).add( xpathInjectionString );

          }
        }
        else
        {
          // we have xpath but do we have xml which need to mutate
          // ignore if there is no value, since than we'll get exception
          if( property.getValue() == null && property.getDefaultValue() == null )
            continue;
          // get value of that property
          String value = context.expand( property.getValue() );

          // we have something that looks like xpath, or hope so.

          XmlObjectTreeModel model = null;

          // model = new XmlObjectTreeModel(
          // property.getSchemaType().getTypeSystem(),
          // XmlObject.Factory.parse( value ) );
          model = new XmlObjectTreeModel( property.getSchemaType().getTypeSystem(),
              XmlUtils.createXmlObject( value ) );

          XmlTreeNode[] nodes = model.selectTreeNodes( context.expand( parameter.getXpath() ) );

          // for each invalid type set all nodes
View Full Code Here

    return actualSourceStep == null ? null : actualSourceStep.getProperty( sourceType );
  }

  public String[] transferProperties( SubmitContext context ) throws PropertyTransferException
  {
    TestProperty sourceProperty = getSourceProperty();
    TestProperty targetProperty = getTargetProperty();

    try
    {
      if( sourceProperty == null )
        throw new Exception( "Missing source property" );
View Full Code Here

    TestPropertyHolder actualSourceStep = getSourceStep();
    if( actualSourceStep == null )
      return sourceType;

    TestProperty property = actualSourceStep.getProperty( sourceType );
    return property == null ? sourceType : property.getName();
  }
View Full Code Here

    if( currentTargetProperty != null )
      return currentTargetProperty.getName();

    TestPropertyHolder actualTargetStep = getTargetStep();
    TestProperty property = actualTargetStep == null ? null : actualTargetStep.getProperty( targetType );
    return actualTargetStep == null || property == null ? targetType : property.getName();
  }
View Full Code Here

      for( SecurityCheckedParameter param : getParameterHolder().getParameterList() )
      {
        if( parameterMutations.containsKey( param ) )
          if( parameterMutations.get( param ).size() > 0 )
          {
            TestProperty property = testStep.getProperties().get( param.getName() );
            String value = context.expand( property.getValue() );
            if( param.getXpath() == null || param.getXpath().trim().length() == 0 )
            {
              // no xpath ignore
            }
            else
            {
              // no value, do nothing.
              if( value == null || value.trim().equals( "" ) )
                continue;
              // XmlObjectTreeModel model = new XmlObjectTreeModel(
              // property.getSchemaType().getTypeSystem(),
              // XmlObject.Factory.parse( value ) );
              XmlObjectTreeModel model = new XmlObjectTreeModel( property.getSchemaType().getTypeSystem(),
                  XmlUtils.createXmlObject( value ) );
              XmlTreeNode[] nodes = model.selectTreeNodes( context.expand( param.getXpath() ) );
              StringBuffer buffer = new StringBuffer( value );
              for( int cnt = 0; cnt < nodes.length; cnt++ )
              {
                // find right node
                // this finds where node that needs updateing begins
                int start = value.indexOf( "<" + nodes[cnt].getNodeName() ); // keeps
                // node
                // start
                int cnt2 = 0;
                // if have more than one node that matches xpath, find
                // next one.
                while( cnt2 < cnt )
                {
                  start = value.indexOf( "<" + nodes[cnt].getNodeName(), start + 1 );
                  cnt2++ ;
                }
                // get node xml
                String nodeXml = getXmlForNode( nodes[cnt] );
                // find end of target xml node
                int end = value.indexOf( "<" + nodes[cnt].getNodeName(), start + 1 );
                if( end <= 0 )
                {
                  if( nodeXml.endsWith( "</" + nodes[cnt].getDomNode().getNodeName() + ">" ) )
                  {
                    end = value.indexOf( "</" + nodes[cnt].getDomNode().getNodeName() + ">" )
                        + ( "</" + nodes[cnt].getDomNode().getNodeName() + ">" ).length();
                  }
                  else
                  {
                    end = value.indexOf( ">", value.indexOf( "/", start ) );
                  }
                }
                if( end <= 0 || end <= start )
                  break;
                // replace node with right value
                buffer.replace( start, end + 1, parameterMutations.get( param ).get( 0 ) );
              }
              params.put( param.getLabel(), parameterMutations.get( param ).get( 0 ) );
              parameterMutations.get( param ).remove( 0 );

              testStep.getProperties().get( param.getName() ).setValue( buffer.toString() );
            }

            break;
          }
      }
    }
    else
    {
      for( TestProperty property : testStep.getPropertyList() )
      {

        String value = context.expand( property.getValue() );
        if( XmlUtils.seemsToBeXml( value ) )
        {
          StringBuffer buffer = new StringBuffer( value );
          XmlObjectTreeModel model = null;
          // model = new XmlObjectTreeModel(
          // property.getSchemaType().getTypeSystem(),
          // XmlObject.Factory.parse( value ) );
          model = new XmlObjectTreeModel( property.getSchemaType().getTypeSystem(),
              XmlUtils.createXmlObject( value ) );
          for( SecurityCheckedParameter param : getParameterHolder().getParameterList() )
          {
            if( param.getXpath() == null || param.getXpath().trim().length() == 0 )
            {
              if( parameterMutations.containsKey( param ) )
              {
                testStep.getProperties().get( param.getName() )
                    .setValue( parameterMutations.get( param ).get( 0 ) );
                params.put( param.getLabel(), parameterMutations.get( param ).get( 0 ) );
                parameterMutations.get( param ).remove( 0 );
              }
            }
            else
            {
              // no value, do nothing.
              if( value == null || value.trim().equals( "" ) )
                continue;
              if( param.getName().equals( property.getName() ) )
              {
                XmlTreeNode[] nodes = model.selectTreeNodes( context.expand( param.getXpath() ) );
                if( parameterMutations.containsKey( param ) )
                  if( parameterMutations.get( param ).size() > 0 )
                  {
                    for( int cnt = 0; cnt < nodes.length; cnt++ )
                    {
                      // find right node
                      // keeps node start
                      int start = value.indexOf( "<" + nodes[cnt].getNodeName() );
                      int cnt2 = 0;
                      while( cnt2 < cnt )
                      {
                        start = value.indexOf( "<" + nodes[cnt].getNodeName(), start + 1 );
                        cnt2++ ;
                      }
                      String nodeXml = getXmlForNode( nodes[cnt] );
                      int end = value.indexOf( "<" + nodes[cnt].getNodeName(), start + 1 );
                      if( end <= 0 )
                      {
                        if( nodeXml.endsWith( "</" + nodes[cnt].getDomNode().getNodeName() + ">" ) )
                        {
                          end = value.indexOf( "</" + nodes[cnt].getDomNode().getNodeName() + ">" );
                        }
                        else
                        {
                          end = value.indexOf( ">", value.indexOf( "/", start ) );
                        }
                      }
                      if( end <= 0 || end <= start )
                        break;
                      buffer.replace( start, end + 1, parameterMutations.get( param ).get( 0 ) );
                    }
                    params.put( param.getLabel(), parameterMutations.get( param ).get( 0 ) );
                    parameterMutations.get( param ).remove( 0 );
                  }
              }
            }
          }
          if( model != null )
            property.setValue( buffer.toString() );
        }

      }
    }
    return params;
View Full Code Here

TOP

Related Classes of com.eviware.soapui.model.testsuite.TestProperty

Copyright © 2018 www.massapicom. 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.