Skip to content

Commit 585b448

Browse files
committed
Better unit test
1 parent 6938c9a commit 585b448

File tree

1 file changed

+9
-3
lines changed

1 file changed

+9
-3
lines changed

shedlock-spring/src/test/java/net/javacrumbs/shedlock/spring/SpringLockConfigurationExtractorTest.java

Lines changed: 9 additions & 3 deletions
Original file line numberDiff line numberDiff line change
@@ -23,6 +23,7 @@
2323
import org.junit.Test;
2424
import org.springframework.context.annotation.AnnotationConfigApplicationContext;
2525
import org.springframework.scheduling.support.ScheduledMethodRunnable;
26+
import org.springframework.util.StringValueResolver;
2627

2728
import java.time.Duration;
2829
import java.time.temporal.ChronoUnit;
@@ -33,11 +34,14 @@
3334
import static java.time.temporal.ChronoUnit.MILLIS;
3435
import static java.time.temporal.ChronoUnit.SECONDS;
3536
import static org.assertj.core.api.Assertions.assertThat;
37+
import static org.mockito.Mockito.mock;
38+
import static org.mockito.Mockito.when;
3639

3740
public class SpringLockConfigurationExtractorTest {
3841
public static final Duration DEFAULT_LOCK_TIME = Duration.of(30, ChronoUnit.MINUTES);
3942
public static final Duration DEFAULT_LOCK_AT_LEAST_FOR = Duration.of(5, ChronoUnit.MILLIS);
40-
private final SpringLockConfigurationExtractor extractor = new SpringLockConfigurationExtractor(DEFAULT_LOCK_TIME, DEFAULT_LOCK_AT_LEAST_FOR);
43+
private final StringValueResolver embeddedValueResolver = mock(StringValueResolver.class);
44+
private final SpringLockConfigurationExtractor extractor = new SpringLockConfigurationExtractor(DEFAULT_LOCK_TIME, DEFAULT_LOCK_AT_LEAST_FOR, embeddedValueResolver);
4145

4246

4347
@Test
@@ -72,9 +76,10 @@ public void shouldLockTimeFromAnnotation() throws NoSuchMethodException {
7276

7377
@Test
7478
public void shouldLockTimeFromAnnotationWithString() throws NoSuchMethodException {
79+
when(embeddedValueResolver.resolveStringValue("${placeholder}")).thenReturn("5");
7580
SchedulerLock annotation = getAnnotation("annotatedMethodWithString");
7681
TemporalAmount lockAtMostFor = extractor.getLockAtMostFor(annotation);
77-
assertThat(lockAtMostFor).isEqualTo(Duration.of(10, MILLIS));
82+
assertThat(lockAtMostFor).isEqualTo(Duration.of(5, MILLIS));
7883
}
7984

8085
@Test
@@ -93,6 +98,7 @@ public void shouldGetPositiveGracePeriodFromAnnotation() throws NoSuchMethodExce
9398

9499
@Test
95100
public void shouldGetPositiveGracePeriodFromAnnotationWithString() throws NoSuchMethodException {
101+
when(embeddedValueResolver.resolveStringValue("10")).thenReturn("10");
96102
SchedulerLock annotation = getAnnotation("annotatedMethodWithPositiveGracePeriodWithString");
97103
TemporalAmount gracePeriod = extractor.getLockAtLeastFor(annotation);
98104
assertThat(gracePeriod).isEqualTo(Duration.of(10, MILLIS));
@@ -128,7 +134,7 @@ public void annotatedMethod() {
128134

129135
}
130136

131-
@SchedulerLock(name = "lockName", lockAtMostForString = "10")
137+
@SchedulerLock(name = "lockName", lockAtMostForString = "${placeholder}")
132138
public void annotatedMethodWithString() {
133139

134140
}

0 commit comments

Comments
 (0)