diff --git a/plugins/NewTest.form b/plugins/NewTest.form
index 5aaf9c2..b4e4fad 100644
--- a/plugins/NewTest.form
+++ b/plugins/NewTest.form
@@ -150,6 +150,12 @@
+
+
+
+
+
+
diff --git a/plugins/NewTest.java b/plugins/NewTest.java
index 5503686..726f79b 100644
--- a/plugins/NewTest.java
+++ b/plugins/NewTest.java
@@ -30,12 +30,6 @@ import javax.swing.event.HyperlinkListener;
import javax.swing.table.DefaultTableModel;
import org.apache.commons.io.FilenameUtils;
-/*
- * To change this license header, choose License Headers in Project Properties.
- * To change this template file, choose Tools | Templates
- * and open the template in the editor.
- */
-
/**
*
* @author boccioli_m
@@ -110,6 +104,9 @@ public class NewTest extends javax.swing.JPanel {
txtTestName.setFont(new java.awt.Font("Tahoma", 0, 14)); // NOI18N
+ jComboBoxTestSuites.setMinimumSize(new java.awt.Dimension(31, 23));
+ jComboBoxTestSuites.setPreferredSize(new java.awt.Dimension(31, 23));
+
jScrollPane3.setFont(new java.awt.Font("Tahoma", 0, 14)); // NOI18N
txtTestDescription.setColumns(20);
@@ -232,6 +229,7 @@ public class NewTest extends javax.swing.JPanel {
}
}//GEN-LAST:event_jMenuItemReleteRowActionPerformed
+ //constant declarations
public static Path TESTS_DEVICES_DEFAULT_DIR = Paths.get(".", "home", "script", "tests", "devices");
public static Path TESTS_TESTS_DEFAULT_DIR = Paths.get(".", "home", "script", "tests", "tests");
public static Path TESTS_CONFIG_DEFAULT_DIR = Paths.get(".", "home", "script", "tests", "config");
@@ -280,9 +278,11 @@ public class NewTest extends javax.swing.JPanel {
testParams = "";
}
ist.close();
+ //separate items in string by building a HashMap
HashMap hParams = (HashMap) buildParametersMap(testParams);
String name="", value="", description="";
DefaultTableModel model = (DefaultTableModel) jTableParams.getModel();
+ //put items in table
for(Object entry : hParams.keySet()){
Object param = entry;
if(param instanceof String){
@@ -338,6 +338,11 @@ public class NewTest extends javax.swing.JPanel {
return mParameters;
}
+ /**
+ * Pick the items one by one from the table and build a HashMap.
+ * For details on the HashMap structure, see buildParametersMap()
+ * @return contains the test parameters.
+ */
private HashMap getParametersFromTable(){
HashMap mParameters = new HashMap(); // contains name and attributes
HashMap mParameterAttributes = new HashMap(); //contians value and description
@@ -354,6 +359,11 @@ public class NewTest extends javax.swing.JPanel {
return mParameters;
}
+ /**
+ * verifies that the data introduced in the fields is correct
+ * i.e. fields filled, and only allowed characters
+ * @return true if the data is correct, false if else
+ */
public boolean checkDataFields(){
//check compulsory data fields
if(this.txtTestName.getText().isEmpty() ||
@@ -392,7 +402,10 @@ public class NewTest extends javax.swing.JPanel {
return true;
}
-
+ /**
+ * pick the data introduced by the user
+ * and create folders and files for the new test to generate
+ */
public void generateTestFiles(){
HashMap hmTestParams = (HashMap) getParametersFromTable();
if(sType.equals("Device")){
@@ -408,6 +421,14 @@ public class NewTest extends javax.swing.JPanel {
}
}
+ /**
+ * create folders and files for the new test to generate
+ *
+ * @param sTestName name of the test
+ * @param sTestDescription description of the test
+ * @param sTestSuite test cases/test suite name
+ * @param hmTestParams test parameters. For the details of the structure, see buildParametersMap
+ */
public void generateTestFiles(String sTestName,
String sTestDescription,
String sTestSuite,
@@ -464,6 +485,14 @@ public class NewTest extends javax.swing.JPanel {
}
}
+ /**
+ * create folders and files for the new device to generate
+ *
+ * @param sTestName name of the test
+ * @param sTestDescription description of the test
+ * @param sTestSuite test cases/test suite name
+ * @param hmTestParams test parameters. For the details of the structure, see buildParametersMap
+ */
public void generateDeviceFiles(String sTestName,
String sTestDescription,
String sTestSuite,
@@ -500,7 +529,16 @@ public class NewTest extends javax.swing.JPanel {
}
-
+ /**
+ * generate the python script that runs the test
+ *
+ * @param testDir path where the test is located (including the test name dir)
+ * @param sTestName name of the test
+ * @param sTestDescription description of the test
+ * @param sTestSuite test cases/test suite name
+ * @param hmTestParams test parameters. For the details of the structure, see buildParametersMap
+ * @return true if success, false if else
+ */
public boolean generateTestScript(Path testDir,
String sTestName,
String sTestDescription,
@@ -539,6 +577,18 @@ public class NewTest extends javax.swing.JPanel {
return success;
}
+ /**
+ * generate the python script that runs the test
+ *
+ * @param templateDir the path of the template to be used for the generation of theconfig.
+ * it can be: TEMPLATES_TESTCONFIG_FILEPATH, TEMPLATES_DEVICECONFIG_FILEPATH
+ * @param testDir path where the test is located (including the test name dir)
+ * @param sTestName name of the test
+ * @param sTestDescription description of the test
+ * @param sTestSuite test cases/test suite name
+ * @param hmTestParams test parameters. For the details of the structure, see buildParametersMap
+ * @return true if success, false if else
+ */
public boolean generateTestConfig(Path templateDir,
Path testDir,
String sTestName,
@@ -574,10 +624,12 @@ public class NewTest extends javax.swing.JPanel {
in.close();
FileOutputStream out = new FileOutputStream(configFile);
if(sType.equals("Devices")){
+ //creation of device config
props.setProperty("name", sTestName);
props.setProperty("description", sTestDescription);
props.setProperty("parameters", sTestParameters);
}else{
+ //creation of test config
props.setProperty("name", sTestName);
props.setProperty("description", sTestDescription);
props.setProperty("tests", sTestSuite);
@@ -595,6 +647,17 @@ public class NewTest extends javax.swing.JPanel {
return success;
}
+
+ /**
+ * generate the html help file of the test
+ *
+ * @param testDir path where the test is located (including the test name dir)
+ * @param sTestName name of the test
+ * @param sTestDescription description of the test
+ * @param sTestSuite test cases/test suite name
+ * @param hmTestParams test parameters. For the details of the structure, see buildParametersMap
+ * @return true if success, false if else
+ */
public boolean generateTestHelp(Path testDir,
String sTestName,
String sTestDescription,
@@ -633,7 +696,17 @@ public class NewTest extends javax.swing.JPanel {
return success;
}
-
+ /**
+ * replace thetemplateparameters(usually starting with $) with real values
+ *
+ * @param path path of the file whose parameters must be replaced
+ * @param parameterNames array of template parameters names that must be searched in the file.
+ * the size must be equal to the size of parameterValues
+ * @param parameterValues array of template parameters values
+ * that must replace the template parameter names in the file.
+ * the size must be equal to the size of parameterNames
+ * @return
+ */
public boolean replaceParameters(Path path,
String parameterNames[],
String parameterValues[]){