com.intuit.tank.script.ScriptStepFactory.java Source code

Java tutorial

Introduction

Here is the source code for com.intuit.tank.script.ScriptStepFactory.java

Source

package com.intuit.tank.script;

/*
 * #%L
 * JSF Support Beans
 * %%
 * Copyright (C) 2011 - 2015 Intuit Inc.
 * %%
 * 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
 * #L%
 */

import java.util.HashSet;
import java.util.Set;

import org.apache.commons.lang3.StringUtils;

import com.intuit.tank.common.ScriptUtil;
import com.intuit.tank.http.AuthScheme;
import com.intuit.tank.project.RequestData;
import com.intuit.tank.project.ScriptStep;
import com.intuit.tank.script.ScriptConstants;

public class ScriptStepFactory {

    public static ScriptStep createVariable(String key, String value) {
        ScriptStep step = new ScriptStep();
        step.setType(ScriptConstants.VARIABLE);
        RequestData reqData = new RequestData();
        reqData.setKey(key);
        reqData.setValue(value);
        Set<RequestData> set = new HashSet<RequestData>();
        set.add(reqData);
        step.setData(set);
        return step;
    }

    public static ScriptStep createThinkTime(String minTime, String maxTime) {
        ScriptStep think = new ScriptStep();
        think.setType(ScriptConstants.THINK_TIME);

        RequestData minRD = new RequestData();
        minRD.setType(ScriptConstants.THINK_TIME);
        minRD.setKey(ScriptConstants.MIN_TIME);
        minRD.setValue(minTime);

        RequestData maxRD = new RequestData();
        maxRD.setType(ScriptConstants.THINK_TIME);
        maxRD.setKey(ScriptConstants.MAX_TIME);
        maxRD.setValue(maxTime);

        Set<RequestData> ds = new HashSet<RequestData>();
        ds.add(minRD);
        ds.add(maxRD);
        think.setData(ds);
        think.setComments("ThinkTime " + minRD.getValue() + "-" + maxRD.getValue());

        return think;
    }

    public static ScriptStep createAuthentication(String userName, String password, String realm, AuthScheme scheme,
            String host, String port) {
        ScriptStep ret = new ScriptStep();
        ret.setType(ScriptConstants.AUTHENTICATION);
        Set<RequestData> ds = new HashSet<RequestData>();

        RequestData rd = new RequestData();
        rd.setType(ScriptConstants.AUTHENTICATION);
        rd.setKey(ScriptConstants.AUTH_USER_NAME);
        rd.setValue(userName);
        ds.add(rd);

        rd = new RequestData();
        rd.setType(ScriptConstants.AUTHENTICATION);
        rd.setKey(ScriptConstants.AUTH_PASSWORD);
        rd.setValue(password);
        ds.add(rd);

        rd = new RequestData();
        rd.setType(ScriptConstants.AUTHENTICATION);
        rd.setKey(ScriptConstants.AUTH_REALM);
        rd.setValue(realm);
        ds.add(rd);

        rd = new RequestData();
        rd.setType(ScriptConstants.AUTHENTICATION);
        rd.setKey(ScriptConstants.AUTH_SCHEME);
        rd.setValue(scheme.name());
        ds.add(rd);

        rd = new RequestData();
        rd.setType(ScriptConstants.AUTHENTICATION);
        rd.setKey(ScriptConstants.AUTH_HOST);
        rd.setValue(host);
        ds.add(rd);

        rd = new RequestData();
        rd.setType(ScriptConstants.AUTHENTICATION);
        rd.setKey(ScriptConstants.AUTH_PORT);
        rd.setValue(port);
        ds.add(rd);

        ret.setData(ds);
        ScriptUtil.updateStepLabel(ret);
        ret.setComments("Authenticator " + scheme.name() + " " + host);
        return ret;
    }

    public static ScriptStep createSleepTime(String delay) {
        ScriptStep sleep = new ScriptStep();
        sleep.setType(ScriptConstants.SLEEP);
        sleep.setComments("SLEEP " + delay);
        RequestData data = new RequestData();
        data.setType(ScriptConstants.SLEEP);
        data.setKey(ScriptConstants.TIME);
        data.setValue(delay);
        Set<RequestData> ds = new HashSet<RequestData>();
        ds.add(data);
        sleep.setData(ds);
        return sleep;
    }

    public static ScriptStep createLogic(String name, String script) {
        ScriptStep ret = new ScriptStep();
        ret.setType(ScriptConstants.LOGIC);
        ret.setComments("Logic Step: " + name);
        ret.setName(name);
        RequestData data = new RequestData();
        data.setType(ScriptConstants.LOGIC);
        data.setKey(ScriptConstants.SCRIPT);
        data.setValue(script);
        Set<RequestData> ds = new HashSet<RequestData>();
        ds.add(data);
        ret.setData(ds);
        return ret;
    }

    public static ScriptStep createCookie(String name, String value, String domain, String path) {
        ScriptStep ret = new ScriptStep();
        Set<RequestData> ds = new HashSet<RequestData>();
        ret.setData(ds);
        ret.setType(ScriptConstants.COOKIE);
        RequestData data = new RequestData();
        data.setType(ScriptConstants.COOKIE);
        data.setKey(ScriptConstants.COOKIE_NAME);
        data.setValue(name);
        ds.add(data);
        data = new RequestData();
        data.setType(ScriptConstants.COOKIE);
        data.setKey(ScriptConstants.COOKIE_VALUE);
        data.setValue(value);
        ds.add(data);
        data = new RequestData();
        data.setType(ScriptConstants.COOKIE);
        data.setKey(ScriptConstants.COOKIE_DOMAIN);
        data.setValue(domain);
        ds.add(data);
        data = new RequestData();
        data.setType(ScriptConstants.COOKIE);
        data.setKey(ScriptConstants.COOKIE_PATH);
        data.setValue(StringUtils.isNotBlank(path) ? path : "/");
        ds.add(data);
        ret.setComments("Cookie Step: " + name + " = " + value);
        return ret;
    }

    public static ScriptStep createClearCookies() {
        ScriptStep clear = new ScriptStep();
        clear.setType(ScriptConstants.CLEAR);
        // clear.setData(new HashSet<RequestData>().add(arg0))
        clear.setComments("Clear Cookies");
        return clear;
    }

}