Make *Update functions consistently return fission.Metadata

This commit is contained in:
Soam Vasani
2016-11-04 22:57:11 -07:00
parent f775806405
commit a5ae7688ce
2 changed files with 32 additions and 48 deletions
+8 -24
View File
@@ -119,12 +119,8 @@ func TestHTTPTriggerApi(t *testing.T) {
Uid: "", Uid: "",
}, },
} }
uid, err := g.client.HTTPTriggerCreate(testTrigger) m, err := g.client.HTTPTriggerCreate(testTrigger)
panicIf(err) panicIf(err)
m := &fission.Metadata{
Name: testTrigger.Metadata.Name,
Uid: uid,
}
defer g.client.HTTPTriggerDelete(m) defer g.client.HTTPTriggerDelete(m)
tr, err := g.client.HTTPTriggerGet(m) tr, err := g.client.HTTPTriggerGet(m)
@@ -133,22 +129,18 @@ func TestHTTPTriggerApi(t *testing.T) {
assert(*testTrigger == *tr, "trigger should match after reading") assert(*testTrigger == *tr, "trigger should match after reading")
testTrigger.UrlPattern = "/hi" testTrigger.UrlPattern = "/hi"
uid2, err := g.client.HTTPTriggerUpdate(testTrigger) m2, err := g.client.HTTPTriggerUpdate(testTrigger)
panicIf(err) panicIf(err)
m.Uid = uid2 m.Uid = m2.Uid
tr, err = g.client.HTTPTriggerGet(m) tr, err = g.client.HTTPTriggerGet(m)
panicIf(err) panicIf(err)
testTrigger.Metadata.Uid = m.Uid testTrigger.Metadata.Uid = m.Uid
assert(*testTrigger == *tr, "trigger should match after reading") assert(*testTrigger == *tr, "trigger should match after reading")
testTrigger.Metadata.Name = "yyy" testTrigger.Metadata.Name = "yyy"
uid, err = g.client.HTTPTriggerCreate(testTrigger) m, err = g.client.HTTPTriggerCreate(testTrigger)
panicIf(err) panicIf(err)
m = &fission.Metadata{
Name: testTrigger.Metadata.Name,
Uid: uid,
}
defer g.client.HTTPTriggerDelete(m) defer g.client.HTTPTriggerDelete(m)
ts, err := g.client.HTTPTriggerList() ts, err := g.client.HTTPTriggerList()
@@ -164,12 +156,8 @@ func TestEnvironmentApi(t *testing.T) {
}, },
RunContainerImageUrl: "gcr.io/xyz", RunContainerImageUrl: "gcr.io/xyz",
} }
uid, err := g.client.EnvironmentCreate(testEnv) m, err := g.client.EnvironmentCreate(testEnv)
panicIf(err) panicIf(err)
m := &fission.Metadata{
Name: testEnv.Metadata.Name,
Uid: uid,
}
defer g.client.EnvironmentDelete(m) defer g.client.EnvironmentDelete(m)
tr, err := g.client.EnvironmentGet(m) tr, err := g.client.EnvironmentGet(m)
@@ -178,22 +166,18 @@ func TestEnvironmentApi(t *testing.T) {
assert(*testEnv == *tr, "env should match after reading") assert(*testEnv == *tr, "env should match after reading")
testEnv.RunContainerImageUrl = "/hi" testEnv.RunContainerImageUrl = "/hi"
uid2, err := g.client.EnvironmentUpdate(testEnv) m2, err := g.client.EnvironmentUpdate(testEnv)
panicIf(err) panicIf(err)
m.Uid = uid2 m.Uid = m2.Uid
tr, err = g.client.EnvironmentGet(m) tr, err = g.client.EnvironmentGet(m)
panicIf(err) panicIf(err)
testEnv.Metadata.Uid = m.Uid testEnv.Metadata.Uid = m.Uid
assert(*testEnv == *tr, "env should match after reading") assert(*testEnv == *tr, "env should match after reading")
testEnv.Metadata.Name = "yyy" testEnv.Metadata.Name = "yyy"
uid, err = g.client.EnvironmentCreate(testEnv) m, err = g.client.EnvironmentCreate(testEnv)
panicIf(err) panicIf(err)
m = &fission.Metadata{
Name: testEnv.Metadata.Name,
Uid: uid,
}
defer g.client.EnvironmentDelete(m) defer g.client.EnvironmentDelete(m)
ts, err := g.client.EnvironmentList() ts, err := g.client.EnvironmentList()
+24 -24
View File
@@ -238,15 +238,15 @@ func (c *Client) FunctionList() ([]fission.Function, error) {
return funcs, nil 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) reqbody, err := json.Marshal(t)
if err != nil { if err != nil {
return "", err return nil, err
} }
resp, err := http.Post(c.url("triggers/http"), "application/json", bytes.NewReader(reqbody)) resp, err := http.Post(c.url("triggers/http"), "application/json", bytes.NewReader(reqbody))
if err != nil { if err != nil {
return "", err return nil, err
} }
defer resp.Body.Close() defer resp.Body.Close()
@@ -256,16 +256,16 @@ func (c *Client) HTTPTriggerCreate(t *fission.HTTPTrigger) (string, error) {
"name": t.Metadata.Name, "name": t.Metadata.Name,
"err": err, "err": err,
}).Error("Failed to create http trigger") }).Error("Failed to create http trigger")
return "", err return nil, err
} }
var m fission.Metadata var m fission.Metadata
err = json.Unmarshal(body, &m) err = json.Unmarshal(body, &m)
if err != nil { 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) { 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 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) reqbody, err := json.Marshal(t)
if err != nil { if err != nil {
return "", err return nil, err
} }
relativeUrl := fmt.Sprintf("triggers/http/%v", t.Metadata.Name) relativeUrl := fmt.Sprintf("triggers/http/%v", t.Metadata.Name)
resp, err := c.put(relativeUrl, "application/json", reqbody) resp, err := c.put(relativeUrl, "application/json", reqbody)
if err != nil { if err != nil {
return "", err return nil, err
} }
defer resp.Body.Close() defer resp.Body.Close()
body, err := c.handleResponse(resp) body, err := c.handleResponse(resp)
if err != nil { if err != nil {
return "", err return nil, err
} }
var m fission.Metadata var m fission.Metadata
err = json.Unmarshal(body, &m) err = json.Unmarshal(body, &m)
if err != nil { if err != nil {
return "", err return nil, err
} }
return m.Uid, nil return &m, nil
} }
func (c *Client) HTTPTriggerDelete(m *fission.Metadata) error { func (c *Client) HTTPTriggerDelete(m *fission.Metadata) error {
@@ -349,15 +349,15 @@ func (c *Client) HTTPTriggerList() ([]fission.HTTPTrigger, error) {
return triggers, nil 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) reqbody, err := json.Marshal(env)
if err != nil { if err != nil {
return "", err 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(reqbody))
if err != nil { if err != nil {
return "", err return nil, err
} }
defer resp.Body.Close() defer resp.Body.Close()
@@ -367,16 +367,16 @@ func (c *Client) EnvironmentCreate(env *fission.Environment) (string, error) {
"name": env.Metadata.Name, "name": env.Metadata.Name,
"err": err, "err": err,
}).Error("Failed to create environment") }).Error("Failed to create environment")
return "", err return nil, err
} }
var m fission.Metadata var m fission.Metadata
err = json.Unmarshal(body, &m) err = json.Unmarshal(body, &m)
if err != nil { 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) { 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 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) reqbody, err := json.Marshal(env)
if err != nil { if err != nil {
return "", err return nil, err
} }
relativeUrl := fmt.Sprintf("environments/%v", env.Metadata.Name) relativeUrl := fmt.Sprintf("environments/%v", env.Metadata.Name)
resp, err := c.put(relativeUrl, "application/json", reqbody) resp, err := c.put(relativeUrl, "application/json", reqbody)
if err != nil { if err != nil {
return "", err return nil, err
} }
defer resp.Body.Close() defer resp.Body.Close()
body, err := c.handleResponse(resp) body, err := c.handleResponse(resp)
if err != nil { if err != nil {
return "", err return nil, err
} }
var m fission.Metadata var m fission.Metadata
err = json.Unmarshal(body, &m) err = json.Unmarshal(body, &m)
if err != nil { if err != nil {
return "", err return nil, err
} }
return m.Uid, nil return &m, nil
} }
func (c *Client) EnvironmentDelete(m *fission.Metadata) error { func (c *Client) EnvironmentDelete(m *fission.Metadata) error {