Beispiel #1
0
func (b *Binding) Update(ctx *app.UpdateBindingContext) error {
	if !b.state.InstanceExists(ctx.InstanceId) {
		return ctx.NotFound()
	}

	if b.state.InstanceBindingExists(ctx.InstanceId, ctx.BindingId) {
		return ctx.Conflict()
	}

	err := b.state.AddInstanceBinding(ctx.InstanceId, ctx.BindingId)
	if err != nil {
		return ctx.InternalServerError()
	}

	return ctx.Created()
}
	var goaContext *goa.Context
	var responseWriter *httptest.ResponseRecorder

	BeforeEach(func() {
		state = new(fakes.FakeState)
		gctx := context.Background()
		req := http.Request{}
		responseWriter = httptest.NewRecorder()
		params := url.Values{}
		payload := map[string]string{}

		goaContext = goa.NewContext(gctx, &req, responseWriter, params, payload)
	})

	Describe("#Update", func() {
		var bindingContext *app.UpdateBindingContext

		BeforeEach(func() {
			var err error
			bindingContext, err = app.NewUpdateBindingContext(goaContext)
			Expect(err).ToNot(HaveOccurred())

			bindingContext.InstanceId = "instance-1"
			bindingContext.BindingId = "binding-1"
			bindingContext.AppGuid = "app-guid"
		})

		JustBeforeEach(func() {
			bindingController = controllers.NewBinding(state)
			err := bindingController.Update(bindingContext)
			Expect(err).ToNot(HaveOccurred())