-
Notifications
You must be signed in to change notification settings - Fork 16
/
tasks.go
37 lines (29 loc) · 945 Bytes
/
tasks.go
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
package mockbosh
import (
"fmt"
"github.com/cloudfoundry-incubator/bosh-backup-and-restore/internal/cf-webmock/mockhttp"
)
type tasksMock struct {
*mockhttp.MockHttp
}
func Tasks(deploymentName string) *tasksMock {
mock := &tasksMock{MockHttp: mockhttp.NewMockedHttpRequest("GET", fmt.Sprintf("/tasks?deployment=%s", deploymentName))}
return mock
}
func (t *tasksMock) RespondsWithNoTasks() *mockhttp.MockHttp {
return t.RespondsWithJson([]interface{}{})
}
func (t *tasksMock) RespondsWithATaskContainingState(provisioningTaskState string, description string) *mockhttp.MockHttp {
return t.RespondsWithJson([]interface{}{
map[string]string{
"state": provisioningTaskState,
"description": description,
},
})
}
func (t *tasksMock) RespondsWithATask(task interface{}) *mockhttp.MockHttp {
return t.RespondsWithJson([]interface{}{task})
}
func taskURL(taskID int) string {
return fmt.Sprintf("/tasks/%d", taskID)
}