Author: mchassagneux Date: Tue Jul 25 09:43:10 2017 New Revision: 1802907 URL: http://svn.apache.org/viewvc?rev=1802907&view=rev Log: Add JUnit test Bugzilla Id: 61335
Modified: jmeter/trunk/test/src/org/apache/jmeter/functions/TestTimeShiftFunction.java Modified: jmeter/trunk/test/src/org/apache/jmeter/functions/TestTimeShiftFunction.java URL: http://svn.apache.org/viewvc/jmeter/trunk/test/src/org/apache/jmeter/functions/TestTimeShiftFunction.java?rev=1802907&r1=1802906&r2=1802907&view=diff ============================================================================== --- jmeter/trunk/test/src/org/apache/jmeter/functions/TestTimeShiftFunction.java (original) +++ jmeter/trunk/test/src/org/apache/jmeter/functions/TestTimeShiftFunction.java Tue Jul 25 09:43:10 2017 @@ -31,6 +31,7 @@ import java.time.LocalDateTime; import java.time.temporal.ChronoUnit; import java.util.Collection; import java.util.TimeZone; +import java.util.Random; import org.apache.jmeter.engine.util.CompoundVariable; import org.apache.jmeter.junit.JMeterTestCase; @@ -136,5 +137,26 @@ public class TestTimeShiftFunction exten value = function.execute(result, null); assertThat(value, is(equalTo(""))); } + + + @Test + public void testRandomPeriod() throws Exception { + Random r = new Random(); + int randomInt = r.ints(1, 60).limit(1).findFirst().getAsInt(); + vars.put("random", String.valueOf( randomInt ) ); + Collection<CompoundVariable> params = makeParams("YYYY-MM-dd'T'HH:mm:ss", "", "PT${random}M", ""); + function.setParameters(params); + value = function.execute(result, null); + LocalDateTime randomFutureDate = LocalDateTime.parse(value); + LocalDateTime checkFutureDate = LocalDateTime.now().plusMinutes(randomInt); + assertThat(randomFutureDate, within(5, ChronoUnit.SECONDS, checkFutureDate) ); + randomInt = r.ints(1, 60).limit(1).findFirst().getAsInt(); + vars.put("random", String.valueOf( randomInt ) ); + value = function.execute(result, null); + randomFutureDate = LocalDateTime.parse(value); + checkFutureDate = LocalDateTime.now().plusMinutes(randomInt); + assertThat(randomFutureDate, within(5, ChronoUnit.SECONDS, checkFutureDate) ); + + } }