Package com.eviware.soapui.model.testsuite

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


    public ModelItem getModelItem() {
        return modelItem;
    }

    public void moveProperty(String propertyName, int targetIndex) {
        TestProperty property = getProperty(propertyName);
        int ix = properties.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;
                            }
                            if (XmlUtils.seemsToBeXml(value))
                            // try
                            {
                                // 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.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;
                            }
                            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());
                    }

                }
            }
        }
View Full Code Here

        mutation = true;
        // for each parameter
        for (SecurityCheckedParameter parameter : getParameterHolder().getParameterList()) {

            if (parameter.isChecked()) {
                TestProperty property = getTestStep().getProperties().get(parameter.getName());
                // no xpath, just put invalid type value in parameter value
                if (parameter.getXpath() == null || parameter.getXpath().trim().length() == 0) {
                    for (SchemaTypeForSecurityScanConfig invalidType : invalidTypeConfig.getTypesListList()) {

                        if (!parameterMutations.containsKey(parameter)) {
                            parameterMutations.put(parameter, new ArrayList<String>());
                        }
                        parameterMutations.get(parameter).add(invalidType.getValue());

                    }
                } 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());

                    if (XmlUtils.seemsToBeXml(value)) {

                        // 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(parameter.getXpath()));

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

        if (parameter == null) {
            return;
        }
        String name = parameter.getName();
        String xpath = parameter.getXpath();
        TestProperty tp = getTestStep().getProperty(name);
        XmlObjectTreeModel xmlObjectTreeModel = null;
        if (tp.getSchemaType() != null && XmlUtils.seemsToBeXml(tp.getValue())) {
            try {
                // xmlObjectTreeModel = new XmlObjectTreeModel(
                // tp.getSchemaType().getTypeSystem(),
                // XmlObject.Factory.parse( tp.getValue() ) );
                xmlObjectTreeModel = new XmlObjectTreeModel(tp.getSchemaType().getTypeSystem(),
                        XmlUtils.createXmlObject(tp.getValue()));
            } catch (XmlException e) {
                SoapUI.logError(e);
            }

            XmlTreeNode[] treeNodes = xmlObjectTreeModel.selectTreeNodes(xpath);
View Full Code Here

       * Idea is to drain for each parameter mutations.
       */
            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

        mutation = true;
        // 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 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

                if (value != null) {
                    return value;
                }
            }

            TestProperty property = holder.getProperty(name);

            if (property != null) {
                return context == null ? ResolverUtils.extractXPathPropertyValue(property, xpath) : ResolverUtils
                        .extractXPathPropertyValue(property, PropertyExpander.expandProperties(context, xpath));
            }
        } else {
            if (globalOverride) {
                String value = PropertyExpansionUtils.getGlobalProperty(name);
                if (value != null) {
                    return value;
                }
            }

            TestProperty property = holder.getProperty(name);
            if (property != null) {
                return property.getValue();
            }
        }

        return null;
    }
View Full Code Here

                    name = name.substring(0, sepIx);
                }

                if (step != null) {
                    if (ts != null) {
                        TestProperty p = ts.getProperty(name);
                        if (p != null) {
                            property = p.getValue();
                        }
                    }
                } else {
                    property = context.getProperty(name);
                }
View Full Code Here

       * Idea is to drain for each parameter mutations.
       */
            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());
                    }
                }

            }
        }
View Full Code Here

            IOException {
        mutation = true;
        // for each parameter
        for (SecurityCheckedParameter parameter : getParameterHolder().getParameterList()) {
            if (parameter.isChecked()) {
                TestProperty property = getTestStep().getProperties().get(parameter.getName());
                // check parameter does not have any xpath
                if (parameter.getXpath() == null || parameter.getXpath().trim().length() == 0) {
          /*
           * parameter xpath is not set ignore than ignore this parameter
           */
                } 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)) {
                        // get value of that property
                        String value = context.expand(property.getValue());

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

                        // 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(parameter.getXpath()));

                        if (nodes.length > 0 && !(nodes[0] instanceof AttributeXmlTreeNode)) {
                            if (!parameterMutations.containsKey(parameter)) {
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.