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, 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()
+24 -24
View File
@@ -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 {