package com.yahoo.dtf;
/**
* @dtf.feature Internal Properties
* @dtf.feature.group DTF Properties
*
* @dtf.feature.desc
* <p>
* DTF has some internal properties which are useful for writing test case and
* that allow you to do small things you wouldn't otherwise know how to do, here
* are the currently available internal DTF properties:
* </p>
*
* <table border='1'>
* <tr><th>Property</th><th>Description</ht></tr>
* <tr><td>dtf.xml.path</td>
* <td>Assigned at the beginning of any DTF run and is always assigned
* to the location of the XML that defines the currently executed
* test case.</td>
* </tr>
* <tr><td>dtf.script.id</td>
* <td>This is assigned the name of your script that is defined by the
* name attribute of the script tag.</td>
* </tr>
* <tr><td>dtf.timestamp</td>
* <td>Retrieves the System.currentMilliseconds() value dynamically at
* execution time of the test case.</td>
* </tr>
* <tr><td>dtf.randomInt</td>
* <td>Gets a random int value using java.util.Random</td>
* </tr>
* <tr><td>dtf.randomLong</td>
* <td>Gets a random long value using java.util.Random</td>
* </tr>
* <tr><td>dtf.randomDouble</td>
* <td>Gets a random double value using java.util.Random</td>
* </tr>
* <tr><td>dtf.gaussianLong</td>
* <td>Generates a random Long that follows a normal gaussian
* distribution.</td>
* </tr>
* </table>
*
* <p>
* The random generators can also be passed arguments to specify limits when
* generating random numbers, like so:
* </p>
*
* <pre>
* ${dtf.randomInt(1000)} - generate a random upto 1000
* ${dtf.randomDouble(-100,100)} - generate a random double between -100 and 100
* </pre>
*
*/
public class DTFProperties {
// DTF properties
public final static String DTF_VERSION = "dtf.version";
// DTF Home directory used internally to find libs and properties files
public final static String DTF_HOME = "dtf.home";
// node properties
public final static String DTF_NODE_TYPE = "dtf.node.type";
public final static String DTF_NODE_OS = "dtf.os.name";
public final static String DTF_NODE_OS_ARCH = "dtf.os.arch";
public final static String DTF_NODE_OS_VER = "dtf.os.version";
public final static String DTF_BUILD_ID = "dtf.build.id";
// listening properties
public final static String DTF_LISTEN_ADDR = "dtf.listen.addr";
public final static String DTF_LISTEN_PORT = "dtf.listen.port";
public final static int DTF_LISTEN_PORT_DEFAULT = 20000;
// connect properties
public final static String DTF_CONNECT_ADDR = "dtf.connect.addr";
public final static String DTF_CONNECT_ADDR_DEFAULT = "127.0.0.1";
public final static String DTF_CONNECT_PORT = "dtf.connect.port";
public final static int DTF_CONNECT_PORT_DEFAULT = 20000;
// debug properties
public final static String DTF_DEBUG_PORT = "dtf.debug.port";
// tracing dtf
public final static String DTF_TRACING = "dtf.tracing";
// XML file properties
public final static String DTF_XML_FILENAME = "dtf.xml.filename";
public final static String DTF_XML_PATH = "dtf.xml.path";
// DTD file
public final static String DTF_XSD_FILENAME = "dtf.xsd.filename";
// DTF Tunneling properties
public final static String DTF_TUNNELED = "dtf.tunneled";
// Results properties
public final static String DTF_TESTCASE_LOG = "test.log.filename";
public final static String DTF_LOGGING_FORMAT
= "log4j.appender.STDOUT.layout.ConversionPattern";
// Default properties file to load startup
public final static String DTF_DEFAULTS = "dtf.defaults";
}