package betsy.common.timeouts.calibration; import java.math.BigDecimal; import betsy.common.timeouts.timeout.Timeout; import org.junit.After; import org.junit.Before; import org.junit.Test; import static org.junit.Assert.assertEquals; /** * @author Christoph Broeker * @version 1.0 */ public class CalibrationTimeoutTest { private String engine; private String step; private Integer value; @Before public void setUp() throws Exception { engine = "ode"; step = "deploy"; value = 30_000; } @After public void tearDown() throws Exception { engine = null; step = null; value = null; } @Test public void testConstructorWithTimeout(){ String description = "maven"; Integer timeToRepetition = 5_000; String key = engine + "." + step + "." + description; Timeout timeout = new Timeout(engine, step, description, value, timeToRepetition); CalibrationTimeout calibrationTimeout = new CalibrationTimeout(timeout); assertEquals("The engines should be equal.", engine, calibrationTimeout.getEngineOrProcessGroup()); assertEquals("The steps should be equal.", step, calibrationTimeout.getStepOrProcess()); assertEquals("The descriptions should be equal.", description, calibrationTimeout.getDescription()); assertEquals("The keys should be equal.", key, calibrationTimeout.getKey()); assertEquals("The values in ms should be equal.", value.intValue() , calibrationTimeout.getTimeoutInMs()); assertEquals("The values in sec should be equal.", new BigDecimal(value.doubleValue() / 1000), calibrationTimeout.getTimeoutInSeconds()); assertEquals("The values in min should be equal.", new BigDecimal(value.doubleValue() / 1000 / 60), calibrationTimeout.getTimeoutInMinutes()); assertEquals("The timeToRepetition in ms should be equal.", timeToRepetition.intValue(), calibrationTimeout.getTimeToRepetitionInMs()); assertEquals("The timeToRepetition in sec should be equal.", new BigDecimal(timeToRepetition.doubleValue() / 1000), calibrationTimeout.getTimeToRepetitionInSeconds()); assertEquals("The timeToRepetition in min should be equal.", new BigDecimal(timeToRepetition.doubleValue() / 1000 / 60), calibrationTimeout.getTimeToRepetitionInMinutes()); assertEquals("The statuses should be equal.", CalibrationTimeout.Status.KEPT, calibrationTimeout.getStatus()); } @Test public void testConstructor(){ String description = "maven"; Integer timeToRepetition = 5_000; String key = engine + "." + step + "." + description; CalibrationTimeout calibrationTimeout = new CalibrationTimeout(engine, step, description, value, timeToRepetition); assertEquals("The engines should be equal.", engine, calibrationTimeout.getEngineOrProcessGroup()); assertEquals("The steps should be equal.", step, calibrationTimeout.getStepOrProcess()); assertEquals("The descriptions should be equal.", description, calibrationTimeout.getDescription()); assertEquals("The keys should be equal.", key, calibrationTimeout.getKey()); assertEquals("The values in ms should be equal.", value.intValue() , calibrationTimeout.getTimeoutInMs()); assertEquals("The values in sec should be equal.", new BigDecimal(value.doubleValue() / 1000), calibrationTimeout.getTimeoutInSeconds()); assertEquals("The values in min should be equal.", new BigDecimal(value.doubleValue() / 1000 / 60), calibrationTimeout.getTimeoutInMinutes()); assertEquals("The timeToRepetition in ms should be equal.", timeToRepetition.intValue(), calibrationTimeout.getTimeToRepetitionInMs()); assertEquals("The timeToRepetition in sec should be equal.", new BigDecimal(timeToRepetition.doubleValue() / 1000), calibrationTimeout.getTimeToRepetitionInSeconds()); assertEquals("The timeToRepetition in min should be equal.", new BigDecimal(timeToRepetition.doubleValue() / 1000 / 60), calibrationTimeout.getTimeToRepetitionInMinutes()); assertEquals("The statuses should be equal.", CalibrationTimeout.Status.KEPT, calibrationTimeout.getStatus()); } @Test public void testConstructorWithoutDescription(){ Integer timeToRepetition = 5_000; CalibrationTimeout calibrationTimeout = new CalibrationTimeout(engine, step, value, timeToRepetition); String key = engine + "." + step; assertEquals("The engines should be equal.", engine, calibrationTimeout.getEngineOrProcessGroup()); assertEquals("The steps should be equal.", step, calibrationTimeout.getStepOrProcess()); assertEquals("The descriptions should be equal.", "", calibrationTimeout.getDescription()); assertEquals("The keys should be equal.", key, calibrationTimeout.getKey()); assertEquals("The values in ms should be equal.", value.intValue() , calibrationTimeout.getTimeoutInMs()); assertEquals("The values in sec should be equal.", new BigDecimal(value.doubleValue() / 1000), calibrationTimeout.getTimeoutInSeconds()); assertEquals("The values in min should be equal.", new BigDecimal(value.doubleValue() / 1000 / 60), calibrationTimeout.getTimeoutInMinutes()); assertEquals("The timeToRepetition in ms should be equal.", timeToRepetition.intValue(), calibrationTimeout.getTimeToRepetitionInMs()); assertEquals("The timeToRepetition in sec should be equal.", new BigDecimal(timeToRepetition.doubleValue() / 1000), calibrationTimeout.getTimeToRepetitionInSeconds()); assertEquals("The timeToRepetitions in min should be equal.", new BigDecimal(timeToRepetition.doubleValue() / 1000 / 60), calibrationTimeout.getTimeToRepetitionInMinutes()); assertEquals("The statuses should be equal.", CalibrationTimeout.Status.KEPT, calibrationTimeout.getStatus()); } @Test public void testConstructorWithoutTimeToRepetition(){ String description = "maven"; String key = engine + "." + step + "." + description; CalibrationTimeout calibrationTimeout = new CalibrationTimeout(engine, step, description, value); assertEquals("The engines should be equal.", engine, calibrationTimeout.getEngineOrProcessGroup()); assertEquals("The steps should be equal.", step, calibrationTimeout.getStepOrProcess()); assertEquals("The descriptions should be equal.", description, calibrationTimeout.getDescription()); assertEquals("The keys should be equal.", key, calibrationTimeout.getKey()); assertEquals("The values in ms should be equal.", value.intValue() , calibrationTimeout.getTimeoutInMs()); assertEquals("The values in sec should be equal.", new BigDecimal(value.doubleValue() / 1000), calibrationTimeout.getTimeoutInSeconds()); assertEquals("The values in min should be equal.", new BigDecimal(value.doubleValue() / 1000 / 60), calibrationTimeout.getTimeoutInMinutes()); assertEquals("The timeToRepetitions in ms should be equal.", 0, calibrationTimeout.getTimeToRepetitionInMs()); assertEquals("The timeToRepetitions in sec should be equal.", new BigDecimal(0), calibrationTimeout.getTimeToRepetitionInSeconds()); assertEquals("The timeToRepetitions in min should be equal.", new BigDecimal(0), calibrationTimeout.getTimeToRepetitionInMinutes()); assertEquals("The statuses should be equal.", CalibrationTimeout.Status.KEPT, calibrationTimeout.getStatus()); } @Test public void testConstructorWithoutDescriptionTimeToRepetition(){ CalibrationTimeout calibrationTimeout = new CalibrationTimeout(engine, step, value); String key = engine + "." + step; assertEquals("The engines should be equal.", engine, calibrationTimeout.getEngineOrProcessGroup()); assertEquals("The steps should be equal.", step, calibrationTimeout.getStepOrProcess()); assertEquals("The descriptions should be empty.", "", calibrationTimeout.getDescription()); assertEquals("The keys should be equal.", key, calibrationTimeout.getKey()); assertEquals("The values in ms should be equal.", value.intValue() , calibrationTimeout.getTimeoutInMs()); assertEquals("The values in sec should be equal.", new BigDecimal(value.doubleValue() / 1000), calibrationTimeout.getTimeoutInSeconds()); assertEquals("The values in min should be equal.", new BigDecimal(value.doubleValue() / 1000 / 60), calibrationTimeout.getTimeoutInMinutes()); assertEquals("The timeToRepetitions in ms should be equal.", 0, calibrationTimeout.getTimeToRepetitionInMs()); assertEquals("The timeToRepetitions in sec should be equal.", new BigDecimal(0), calibrationTimeout.getTimeToRepetitionInSeconds()); assertEquals("The timeToRepetitions in min should be equal.", new BigDecimal(0), calibrationTimeout.getTimeToRepetitionInMinutes()); assertEquals("The statuses should be equal.", CalibrationTimeout.Status.KEPT, calibrationTimeout.getStatus()); } @Test public void testGetStatusAfterCreation() throws Exception { CalibrationTimeout calibrationTimeout = new CalibrationTimeout(new Timeout(engine, step, value)); assertEquals("After creation the status should be 'kept'.",CalibrationTimeout.Status.KEPT, calibrationTimeout.getStatus()); } @Test public void testSetStatus() throws Exception { CalibrationTimeout calibrationTimeout = new CalibrationTimeout(new Timeout(engine, step, value)); CalibrationTimeout.Status status = CalibrationTimeout.Status.EXCEEDED; calibrationTimeout.setStatus(status); assertEquals("The statuses should be equal.", status, calibrationTimeout.getStatus()); } @Test public void testGetStatus() throws Exception { CalibrationTimeout calibrationTimeout = new CalibrationTimeout(new Timeout(engine, step, value)); CalibrationTimeout.Status status = CalibrationTimeout.Status.KEPT; calibrationTimeout.setStatus(status); assertEquals("The statuses should be equal.", status, calibrationTimeout.getStatus()); } @Test public void testGetCalibrationTimeoutKey() throws Exception{ CalibrationTimeout calibrationTimeout = new CalibrationTimeout(new Timeout(engine, step, value)); assertEquals("The keys should be equal.", calibrationTimeout.getKey() + "." + calibrationTimeout.getTimestamp(), calibrationTimeout.getCalibrationTimeoutKey()); } }