Skip to content

Commit bd25907

Browse files
committed
Fix comments and fix tests
Signed-off-by: siri-varma <[email protected]>
1 parent da89f44 commit bd25907

File tree

7 files changed

+72
-54
lines changed

7 files changed

+72
-54
lines changed
Lines changed: 4 additions & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -1,5 +1,8 @@
11
package io.dapr.it.testcontainers;
22

33
public interface DaprContainerConstants {
4-
String IMAGE_TAG = "daprio/daprd:1.15.3";
4+
String DAPR_RUNTIME_VERSION = "1.15.3";
5+
String IMAGE_TAG = "daprio/daprd:" + DAPR_RUNTIME_VERSION;
6+
String DAPR_PLACEMENT_IMAGE_TAG = "daprio/placement:" + DAPR_RUNTIME_VERSION;
7+
String DAPR_SCHEDULER_IMAGE_TAG = "daprio/scheduler:" + DAPR_RUNTIME_VERSION;
58
}

sdk-tests/src/test/java/io/dapr/it/testcontainers/DaprJobsIT.java

Lines changed: 23 additions & 12 deletions
Original file line numberDiff line numberDiff line change
@@ -8,7 +8,6 @@
88
import io.dapr.client.domain.ScheduleJobRequest;
99
import io.dapr.testcontainers.DaprContainer;
1010
import io.dapr.testcontainers.DaprLogLevel;
11-
import org.junit.jupiter.api.Assertions;
1211
import org.junit.jupiter.api.BeforeEach;
1312
import org.junit.jupiter.api.Tag;
1413
import org.junit.jupiter.api.Test;
@@ -20,9 +19,12 @@
2019
import org.testcontainers.containers.Network;
2120
import org.testcontainers.junit.jupiter.Container;
2221
import org.testcontainers.junit.jupiter.Testcontainers;
23-
import org.testcontainers.shaded.org.yaml.snakeyaml.scanner.Constant;
2422

23+
import java.time.Instant;
2524
import java.time.OffsetDateTime;
25+
import java.time.ZoneOffset;
26+
import java.time.format.DateTimeFormatter;
27+
import java.time.temporal.ChronoUnit;
2628
import java.util.Random;
2729

2830
import static org.junit.Assert.assertEquals;
@@ -74,58 +76,67 @@ public void setUp(){
7476

7577
@Test
7678
public void testJobScheduleCreationWithDueTime() {
77-
OffsetDateTime currentTime = OffsetDateTime.now();
79+
DateTimeFormatter iso8601Formatter = DateTimeFormatter.ofPattern("yyyy-MM-dd'T'HH:mm:ss.SSS'Z'")
80+
.withZone(ZoneOffset.UTC);
81+
82+
Instant currentTime = Instant.now();
7883
daprPreviewClient.scheduleJob(new ScheduleJobRequest("Job", currentTime)).block();
7984

8085
GetJobResponse getJobResponse =
8186
daprPreviewClient.getJob(new GetJobRequest("Job")).block();
82-
assertEquals(currentTime.toString(), getJobResponse.getDueTime().toString());
87+
assertEquals(iso8601Formatter.format(currentTime), getJobResponse.getDueTime().toString());
8388
assertEquals("Job", getJobResponse.getName());
8489
}
8590

8691
@Test
8792
public void testJobScheduleCreationWithSchedule() {
88-
OffsetDateTime currentTime = OffsetDateTime.now();
93+
DateTimeFormatter iso8601Formatter = DateTimeFormatter.ofPattern("yyyy-MM-dd'T'HH:mm:ss.SSS'Z'")
94+
.withZone(ZoneOffset.UTC);
95+
96+
Instant currentTime = Instant.now();
8997
daprPreviewClient.scheduleJob(new ScheduleJobRequest("Job", JobSchedule.hourly())
9098
.setDueTime(currentTime)).block();
9199

92100
GetJobResponse getJobResponse =
93101
daprPreviewClient.getJob(new GetJobRequest("Job")).block();
94-
assertEquals(currentTime.toString(), getJobResponse.getDueTime().toString());
102+
assertEquals(iso8601Formatter.format(currentTime), getJobResponse.getDueTime().toString());
95103
assertEquals(JobSchedule.hourly().getExpression(), getJobResponse.getSchedule().getExpression());
96104
assertEquals("Job", getJobResponse.getName());
97105
}
98106

99107
@Test
100108
public void testJobScheduleCreationWithAllParameters() {
101-
OffsetDateTime currentTime = OffsetDateTime.now();
109+
Instant currentTime = Instant.now();
110+
DateTimeFormatter iso8601Formatter = DateTimeFormatter.ofPattern("yyyy-MM-dd'T'HH:mm:ss.SSS'Z'")
111+
.withZone(ZoneOffset.UTC);
102112

103113
String cronExpression = "2 * 3 * * FRI";
104114

105115
daprPreviewClient.scheduleJob(new ScheduleJobRequest("Job", currentTime)
106-
.setTtl(currentTime.plusHours(2))
116+
.setTtl(currentTime.plus(2, ChronoUnit.HOURS))
107117
.setData("Job data".getBytes())
108118
.setRepeat(3)
109119
.setSchedule(JobSchedule.fromString(cronExpression))).block();
110120

111121
GetJobResponse getJobResponse =
112122
daprPreviewClient.getJob(new GetJobRequest("Job")).block();
113-
assertEquals(currentTime.toString(), getJobResponse.getDueTime().toString());
123+
assertEquals(iso8601Formatter.format(currentTime), getJobResponse.getDueTime().toString());
114124
assertEquals("2 * 3 * * FRI", getJobResponse.getSchedule().getExpression());
115125
assertEquals("Job", getJobResponse.getName());
116126
assertEquals(Integer.valueOf(3), getJobResponse.getRepeats());
117127
assertEquals("Job data", new String(getJobResponse.getData()));
118-
assertEquals(currentTime.plusHours(2), getJobResponse.getTtl());
128+
assertEquals(iso8601Formatter.format(currentTime.plus(2, ChronoUnit.HOURS)),
129+
getJobResponse.getTtl().toString());
119130
}
120131

121132
@Test
122133
public void testDeleteJobRequest() {
123-
OffsetDateTime currentTime = OffsetDateTime.now();
134+
Instant currentTime = Instant.now();
124135

125136
String cronExpression = "2 * 3 * * FRI";
126137

127138
daprPreviewClient.scheduleJob(new ScheduleJobRequest("Job", currentTime)
128-
.setTtl(currentTime.plusHours(2))
139+
.setTtl(currentTime.plus(2, ChronoUnit.HOURS))
129140
.setData("Job data".getBytes())
130141
.setRepeat(3)
131142
.setSchedule(JobSchedule.fromString(cronExpression))).block();

sdk-tests/src/test/java/io/dapr/it/testcontainers/DaprPlacementContainerIT.java

Lines changed: 2 additions & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -26,7 +26,8 @@
2626
public class DaprPlacementContainerIT {
2727

2828
@Container
29-
private static final DaprPlacementContainer PLACEMENT_CONTAINER = new DaprPlacementContainer("daprio/placement");
29+
private static final DaprPlacementContainer PLACEMENT_CONTAINER =
30+
new DaprPlacementContainer(DaprContainerConstants.DAPR_PLACEMENT_IMAGE_TAG);
3031

3132
@Test
3233
public void testDaprPlacementContainerDefaults() {

sdk/src/main/java/io/dapr/client/DaprClientImpl.java

Lines changed: 9 additions & 12 deletions
Original file line numberDiff line numberDiff line change
@@ -98,6 +98,7 @@
9898
import javax.annotation.Nonnull;
9999
import java.io.IOException;
100100
import java.time.Duration;
101+
import java.time.Instant;
101102
import java.time.OffsetDateTime;
102103
import java.time.ZoneOffset;
103104
import java.time.format.DateTimeFormatter;
@@ -1305,12 +1306,12 @@ public Mono<Void> scheduleJob(ScheduleJobRequest scheduleJobRequest) {
13051306
try {
13061307
validateScheduleJobRequest(scheduleJobRequest);
13071308

1308-
DateTimeFormatter iso8601Formatter = DateTimeFormatter.ofPattern("yyyy-MM-dd'T'HH:mm:ss.SSS'Z'")
1309-
.withZone(ZoneOffset.UTC);
1310-
13111309
DaprProtos.Job.Builder scheduleJobRequestBuilder = DaprProtos.Job.newBuilder();
13121310
scheduleJobRequestBuilder.setName(scheduleJobRequest.getName());
13131311

1312+
DateTimeFormatter iso8601Formatter = DateTimeFormatter.ofPattern("yyyy-MM-dd'T'HH:mm:ss.SSS'Z'")
1313+
.withZone(ZoneOffset.UTC);
1314+
13141315
if (scheduleJobRequest.getData() != null) {
13151316
scheduleJobRequestBuilder.setData(Any.newBuilder()
13161317
.setValue(ByteString.copyFrom(scheduleJobRequest.getData())).build());
@@ -1321,16 +1322,15 @@ public Mono<Void> scheduleJob(ScheduleJobRequest scheduleJobRequest) {
13211322
}
13221323

13231324
if (scheduleJobRequest.getTtl() != null) {
1324-
scheduleJobRequestBuilder.setTtl(scheduleJobRequest.getTtl().format(iso8601Formatter));
1325+
scheduleJobRequestBuilder.setTtl(iso8601Formatter.format(scheduleJobRequest.getTtl()));
13251326
}
13261327

13271328
if (scheduleJobRequest.getRepeats() != null) {
13281329
scheduleJobRequestBuilder.setRepeats(scheduleJobRequest.getRepeats());
13291330
}
13301331

13311332
if (scheduleJobRequest.getDueTime() != null) {
1332-
scheduleJobRequestBuilder.setDueTime(scheduleJobRequest.getDueTime()
1333-
.format(iso8601Formatter));
1333+
scheduleJobRequestBuilder.setDueTime(iso8601Formatter.format(scheduleJobRequest.getDueTime()));
13341334
}
13351335

13361336
Mono<DaprProtos.ScheduleJobResponse> scheduleJobResponseMono =
@@ -1354,9 +1354,6 @@ public Mono<GetJobResponse> getJob(GetJobRequest getJobRequest) {
13541354
try {
13551355
validateGetJobRequest(getJobRequest);
13561356

1357-
DateTimeFormatter iso8601Formatter = DateTimeFormatter.ofPattern("yyyy-MM-dd'T'HH:mm:ss.SSS'Z'")
1358-
.withZone(ZoneOffset.UTC);
1359-
13601357
Mono<DaprProtos.GetJobResponse> getJobResponseMono =
13611358
Mono.deferContextual(context -> this.createMono(
13621359
it -> intercept(context, asyncStub)
@@ -1371,15 +1368,15 @@ public Mono<GetJobResponse> getJob(GetJobRequest getJobRequest) {
13711368

13721369
if (job.hasSchedule() && job.hasDueTime()) {
13731370
getJobResponse = new GetJobResponse(job.getName(), JobSchedule.fromString(job.getSchedule()));
1374-
getJobResponse.setDueTime(OffsetDateTime.parse(job.getDueTime(), iso8601Formatter));
1371+
getJobResponse.setDueTime(Instant.parse(job.getDueTime()));
13751372
} else if (job.hasSchedule()) {
13761373
getJobResponse = new GetJobResponse(job.getName(), JobSchedule.fromString(job.getSchedule()));
13771374
} else {
1378-
getJobResponse = new GetJobResponse(job.getName(), OffsetDateTime.parse(job.getDueTime()));
1375+
getJobResponse = new GetJobResponse(job.getName(), Instant.parse(job.getDueTime()));
13791376
}
13801377

13811378
return getJobResponse
1382-
.setTtl(job.hasTtl() ? OffsetDateTime.parse(job.getTtl(), iso8601Formatter) : null)
1379+
.setTtl(job.hasTtl() ? Instant.parse(job.getTtl()) : null)
13831380
.setData(job.hasData() ? job.getData().getValue().toByteArray() : null)
13841381
.setRepeat(job.hasRepeats() ? job.getRepeats() : null);
13851382
});

sdk/src/main/java/io/dapr/client/domain/GetJobResponse.java

Lines changed: 8 additions & 8 deletions
Original file line numberDiff line numberDiff line change
@@ -1,6 +1,6 @@
11
package io.dapr.client.domain;
22

3-
import java.time.OffsetDateTime;
3+
import java.time.Instant;
44

55
/**
66
* Represents a request to schedule a job in Dapr.
@@ -9,9 +9,9 @@ public class GetJobResponse {
99
private final String name;
1010
private byte[] data;
1111
private JobSchedule schedule;
12-
private OffsetDateTime dueTime;
12+
private Instant dueTime;
1313
private Integer repeats;
14-
private OffsetDateTime ttl;
14+
private Instant ttl;
1515

1616
/**
1717
* Constructor to create GetJobResponse.
@@ -32,7 +32,7 @@ public GetJobResponse(String name, JobSchedule schedule) {
3232
* type fields are not provided. Accepts a “point in time” string in the format of RFC3339,
3333
* Go duration string (calculated from creation time), or non-repeating ISO8601
3434
*/
35-
public GetJobResponse(String name, OffsetDateTime dueTime) {
35+
public GetJobResponse(String name, Instant dueTime) {
3636
this.name = name;
3737
this.dueTime = dueTime;
3838
}
@@ -68,7 +68,7 @@ public GetJobResponse setSchedule(JobSchedule schedule) {
6868
* @param dueTime The due time of the job.
6969
* @return This builder instance.
7070
*/
71-
public GetJobResponse setDueTime(OffsetDateTime dueTime) {
71+
public GetJobResponse setDueTime(Instant dueTime) {
7272
this.dueTime = dueTime;
7373
return this;
7474
}
@@ -92,7 +92,7 @@ public GetJobResponse setRepeat(Integer repeats) {
9292
* @param ttl The time-to-live for the job.
9393
* @return This builder instance.
9494
*/
95-
public GetJobResponse setTtl(OffsetDateTime ttl) {
95+
public GetJobResponse setTtl(Instant ttl) {
9696
this.ttl = ttl;
9797
return this;
9898
}
@@ -131,7 +131,7 @@ public JobSchedule getSchedule() {
131131
*
132132
* @return The due time.
133133
*/
134-
public OffsetDateTime getDueTime() {
134+
public Instant getDueTime() {
135135
return dueTime;
136136
}
137137

@@ -149,7 +149,7 @@ public Integer getRepeats() {
149149
*
150150
* @return The TTL value.
151151
*/
152-
public OffsetDateTime getTtl() {
152+
public Instant getTtl() {
153153
return ttl;
154154
}
155155
}

sdk/src/main/java/io/dapr/client/domain/ScheduleJobRequest.java

Lines changed: 8 additions & 8 deletions
Original file line numberDiff line numberDiff line change
@@ -1,6 +1,6 @@
11
package io.dapr.client.domain;
22

3-
import java.time.OffsetDateTime;
3+
import java.time.Instant;
44

55
/**
66
* Represents a request to schedule a job in Dapr.
@@ -9,9 +9,9 @@ public class ScheduleJobRequest {
99
private final String name;
1010
private byte[] data;
1111
private JobSchedule schedule;
12-
private OffsetDateTime dueTime;
12+
private Instant dueTime;
1313
private Integer repeats;
14-
private OffsetDateTime ttl;
14+
private Instant ttl;
1515

1616
/**
1717
* Constructor to create ScheduleJobRequest.
@@ -32,7 +32,7 @@ public ScheduleJobRequest(String name, JobSchedule schedule) {
3232
* type fields are not provided. Accepts a “point in time” string in the format of RFC3339,
3333
* Go duration string (calculated from creation time), or non-repeating ISO8601
3434
*/
35-
public ScheduleJobRequest(String name, OffsetDateTime dueTime) {
35+
public ScheduleJobRequest(String name, Instant dueTime) {
3636
this.name = name;
3737
this.dueTime = dueTime;
3838
}
@@ -68,7 +68,7 @@ public ScheduleJobRequest setSchedule(JobSchedule schedule) {
6868
* @param dueTime The due time of the job.
6969
* @return This builder instance.
7070
*/
71-
public ScheduleJobRequest setDueTime(OffsetDateTime dueTime) {
71+
public ScheduleJobRequest setDueTime(Instant dueTime) {
7272
this.dueTime = dueTime;
7373
return this;
7474
}
@@ -92,7 +92,7 @@ public ScheduleJobRequest setRepeat(Integer repeats) {
9292
* @param ttl The time-to-live for the job.
9393
* @return This builder instance.
9494
*/
95-
public ScheduleJobRequest setTtl(OffsetDateTime ttl) {
95+
public ScheduleJobRequest setTtl(Instant ttl) {
9696
this.ttl = ttl;
9797
return this;
9898
}
@@ -131,7 +131,7 @@ public JobSchedule getSchedule() {
131131
*
132132
* @return The due time.
133133
*/
134-
public OffsetDateTime getDueTime() {
134+
public Instant getDueTime() {
135135
return dueTime;
136136
}
137137

@@ -149,7 +149,7 @@ public Integer getRepeats() {
149149
*
150150
* @return The TTL value.
151151
*/
152-
public OffsetDateTime getTtl() {
152+
public Instant getTtl() {
153153
return ttl;
154154
}
155155
}

0 commit comments

Comments
 (0)