Skip to content

Commit

Permalink
Feat: workflow trigger new resources (#623)
Browse files Browse the repository at this point in the history
  • Loading branch information
TomerHeber committed Mar 13, 2023
1 parent d5f5eff commit 61ad252
Show file tree
Hide file tree
Showing 4 changed files with 80 additions and 2 deletions.
2 changes: 2 additions & 0 deletions client/api_client.go
Original file line number Diff line number Diff line change
Expand Up @@ -116,6 +116,8 @@ type ApiClientInterface interface {
CustomFlowAssign(assignments []CustomFlowAssignment) error
CustomFlowUnassign(assignments []CustomFlowAssignment) error
CustomFlowGetAssignments(assignments []CustomFlowAssignment) ([]CustomFlowAssignment, error)
SubscribeWorkflowTrigger(environmentId string, payload WorkflowTriggerEnvironments) error
UnsubscribeWorkflowTrigger(environmentId string, payload WorkflowTriggerEnvironments) error
}

func NewApiClient(client http.HttpClientInterface, defaultOrganizationId string) ApiClientInterface {
Expand Down
28 changes: 28 additions & 0 deletions client/api_client_mock.go

Some generated files are not rendered by default. Learn more about how customized files appear on GitHub.

14 changes: 13 additions & 1 deletion client/workflow_triggers.go
Original file line number Diff line number Diff line change
Expand Up @@ -8,9 +8,13 @@ type WorkflowTriggerUpsertPayload struct {
DownstreamEnvironmentIds []string `json:"downstreamEnvironmentIds"`
}

type WorkflowTriggerEnvironments struct {
DownstreamEnvironmentIds []string `json:"downstreamEnvironmentIds"`
}

func (client *ApiClient) WorkflowTrigger(environmentId string) ([]WorkflowTrigger, error) {
var result []WorkflowTrigger
err := client.http.Get("environments/"+environmentId+"/downstream", nil, &result)
err := client.http.Get("/environments/"+environmentId+"/downstream", nil, &result)
if err != nil {
return []WorkflowTrigger{}, err
}
Expand All @@ -27,3 +31,11 @@ func (client *ApiClient) WorkflowTriggerUpsert(environmentId string, request Wor
}
return result, nil
}

func (client *ApiClient) SubscribeWorkflowTrigger(environmentId string, payload WorkflowTriggerEnvironments) error {
return client.http.Post("/environments/"+environmentId+"/downstream/subscribe", payload, nil)
}

func (client *ApiClient) UnsubscribeWorkflowTrigger(environmentId string, payload WorkflowTriggerEnvironments) error {
return client.http.Post("/environments/"+environmentId+"/downstream/unsubscribe", payload, nil)
}
38 changes: 37 additions & 1 deletion client/workflow_triggers_test.go
Original file line number Diff line number Diff line change
Expand Up @@ -41,7 +41,7 @@ var _ = Describe("Workflow Triggers", func() {
Describe("WorkflowTrigger", func() {
BeforeEach(func() {
httpCall = mockHttpClient.EXPECT().
Get("environments/"+environmentId+"/downstream", nil, gomock.Any()).
Get("/environments/"+environmentId+"/downstream", nil, gomock.Any()).
Do(func(path string, request interface{}, response *[]WorkflowTrigger) {
*response = mockTrigger
})
Expand All @@ -52,4 +52,40 @@ var _ = Describe("Workflow Triggers", func() {
Expect(triggers).To(Equal(mockTrigger))
})
})

Describe("SubscribeWorkflowTrigger", func() {
var err error

subscribePayload := WorkflowTriggerEnvironments{
DownstreamEnvironmentIds: []string{"1", "2"},
}

BeforeEach(func() {
httpCall = mockHttpClient.EXPECT().Post("/environments/"+environmentId+"/downstream/subscribe", subscribePayload, nil)
httpCall.Times(1)
err = apiClient.SubscribeWorkflowTrigger(environmentId, subscribePayload)
})

It("Should not return an error", func() {
Expect(err).To(BeNil())
})
})

Describe("UnsubscribeWorkflowTrigger", func() {
var err error

unsubscribePayload := WorkflowTriggerEnvironments{
DownstreamEnvironmentIds: []string{"1", "2"},
}

BeforeEach(func() {
httpCall = mockHttpClient.EXPECT().Post("/environments/"+environmentId+"/downstream/unsubscribe", unsubscribePayload, nil)
httpCall.Times(1)
err = apiClient.UnsubscribeWorkflowTrigger(environmentId, unsubscribePayload)
})

It("Should not return an error", func() {
Expect(err).To(BeNil())
})
})
})

0 comments on commit 61ad252

Please sign in to comment.