forked from kubeflow/pipelines
-
Notifications
You must be signed in to change notification settings - Fork 0
/
pipeline_upload_client_fake.go
49 lines (40 loc) · 1.45 KB
/
pipeline_upload_client_fake.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
38
39
40
41
42
43
44
45
46
47
48
49
package api_server
import (
"fmt"
"github.com/go-openapi/strfmt"
params "github.com/kubeflow/pipelines/backend/api/go_http_client/pipeline_upload_client/pipeline_upload_service"
model "github.com/kubeflow/pipelines/backend/api/go_http_client/pipeline_upload_model"
)
const (
FileForDefaultTest = "./samples/parameters.yaml"
FileForClientErrorTest = "./samples/hello-world.yaml"
ClientErrorString = "Error with client"
InvalidFakeRequest = "Invalid fake request, don't know how to handle '%s' in the fake client."
)
func getDefaultUploadedPipeline() *model.APIPipeline {
return &model.APIPipeline{
ID: "500",
CreatedAt: strfmt.NewDateTime(),
Name: "PIPELINE_NAME",
Description: "PIPELINE_DESCRIPTION",
Parameters: []*model.APIParameter{&model.APIParameter{
Name: "PARAM_NAME",
Value: "PARAM_VALUE",
}},
}
}
type PipelineUploadClientFake struct{}
func NewPipelineUploadClientFake() *PipelineUploadClientFake {
return &PipelineUploadClientFake{}
}
func (c *PipelineUploadClientFake) UploadFile(filePath string,
parameters *params.UploadPipelineParams) (*model.APIPipeline, error) {
switch filePath {
case FileForClientErrorTest:
return nil, fmt.Errorf(ClientErrorString)
default:
return getDefaultUploadedPipeline(), nil
}
}
// TODO(jingzhang36): add UploadPipelineVersion fake to be used in integration test
// after go_http_client and go_client are auto-generated from UploadPipelineVersion in PipelineUploadServer