package org.syftkog.web.test.framework;
import java.net.InetAddress;
import java.net.UnknownHostException;
import java.text.SimpleDateFormat;
import java.util.Calendar;
/**
*
* @author BenjaminLimb
*/
public class TestRunEnvironment {
private static Calendar cal = Calendar.getInstance();
private static String DATE_FORMAT_NOW = "yyyy-MM-dd HH:mm:ss";
private static SimpleDateFormat sdf = new SimpleDateFormat(DATE_FORMAT_NOW);
private static String dateTimeStamp = sdf.format(cal.getTime());
private static String hostName = "";
private static String hostaddr = "";
private static Long time = System.currentTimeMillis();
/**
*
* @param jobNameKey
* @param displayNameKey
* @return
*/
public static String getJenkinsRunId(String jobNameKey, String displayNameKey) {
String jenkinsRunId = null;
String jobName = getSystemValue(jobNameKey);
if ((null != jobName) && (!jobName.equals(""))) {
jenkinsRunId = jobName;
}
String displayName = getSystemValue(displayNameKey);
if ((null != displayName) && (!displayName.equals(""))) {
jenkinsRunId = jenkinsRunId + displayName;
}
return jenkinsRunId;
}
/**
*
* @param key
* @return
*/
public static String getSystemValue(String key) {
String val = System.getProperty(key);
if (val != null) {
return val;
}
return System.getenv(key);
}
private static void setInet() {
try {
InetAddress addr = InetAddress.getLocalHost();
hostName = addr.getHostName();
hostaddr = addr.getHostAddress();
} catch (UnknownHostException e) {
//Swallow it and return "".
}
}
/**
*
* @return
*/
public static String getHostName() {
if (hostName.equals("")) {
setInet();
}
return hostName;
}
/**
*
* @return
*/
public static String getHostAddr() {
if (hostaddr.equals("")) {
setInet();
}
return hostaddr;
}
/**
*
* @return
*/
public static String getRunId() {
String id1 = getSystemValue("PROMOTED_ID");
String id2 = getSystemValue("BUILD_ID");
String id3 = getJenkinsRunId("JOB_NAME", "BUILD_DISPLAY_NAME");
String id4 = getSystemValue("COMMANDER_JOBID");
return (id1 != null) ? id1 : (id2 != null) ? id2 : (id3 != null) ? id3 : (id4 != null) ? id4 : dateTimeStamp;
}
}