Refactor environment CLI command (#1265)

This commit is contained in:
Ta-Ching Chen
2019-08-27 15:43:59 +08:00
committed by GitHub
parent 560aa34ce2
commit c49377569e
37 changed files with 1976 additions and 1599 deletions
+1
View File
@@ -235,6 +235,7 @@ func TestEnvironmentApi(t *testing.T) {
testEnv.Metadata.ResourceVersion = ""
testEnv.Metadata.Name = "bar"
m2, err := g.client.EnvironmentCreate(testEnv)
panicIf(err)
defer g.client.EnvironmentDelete(m2)
+13 -12
View File
@@ -25,20 +25,25 @@ import (
metav1 "k8s.io/apimachinery/pkg/apis/meta/v1"
fv1 "github.com/fission/fission/pkg/apis/fission.io/v1"
"github.com/fission/fission/pkg/generator/encoder"
v1generator "github.com/fission/fission/pkg/generator/v1"
)
func (c *Client) EnvironmentCreate(env *fv1.Environment) (*metav1.ObjectMeta, error) {
err := env.Validate()
func getEnvEncodingPayload(env *fv1.Environment) ([]byte, error) {
generator, err := v1generator.CreateEnvironmentGeneratorFromObj(env)
if err != nil {
return nil, fv1.AggregateValidationErrors("Environment", err)
return nil, err
}
return generator.StructuredGenerate(encoder.DefaultJSONEncoder())
}
reqbody, err := json.Marshal(env)
func (c *Client) EnvironmentCreate(env *fv1.Environment) (*metav1.ObjectMeta, error) {
data, err := getEnvEncodingPayload(env)
if err != nil {
return nil, err
}
resp, err := http.Post(c.url("environments"), "application/json", bytes.NewReader(reqbody))
resp, err := http.Post(c.url("environments"), "application/json", bytes.NewReader(data))
if err != nil {
return nil, err
}
@@ -83,18 +88,14 @@ func (c *Client) EnvironmentGet(m *metav1.ObjectMeta) (*fv1.Environment, error)
}
func (c *Client) EnvironmentUpdate(env *fv1.Environment) (*metav1.ObjectMeta, error) {
err := env.Validate()
if err != nil {
return nil, fv1.AggregateValidationErrors("Environment", err)
}
reqbody, err := json.Marshal(env)
data, err := getEnvEncodingPayload(env)
if err != nil {
return nil, err
}
relativeUrl := fmt.Sprintf("environments/%v", env.Metadata.Name)
resp, err := c.put(relativeUrl, "application/json", reqbody)
resp, err := c.put(relativeUrl, "application/json", data)
if err != nil {
return nil, err
}