From a5ae7688cefa819e144bd31c318c34cc97421c42 Mon Sep 17 00:00:00 2001 From: Soam Vasani Date: Fri, 4 Nov 2016 22:57:11 -0700 Subject: [PATCH] Make *Update functions consistently return fission.Metadata --- controller/api_test.go | 32 +++++++------------------ controller/client/client.go | 48 ++++++++++++++++++------------------- 2 files changed, 32 insertions(+), 48 deletions(-) diff --git a/controller/api_test.go b/controller/api_test.go index 961343cf..8b218c26 100644 --- a/controller/api_test.go +++ b/controller/api_test.go @@ -119,12 +119,8 @@ func TestHTTPTriggerApi(t *testing.T) { Uid: "", }, } - uid, err := g.client.HTTPTriggerCreate(testTrigger) + m, err := g.client.HTTPTriggerCreate(testTrigger) panicIf(err) - m := &fission.Metadata{ - Name: testTrigger.Metadata.Name, - Uid: uid, - } defer g.client.HTTPTriggerDelete(m) tr, err := g.client.HTTPTriggerGet(m) @@ -133,22 +129,18 @@ func TestHTTPTriggerApi(t *testing.T) { assert(*testTrigger == *tr, "trigger should match after reading") testTrigger.UrlPattern = "/hi" - uid2, err := g.client.HTTPTriggerUpdate(testTrigger) + m2, err := g.client.HTTPTriggerUpdate(testTrigger) panicIf(err) - m.Uid = uid2 + m.Uid = m2.Uid tr, err = g.client.HTTPTriggerGet(m) panicIf(err) testTrigger.Metadata.Uid = m.Uid assert(*testTrigger == *tr, "trigger should match after reading") testTrigger.Metadata.Name = "yyy" - uid, err = g.client.HTTPTriggerCreate(testTrigger) + m, err = g.client.HTTPTriggerCreate(testTrigger) panicIf(err) - m = &fission.Metadata{ - Name: testTrigger.Metadata.Name, - Uid: uid, - } defer g.client.HTTPTriggerDelete(m) ts, err := g.client.HTTPTriggerList() @@ -164,12 +156,8 @@ func TestEnvironmentApi(t *testing.T) { }, RunContainerImageUrl: "gcr.io/xyz", } - uid, err := g.client.EnvironmentCreate(testEnv) + m, err := g.client.EnvironmentCreate(testEnv) panicIf(err) - m := &fission.Metadata{ - Name: testEnv.Metadata.Name, - Uid: uid, - } defer g.client.EnvironmentDelete(m) tr, err := g.client.EnvironmentGet(m) @@ -178,22 +166,18 @@ func TestEnvironmentApi(t *testing.T) { assert(*testEnv == *tr, "env should match after reading") testEnv.RunContainerImageUrl = "/hi" - uid2, err := g.client.EnvironmentUpdate(testEnv) + m2, err := g.client.EnvironmentUpdate(testEnv) panicIf(err) - m.Uid = uid2 + m.Uid = m2.Uid tr, err = g.client.EnvironmentGet(m) panicIf(err) testEnv.Metadata.Uid = m.Uid assert(*testEnv == *tr, "env should match after reading") testEnv.Metadata.Name = "yyy" - uid, err = g.client.EnvironmentCreate(testEnv) + m, err = g.client.EnvironmentCreate(testEnv) panicIf(err) - m = &fission.Metadata{ - Name: testEnv.Metadata.Name, - Uid: uid, - } defer g.client.EnvironmentDelete(m) ts, err := g.client.EnvironmentList() diff --git a/controller/client/client.go b/controller/client/client.go index e14c6886..82bd7906 100644 --- a/controller/client/client.go +++ b/controller/client/client.go @@ -238,15 +238,15 @@ func (c *Client) FunctionList() ([]fission.Function, error) { return funcs, nil } -func (c *Client) HTTPTriggerCreate(t *fission.HTTPTrigger) (string, error) { +func (c *Client) HTTPTriggerCreate(t *fission.HTTPTrigger) (*fission.Metadata, error) { reqbody, err := json.Marshal(t) if err != nil { - return "", err + return nil, err } resp, err := http.Post(c.url("triggers/http"), "application/json", bytes.NewReader(reqbody)) if err != nil { - return "", err + return nil, err } defer resp.Body.Close() @@ -256,16 +256,16 @@ func (c *Client) HTTPTriggerCreate(t *fission.HTTPTrigger) (string, error) { "name": t.Metadata.Name, "err": err, }).Error("Failed to create http trigger") - return "", err + return nil, err } var m fission.Metadata err = json.Unmarshal(body, &m) if err != nil { - return "", err + return nil, err } - return m.Uid, nil + return &m, nil } func (c *Client) HTTPTriggerGet(m *fission.Metadata) (*fission.HTTPTrigger, error) { @@ -294,30 +294,30 @@ func (c *Client) HTTPTriggerGet(m *fission.Metadata) (*fission.HTTPTrigger, erro return &t, nil } -func (c *Client) HTTPTriggerUpdate(t *fission.HTTPTrigger) (string, error) { +func (c *Client) HTTPTriggerUpdate(t *fission.HTTPTrigger) (*fission.Metadata, error) { reqbody, err := json.Marshal(t) if err != nil { - return "", err + return nil, err } relativeUrl := fmt.Sprintf("triggers/http/%v", t.Metadata.Name) resp, err := c.put(relativeUrl, "application/json", reqbody) if err != nil { - return "", err + return nil, err } defer resp.Body.Close() body, err := c.handleResponse(resp) if err != nil { - return "", err + return nil, err } var m fission.Metadata err = json.Unmarshal(body, &m) if err != nil { - return "", err + return nil, err } - return m.Uid, nil + return &m, nil } func (c *Client) HTTPTriggerDelete(m *fission.Metadata) error { @@ -349,15 +349,15 @@ func (c *Client) HTTPTriggerList() ([]fission.HTTPTrigger, error) { return triggers, nil } -func (c *Client) EnvironmentCreate(env *fission.Environment) (string, error) { +func (c *Client) EnvironmentCreate(env *fission.Environment) (*fission.Metadata, error) { reqbody, err := json.Marshal(env) if err != nil { - return "", err + return nil, err } resp, err := http.Post(c.url("environments"), "application/json", bytes.NewReader(reqbody)) if err != nil { - return "", err + return nil, err } defer resp.Body.Close() @@ -367,16 +367,16 @@ func (c *Client) EnvironmentCreate(env *fission.Environment) (string, error) { "name": env.Metadata.Name, "err": err, }).Error("Failed to create environment") - return "", err + return nil, err } var m fission.Metadata err = json.Unmarshal(body, &m) if err != nil { - return "", err + return nil, err } - return m.Uid, nil + return &m, nil } func (c *Client) EnvironmentGet(m *fission.Metadata) (*fission.Environment, error) { @@ -405,30 +405,30 @@ func (c *Client) EnvironmentGet(m *fission.Metadata) (*fission.Environment, erro return &env, nil } -func (c *Client) EnvironmentUpdate(env *fission.Environment) (string, error) { +func (c *Client) EnvironmentUpdate(env *fission.Environment) (*fission.Metadata, error) { reqbody, err := json.Marshal(env) if err != nil { - return "", err + return nil, err } relativeUrl := fmt.Sprintf("environments/%v", env.Metadata.Name) resp, err := c.put(relativeUrl, "application/json", reqbody) if err != nil { - return "", err + return nil, err } defer resp.Body.Close() body, err := c.handleResponse(resp) if err != nil { - return "", err + return nil, err } var m fission.Metadata err = json.Unmarshal(body, &m) if err != nil { - return "", err + return nil, err } - return m.Uid, nil + return &m, nil } func (c *Client) EnvironmentDelete(m *fission.Metadata) error {