Skip to content

Commit 0ff5fe6

Browse files
fix: keep things backward compatible for other deployments depending on the upgraded optimus server. (#629)
1 parent 4e125d0 commit 0ff5fe6

File tree

2 files changed

+58
-3
lines changed

2 files changed

+58
-3
lines changed

api/handler/v1beta1/job_run.go

Lines changed: 6 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -278,11 +278,15 @@ func (sv *JobRunServiceServer) JobRun(ctx context.Context, req *pb.JobRunRequest
278278
}
279279

280280
func (*JobRunServiceServer) GetWindow(_ context.Context, req *pb.GetWindowRequest) (*pb.GetWindowResponse, error) {
281+
// TODO the default version to be deprecated & made mandatory in future releases
282+
version := 1
281283
if err := req.GetScheduledAt().CheckValid(); err != nil {
282284
return nil, status.Errorf(codes.Internal, "%s: failed to parse schedule time %s", err.Error(), req.GetScheduledAt())
283285
}
284-
285-
window, err := models.NewWindow(int(req.Version), req.GetTruncateTo(), req.GetOffset(), req.GetSize())
286+
if req.Version != 0 {
287+
version = int(req.Version)
288+
}
289+
window, err := models.NewWindow(version, req.GetTruncateTo(), req.GetOffset(), req.GetSize())
286290
if err != nil {
287291
return nil, err
288292
}

api/handler/v1beta1/job_run_test.go

Lines changed: 52 additions & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -559,7 +559,7 @@ func TestJobRunServiceServer(t *testing.T) {
559559
})
560560

561561
t.Run("GetWindow", func(t *testing.T) {
562-
t.Run("should return the correct window date range", func(t *testing.T) {
562+
t.Run("should return the correct window date range for version 1", func(t *testing.T) {
563563
JobRunServiceServer := v1.NewJobRunServiceServer(
564564
log,
565565
nil, nil, nil, nil,
@@ -585,6 +585,57 @@ func TestJobRunServiceServer(t *testing.T) {
585585
assert.Equal(t, "2020-11-11T00:00:00Z", resp.GetStart().AsTime().Format(time.RFC3339))
586586
assert.Equal(t, "2020-11-12T00:00:00Z", resp.GetEnd().AsTime().Format(time.RFC3339))
587587
})
588+
t.Run("should fetch window date range for version 2", func(t *testing.T) {
589+
JobRunServiceServer := v1.NewJobRunServiceServer(
590+
log,
591+
nil, nil, nil, nil,
592+
nil,
593+
nil,
594+
nil,
595+
monitoringService,
596+
nil,
597+
)
598+
599+
scheduledAt := time.Date(2020, 11, 11, 0, 0, 0, 0, time.UTC)
600+
scheduledAtTimestamp := timestamppb.New(scheduledAt)
601+
req := pb.GetWindowRequest{
602+
ScheduledAt: scheduledAtTimestamp,
603+
Version: 2,
604+
Size: "24h",
605+
Offset: "24h",
606+
TruncateTo: "d",
607+
}
608+
resp, err := JobRunServiceServer.GetWindow(ctx, &req)
609+
assert.Nil(t, err)
610+
611+
assert.Equal(t, "2020-11-11T00:00:00Z", resp.GetStart().AsTime().Format(time.RFC3339))
612+
assert.Equal(t, "2020-11-12T00:00:00Z", resp.GetEnd().AsTime().Format(time.RFC3339))
613+
})
614+
t.Run("should ensure backward compatibility for previous fetch window configurations", func(t *testing.T) {
615+
JobRunServiceServer := v1.NewJobRunServiceServer(
616+
log,
617+
nil, nil, nil, nil,
618+
nil,
619+
nil,
620+
nil,
621+
monitoringService,
622+
nil,
623+
)
624+
625+
scheduledAt := time.Date(2020, 11, 11, 0, 0, 0, 0, time.UTC)
626+
scheduledAtTimestamp := timestamppb.New(scheduledAt)
627+
req := pb.GetWindowRequest{
628+
ScheduledAt: scheduledAtTimestamp,
629+
Size: "24h",
630+
Offset: "",
631+
TruncateTo: "m",
632+
}
633+
resp, err := JobRunServiceServer.GetWindow(ctx, &req)
634+
assert.Nil(t, err)
635+
636+
assert.Equal(t, "2020-11-10T00:00:00Z", resp.GetStart().AsTime().Format(time.RFC3339))
637+
assert.Equal(t, "2020-11-11T00:00:00Z", resp.GetEnd().AsTime().Format(time.RFC3339))
638+
})
588639
})
589640
t.Run("JobRun", func(t *testing.T) {
590641
date, err := time.Parse(AirflowDateFormat, "2022-03-25T02:00:00+00:00")

0 commit comments

Comments
 (0)