Skip to content

Commit 54aedf8

Browse files
vikas0686maciejdudko
authored andcommitted
fix: add @TemporalDsl receiver annotation to setRetryOptions extensions
1 parent 8d8ca1b commit 54aedf8

6 files changed

Lines changed: 66 additions & 3 deletions

File tree

temporal-kotlin/src/main/kotlin/io/temporal/activity/ActivityOptionsExt.kt

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -28,7 +28,7 @@ inline fun ActivityOptions.copy(
2828
* @see ActivityOptions.Builder.setRetryOptions
2929
* @see ActivityOptions.getRetryOptions
3030
*/
31-
inline fun ActivityOptions.Builder.setRetryOptions(
31+
inline fun @TemporalDsl ActivityOptions.Builder.setRetryOptions(
3232
retryOptions: @TemporalDsl RetryOptions.Builder.() -> Unit
3333
) {
3434
setRetryOptions(RetryOptions(retryOptions))

temporal-kotlin/src/main/kotlin/io/temporal/client/WorkflowOptionsExt.kt

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -26,7 +26,7 @@ inline fun WorkflowOptions.copy(
2626
* @see WorkflowOptions.Builder.setRetryOptions
2727
* @see WorkflowOptions.getRetryOptions
2828
*/
29-
inline fun WorkflowOptions.Builder.setRetryOptions(
29+
inline fun @TemporalDsl WorkflowOptions.Builder.setRetryOptions(
3030
retryOptions: @TemporalDsl RetryOptions.Builder.() -> Unit
3131
) {
3232
setRetryOptions(RetryOptions(retryOptions))

temporal-kotlin/src/main/kotlin/io/temporal/workflow/ChildWorkflowOptionsExt.kt

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -26,7 +26,7 @@ inline fun ChildWorkflowOptions.copy(
2626
* @see ChildWorkflowOptions.Builder.setRetryOptions
2727
* @see ChildWorkflowOptions.getRetryOptions
2828
*/
29-
inline fun ChildWorkflowOptions.Builder.setRetryOptions(
29+
inline fun @TemporalDsl ChildWorkflowOptions.Builder.setRetryOptions(
3030
retryOptions: @TemporalDsl RetryOptions.Builder.() -> Unit
3131
) {
3232
setRetryOptions(RetryOptions(retryOptions))

temporal-kotlin/src/test/kotlin/io/temporal/activity/ActivityOptionsExtTest.kt

Lines changed: 21 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -37,6 +37,27 @@ class ActivityOptionsExtTest {
3737
assertEquals(builderActivityOptions, dslActivityOptions)
3838
}
3939

40+
@Test
41+
fun `setRetryOptions DSL extension should work on ActivityOptions builder directly`() {
42+
val builder = ActivityOptions.newBuilder().setTaskQueue("TestQueue")
43+
builder.setRetryOptions {
44+
setInitialInterval(Duration.ofMillis(50))
45+
setMaximumAttempts(5)
46+
}
47+
48+
val expected = ActivityOptions.newBuilder()
49+
.setTaskQueue("TestQueue")
50+
.setRetryOptions(
51+
RetryOptions.newBuilder()
52+
.setInitialInterval(Duration.ofMillis(50))
53+
.setMaximumAttempts(5)
54+
.build()
55+
)
56+
.build()
57+
58+
assertEquals(expected, builder.build())
59+
}
60+
4061
@Test
4162
fun `ActivityOptions copy() DSL should merge override options`() {
4263
val sourceOptions = ActivityOptions {

temporal-kotlin/src/test/kotlin/io/temporal/client/WorkflowOptionsExtTest.kt

Lines changed: 21 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -38,6 +38,27 @@ class WorkflowOptionsExtTest {
3838
assertEquals(builderOptions, dslOptions)
3939
}
4040

41+
@Test
42+
fun `setRetryOptions DSL extension should work on WorkflowOptions builder directly`() {
43+
val builder = WorkflowOptions.newBuilder().setTaskQueue("TestQueue")
44+
builder.setRetryOptions {
45+
setInitialInterval(Duration.ofMillis(50))
46+
setMaximumAttempts(5)
47+
}
48+
49+
val expected = WorkflowOptions.newBuilder()
50+
.setTaskQueue("TestQueue")
51+
.setRetryOptions(
52+
RetryOptions.newBuilder()
53+
.setInitialInterval(Duration.ofMillis(50))
54+
.setMaximumAttempts(5)
55+
.build()
56+
)
57+
.build()
58+
59+
assertEquals(expected, builder.build())
60+
}
61+
4162
@Test
4263
fun `WorkflowOptions copy() DSL should merge override options`() {
4364
val sourceOptions = WorkflowOptions {

temporal-kotlin/src/test/kotlin/io/temporal/workflow/ChildWorkflowOptionsExtTest.kt

Lines changed: 21 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -32,6 +32,27 @@ class ChildWorkflowOptionsExtTest {
3232
assertEquals(builderOptions, dslOptions)
3333
}
3434

35+
@Test
36+
fun `setRetryOptions DSL extension should work on ChildWorkflowOptions builder directly`() {
37+
val builder = ChildWorkflowOptions.newBuilder().setTaskQueue("TestQueue")
38+
builder.setRetryOptions {
39+
setInitialInterval(Duration.ofMillis(50))
40+
setMaximumAttempts(3)
41+
}
42+
43+
val expected = ChildWorkflowOptions.newBuilder()
44+
.setTaskQueue("TestQueue")
45+
.setRetryOptions(
46+
RetryOptions.newBuilder()
47+
.setInitialInterval(Duration.ofMillis(50))
48+
.setMaximumAttempts(3)
49+
.build()
50+
)
51+
.build()
52+
53+
assertEquals(expected, builder.build())
54+
}
55+
3556
@Test
3657
fun `ChildWorkflowOptions copy() DSL should merge override options`() {
3758
val sourceOptions = ChildWorkflowOptions {

0 commit comments

Comments
 (0)