Package com.eviware.soapui.impl.wsdl.panels.support

Source Code of com.eviware.soapui.impl.wsdl.panels.support.MockSecurityTestRunner

package com.eviware.soapui.impl.wsdl.panels.support;

import org.apache.log4j.Logger;

import com.eviware.soapui.config.TestStepConfig;
import com.eviware.soapui.impl.wsdl.teststeps.WsdlTestStep;
import com.eviware.soapui.impl.wsdl.teststeps.registry.WsdlTestStepFactory;
import com.eviware.soapui.impl.wsdl.teststeps.registry.WsdlTestStepRegistry;
import com.eviware.soapui.model.security.SecurityScan;
import com.eviware.soapui.model.testsuite.Assertable;
import com.eviware.soapui.model.testsuite.TestAssertion;
import com.eviware.soapui.model.testsuite.TestStep;
import com.eviware.soapui.security.SecurityTest;
import com.eviware.soapui.security.SecurityTestRunContext;
import com.eviware.soapui.security.SecurityTestRunner;
import com.eviware.soapui.security.result.SecurityScanResult;

public class MockSecurityTestRunner extends AbstractMockTestRunner<SecurityTest> implements SecurityTestRunner
{

  private SecurityTest securityTest;

  public MockSecurityTestRunner( SecurityTest modelItem )
  {
    super( modelItem, null );
  }

  public MockSecurityTestRunner( SecurityTest modelItem, Logger logger )
  {
    super( modelItem, logger );
    this.securityTest = modelItem;
  }

  @Override
  public SecurityTest getSecurityTest()
  {
    return securityTest;
  }

  @Override
  public SecurityScanResult runTestStepSecurityScan( SecurityTestRunContext runContext, TestStep testStep,
      SecurityScan securityCheck )
  {
    return securityCheck.run( cloneForSecurityScan( ( WsdlTestStep )testStep ), runContext, null );
  }

  private TestStep cloneForSecurityScan( WsdlTestStep sourceTestStep )
  {
    WsdlTestStep clonedTestStep = null;
    TestStepConfig testStepConfig = ( TestStepConfig )sourceTestStep.getConfig().copy();
    WsdlTestStepFactory factory = WsdlTestStepRegistry.getInstance().getFactory( testStepConfig.getType() );
    if( factory != null )
    {
      clonedTestStep = factory.buildTestStep( securityTest.getTestCase(), testStepConfig, false );
      if( clonedTestStep instanceof Assertable )
      {
        for( TestAssertion assertion : ( ( Assertable )clonedTestStep ).getAssertionList() )
        {
          ( ( Assertable )clonedTestStep ).removeAssertion( assertion );
        }
      }
    }
    return clonedTestStep;
  }

}
TOP

Related Classes of com.eviware.soapui.impl.wsdl.panels.support.MockSecurityTestRunner

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.