package com.intuit.tank.common;
/*
* #%L
* Common
* %%
* 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 org.junit.Assert;
import org.testng.annotations.DataProvider;
import org.testng.annotations.Test;
import com.intuit.tank.common.ScriptUtil;
import com.intuit.tank.project.RequestData;
import com.intuit.tank.project.ScriptStep;
import com.intuit.tank.vm.common.TankConstants;
import com.intuit.tank.test.TestGroups;
public class ScriptUtilTest {
@DataProvider(name = "csvData")
private Object[][] testData() {
return new Object[][] {
{ "#{ioFunctions.getCSVData()}", TankConstants.DEFAULT_CSV_FILE_NAME },
{ "#{ioFunctions.getCSVData(0)}", TankConstants.DEFAULT_CSV_FILE_NAME },
{ "#{ioFunctions.getCSVData( 1 )}", TankConstants.DEFAULT_CSV_FILE_NAME },
{ "#{ioFunctions.getCSVData( 1 , true)}", TankConstants.DEFAULT_CSV_FILE_NAME },
{ "#{ioFunctions.getCSVData('filename.csv')}", "'filename.csv'" },
{ "#{ioFunctions.getCSVData(\"filename.csv\", 1)}", "\"filename.csv\"" },
{ "#{ioFunctions.getCSVData('filename.csv', 1, true)}", "'filename.csv'" },
{ "#{ioFunctions.getCSVData(myVariable)}", "myVariable" }
};
}
@Test(groups = TestGroups.FUNCTIONAL, dataProvider = "csvData")
public void testVariableExtraction(String input, String output) {
ScriptStep step = buildVariableStep(input);
String dataFile = ScriptUtil.getDataFileUse(step);
Assert.assertEquals(output, dataFile);
}
private ScriptStep buildVariableStep(String input) {
ScriptStep ret = new ScriptStep();
ret.setType("variable");
ret.getData().add(new RequestData("myVar", input, null));
return ret;
}
}