From 4d8d8257462da5f7bb648234b4169210a7407089 Mon Sep 17 00:00:00 2001 From: Andrew Nester Date: Wed, 29 Nov 2023 17:32:42 +0100 Subject: [PATCH] Fixed panic when job has trigger and in development mode (#1026) ## Changes Fixed panic when job has trigger and in development mode --- bundle/config/mutator/process_target_mode.go | 4 ++-- .../mutator/process_target_mode_test.go | 20 +++++++++++++++++++ 2 files changed, 22 insertions(+), 2 deletions(-) diff --git a/bundle/config/mutator/process_target_mode.go b/bundle/config/mutator/process_target_mode.go index f9d2795a..9fdb82a1 100644 --- a/bundle/config/mutator/process_target_mode.go +++ b/bundle/config/mutator/process_target_mode.go @@ -54,10 +54,10 @@ func transformDevelopmentMode(b *bundle.Bundle) error { if r.Jobs[i].Schedule != nil && r.Jobs[i].Schedule.PauseStatus != jobs.PauseStatusUnpaused { r.Jobs[i].Schedule.PauseStatus = jobs.PauseStatusPaused } - if r.Jobs[i].Continuous != nil && r.Jobs[i].Schedule.PauseStatus != jobs.PauseStatusUnpaused { + if r.Jobs[i].Continuous != nil && r.Jobs[i].Continuous.PauseStatus != jobs.PauseStatusUnpaused { r.Jobs[i].Continuous.PauseStatus = jobs.PauseStatusPaused } - if r.Jobs[i].Trigger != nil && r.Jobs[i].Schedule.PauseStatus != jobs.PauseStatusUnpaused { + if r.Jobs[i].Trigger != nil && r.Jobs[i].Trigger.PauseStatus != jobs.PauseStatusUnpaused { r.Jobs[i].Trigger.PauseStatus = jobs.PauseStatusPaused } } diff --git a/bundle/config/mutator/process_target_mode_test.go b/bundle/config/mutator/process_target_mode_test.go index 0e360263..8feab191 100644 --- a/bundle/config/mutator/process_target_mode_test.go +++ b/bundle/config/mutator/process_target_mode_test.go @@ -62,6 +62,24 @@ func mockBundle(mode config.Mode) *bundle.Bundle { }, }, }, + "job3": { + JobSettings: &jobs.JobSettings{ + Name: "job3", + Trigger: &jobs.TriggerSettings{ + FileArrival: &jobs.FileArrivalTriggerConfiguration{ + Url: "test.com", + }, + }, + }, + }, + "job4": { + JobSettings: &jobs.JobSettings{ + Name: "job4", + Continuous: &jobs.Continuous{ + PauseStatus: jobs.PauseStatusPaused, + }, + }, + }, }, Pipelines: map[string]*resources.Pipeline{ "pipeline1": {PipelineSpec: &pipelines.PipelineSpec{Name: "pipeline1"}}, @@ -205,6 +223,8 @@ func TestProcessTargetModeProduction(t *testing.T) { b.Config.Resources.Jobs["job1"].Permissions = permissions b.Config.Resources.Jobs["job1"].RunAs = &jobs.JobRunAs{UserName: "user@company.com"} b.Config.Resources.Jobs["job2"].RunAs = &jobs.JobRunAs{UserName: "user@company.com"} + b.Config.Resources.Jobs["job3"].RunAs = &jobs.JobRunAs{UserName: "user@company.com"} + b.Config.Resources.Jobs["job4"].RunAs = &jobs.JobRunAs{UserName: "user@company.com"} b.Config.Resources.Pipelines["pipeline1"].Permissions = permissions b.Config.Resources.Experiments["experiment1"].Permissions = permissions b.Config.Resources.Experiments["experiment2"].Permissions = permissions