Skip to content

Commit

Permalink
refactor: use enum for actions
Browse files Browse the repository at this point in the history
Signed-off-by: Michael Adler <michael.adler@siemens.com>
  • Loading branch information
michaeladler committed Aug 28, 2023
1 parent cd8efc5 commit 6688b6c
Show file tree
Hide file tree
Showing 14 changed files with 26 additions and 15 deletions.
2 changes: 1 addition & 1 deletion internal/handler/job/create.go
Original file line number Diff line number Diff line change
Expand Up @@ -69,7 +69,7 @@ func CreateJob(ctx context.Context, storage persistence.Storage, request *model.
}

events.PublishEvent(events.JobEvent{
Action: "CREATE",
Action: events.ActionCreate,
Job: createdJob,
})

Expand Down
2 changes: 1 addition & 1 deletion internal/handler/job/create_test.go
Original file line number Diff line number Diff line change
Expand Up @@ -48,7 +48,7 @@ func TestCreateJob_Notification(t *testing.T) {

ev := <-ch
jobEvent := ev.Args[0].(events.JobEvent)
assert.Equal(t, "CREATE", jobEvent.Action)
assert.Equal(t, events.ActionCreate, jobEvent.Action)
assert.Equal(t, job.ID, jobEvent.Job.ID)
}

Expand Down
2 changes: 1 addition & 1 deletion internal/handler/job/definition/update.go
Original file line number Diff line number Diff line change
Expand Up @@ -45,7 +45,7 @@ func Update(ctx context.Context, storage persistence.Storage, jobID string, defi
result.Workflow = &model.Workflow{Name: job.Workflow.Name}

events.PublishEvent(events.JobEvent{
Action: "UPDATE_DEFINITION",
Action: events.ActionUpdateDefinition,
Job: job,
})

Expand Down
2 changes: 1 addition & 1 deletion internal/handler/job/definition/update_test.go
Original file line number Diff line number Diff line change
Expand Up @@ -62,7 +62,7 @@ func TestUpdateJobDefinition(t *testing.T) {

ev := <-ch
jobEvent := ev.Args[0].(events.JobEvent)
assert.Equal(t, "UPDATE_DEFINITION", jobEvent.Action)
assert.Equal(t, events.ActionUpdateDefinition, jobEvent.Action)
assert.Equal(t, job.ID, jobEvent.Job.ID)
}

Expand Down
2 changes: 1 addition & 1 deletion internal/handler/job/delete.go
Original file line number Diff line number Diff line change
Expand Up @@ -27,7 +27,7 @@ func DeleteJob(ctx context.Context, storage persistence.Storage, jobID string) e
}

events.PublishEvent(events.JobEvent{
Action: "DELETE",
Action: events.ActionDelete,
Job: &model.Job{
ID: jobID,
Workflow: &model.Workflow{Name: ""}, // we don't fetch the job from the DB, so we don't know
Expand Down
2 changes: 1 addition & 1 deletion internal/handler/job/delete_test.go
Original file line number Diff line number Diff line change
Expand Up @@ -34,7 +34,7 @@ func TestDeleteJob(t *testing.T) {

ev := <-ch
jobEvent := ev.Args[0].(events.JobEvent)
assert.Equal(t, "DELETE", jobEvent.Action)
assert.Equal(t, events.ActionDelete, jobEvent.Action)
assert.Equal(t, job.ID, jobEvent.Job.ID)
}

Expand Down
13 changes: 12 additions & 1 deletion internal/handler/job/events/events.go
Original file line number Diff line number Diff line change
Expand Up @@ -26,10 +26,21 @@ type FilterParams struct {
}

type JobEvent struct {
Action string
Action Action
Job *model.Job
}

type Action string

const (
ActionCreate Action = "CREATE"
ActionDelete Action = "DELETE"
ActionAddTags Action = "ADD_TAGS"
ActionDeleteTags Action = "DELETE_TAGS"
ActionUpdateStatus Action = "UPDATE_STATUS"
ActionUpdateDefinition Action = "UPDATE_DEFINITION"
)

var e *emitter.Emitter = emitter.New(32)

// AddSubscriber adds a new subscriber to receive job events filtered based on the provided filterParams.
Expand Down
4 changes: 2 additions & 2 deletions internal/handler/job/events/events_test.go
Original file line number Diff line number Diff line change
Expand Up @@ -39,10 +39,10 @@ func TestFiltering(t *testing.T) {
chAll, _ := AddSubscriber(ctx, FilterParams{}) // no filter should receive all events

job1.Status.State = "FOO"
PublishEvent(JobEvent{Action: "UPDATE_STATUS", Job: &job1})
PublishEvent(JobEvent{Action: ActionUpdateStatus, Job: &job1})

job2.Status.State = "BAR"
PublishEvent(JobEvent{Action: "UPDATE_STATUS", Job: &job2})
PublishEvent(JobEvent{Action: ActionUpdateStatus, Job: &job2})

{
ev := <-ch1
Expand Down
2 changes: 1 addition & 1 deletion internal/handler/job/status/update.go
Original file line number Diff line number Diff line change
Expand Up @@ -98,7 +98,7 @@ func Update(ctx context.Context, storage persistence.Storage, jobID string, newS
// async publish event
go func() {
contextLogger.Debug().Msg("Notifying subscribers")
events.PublishEvent(events.JobEvent{Action: "UPDATE_STATUS", Job: result})
events.PublishEvent(events.JobEvent{Action: events.ActionUpdateStatus, Job: result})
if contextLogger.GetLevel() <= zerolog.DebugLevel {
contextLogger.Debug().
Int("subscriberCount", events.SubscriberCount()).
Expand Down
2 changes: 1 addition & 1 deletion internal/handler/job/status/update_test.go
Original file line number Diff line number Diff line change
Expand Up @@ -170,7 +170,7 @@ func TestUpdateJob_NotifySubscribers(t *testing.T) {

event := <-ch
receivedEvent := event.Args[0].(events.JobEvent)
assert.Equal(t, "UPDATE_STATUS", receivedEvent.Action)
assert.Equal(t, events.ActionUpdateStatus, receivedEvent.Action)
assert.Equal(t, "ACTIVATED", receivedEvent.Job.Status.State)
assert.Equal(t, wf.Name, receivedEvent.Job.Workflow.Name)
}
Expand Down
2 changes: 1 addition & 1 deletion internal/handler/job/tags/add.go
Original file line number Diff line number Diff line change
Expand Up @@ -37,7 +37,7 @@ func Add(ctx context.Context, storage persistence.Storage, jobID string, tags []
updatedJob.Workflow = &model.Workflow{Name: job.Workflow.Name}

events.PublishEvent(events.JobEvent{
Action: "ADD_TAGS",
Action: events.ActionAddTags,
Job: updatedJob,
})

Expand Down
2 changes: 1 addition & 1 deletion internal/handler/job/tags/add_test.go
Original file line number Diff line number Diff line change
Expand Up @@ -46,7 +46,7 @@ func TestAdd(t *testing.T) {

ev := <-ch
jobEvent := ev.Args[0].(events.JobEvent)
assert.Equal(t, "ADD_TAGS", jobEvent.Action)
assert.Equal(t, events.ActionAddTags, jobEvent.Action)
assert.Equal(t, job.ID, jobEvent.Job.ID)
assert.Equal(t, tags, jobEvent.Job.Tags)
}
Expand Down
2 changes: 1 addition & 1 deletion internal/handler/job/tags/delete.go
Original file line number Diff line number Diff line change
Expand Up @@ -37,7 +37,7 @@ func Delete(ctx context.Context, storage persistence.Storage, jobID string, tags
updatedJob.Workflow = &model.Workflow{Name: job.Workflow.Name}

events.PublishEvent(events.JobEvent{
Action: "DELETE_TAGS",
Action: events.ActionDeleteTags,
Job: updatedJob,
})

Expand Down
2 changes: 1 addition & 1 deletion internal/handler/job/tags/delete_test.go
Original file line number Diff line number Diff line change
Expand Up @@ -42,7 +42,7 @@ func TestDelete(t *testing.T) {

ev := <-ch
jobEvent := ev.Args[0].(events.JobEvent)
assert.Equal(t, "DELETE_TAGS", jobEvent.Action)
assert.Equal(t, events.ActionDeleteTags, jobEvent.Action)
assert.Equal(t, job.ID, jobEvent.Job.ID)
assert.Equal(t, expectedTags, jobEvent.Job.Tags)
}

0 comments on commit 6688b6c

Please sign in to comment.