mirror of
https://github.com/fnproject/fn.git
synced 2022-10-28 21:29:17 +03:00
@@ -22,7 +22,11 @@ func (s *Server) handleTriggerGet(c *gin.Context) {
|
||||
handleErrorResponse(c, fmt.Errorf("unexpected error - trigger app not available: %s", err))
|
||||
}
|
||||
|
||||
s.triggerAnnotator.AnnotateTrigger(c, app, trigger)
|
||||
trigger, err = s.triggerAnnotator.AnnotateTrigger(c, app, trigger)
|
||||
if err != nil {
|
||||
handleErrorResponse(c, err)
|
||||
return
|
||||
}
|
||||
|
||||
c.JSON(http.StatusOK, trigger)
|
||||
}
|
||||
|
||||
@@ -123,7 +123,7 @@ func TestTriggerCreate(t *testing.T) {
|
||||
t.Errorf("Test %d: error decoding body for GET 'ok' json, it was a lie: %v", i, err)
|
||||
}
|
||||
|
||||
if !triggerGet.Equals(&trigger) {
|
||||
if !trigger.EqualsWithAnnotationSubset(&triggerGet) {
|
||||
t.Errorf("Test %d: GET trigger should match result of PUT trigger: %v, %v", i, triggerGet, trigger)
|
||||
}
|
||||
|
||||
@@ -310,6 +310,58 @@ func TestTriggerGet(t *testing.T) {
|
||||
}
|
||||
}
|
||||
|
||||
func TestHTTPTriggerEndpointAnnotations(t *testing.T) {
|
||||
|
||||
a := &models.App{ID: "appid", Name: "myapp"}
|
||||
fn := &models.Fn{ID: "fnid", AppID: a.ID}
|
||||
fn.SetDefaults()
|
||||
trig := &models.Trigger{ID: "triggerid", FnID: fn.ID, AppID: a.ID, Type: "http", Source: "/myt"}
|
||||
commonDS := datastore.NewMockInit([]*models.App{a}, []*models.Fn{fn}, []*models.Trigger{trig})
|
||||
|
||||
srv := testServer(commonDS, &mqs.Mock{}, logs.NewMock(), nil, ServerTypeAPI)
|
||||
|
||||
_, rec := routerRequest(t, srv.Router, "GET", "/v2/triggers/triggerid", bytes.NewBuffer([]byte("")))
|
||||
|
||||
if rec.Code != http.StatusOK {
|
||||
t.Fatalf("expected code %d != 200", rec.Code)
|
||||
}
|
||||
var triggerGet models.Trigger
|
||||
err := json.NewDecoder(rec.Body).Decode(&triggerGet)
|
||||
if err != nil {
|
||||
t.Fatalf("Invalid json from server %s", err)
|
||||
}
|
||||
|
||||
const triggerEndpoint = "fnproject.io/trigger/httpEndpoint"
|
||||
v, err := triggerGet.Annotations.GetString(triggerEndpoint)
|
||||
if err != nil {
|
||||
t.Fatalf("failed to get trigger %s", err)
|
||||
}
|
||||
if v != "http://127.0.0.1:8080/t/myapp/myt" {
|
||||
t.Errorf("unexpected trigger val %s", v)
|
||||
}
|
||||
|
||||
_, rec = routerRequest(t, srv.Router, "GET", "/v2/triggers?app_id=appid", bytes.NewBuffer([]byte("")))
|
||||
|
||||
if rec.Code != http.StatusOK {
|
||||
t.Fatalf("expected code %d != 200", rec.Code)
|
||||
}
|
||||
var triggerList models.TriggerList
|
||||
err = json.NewDecoder(rec.Body).Decode(&triggerList)
|
||||
if err != nil {
|
||||
t.Fatalf("Invalid json from server %s : %s", err, string(rec.Body.Bytes()))
|
||||
}
|
||||
|
||||
if len(triggerList.Items) != 1 {
|
||||
t.Fatalf("Unexpected trigger list result")
|
||||
}
|
||||
|
||||
v, err = triggerList.Items[0].Annotations.GetString(triggerEndpoint)
|
||||
if v != "http://127.0.0.1:8080/t/myapp/myt" {
|
||||
t.Errorf("unexpected trigger val %s", v)
|
||||
}
|
||||
|
||||
}
|
||||
|
||||
func TestTriggerUpdate(t *testing.T) {
|
||||
buf := setLogBuffer()
|
||||
defer func() {
|
||||
@@ -377,7 +429,7 @@ func TestTriggerUpdate(t *testing.T) {
|
||||
}
|
||||
|
||||
trig.Name = test.name
|
||||
if !triggerGet.Equals(trig) {
|
||||
if !trig.EqualsWithAnnotationSubset(&triggerGet) {
|
||||
t.Errorf("Test%d: trigger should be updated: %v : %v", i, trig, triggerGet)
|
||||
}
|
||||
}
|
||||
|
||||
Reference in New Issue
Block a user