"port": float64(52001), "router_group_guid": "router-group-guid-002", "backend_ip": "1.2.3.4", "backend_port": float64(60000), "modification_tag": map[string]interface{}{"guid": "", "index": float64(0)}, "ttl": float64(0), } log_data := map[string][]interface{}{"tcp_mapping_deletion": []interface{}{data}} Expect(logger.Logs()[0].Message).To(ContainSubstring("request")) Expect(logger.Logs()[0].Data["tcp_mapping_deletion"]).To(Equal(log_data["tcp_mapping_deletion"])) }) Context("when database fails to delete", func() { BeforeEach(func() { database.DeleteTcpRouteMappingReturns(errors.New("stuff broke")) }) It("responds with a server error", func() { request = handlers.NewTestRequest(tcpMappings) tcpRouteMappingsHandler.Delete(responseRecorder, request) Expect(responseRecorder.Code).To(Equal(http.StatusInternalServerError)) Expect(responseRecorder.Body.String()).To(ContainSubstring("stuff broke")) }) }) Context("when route to be deleted is not present", func() { BeforeEach(func() { database.DeleteTcpRouteMappingReturns(db.DBError{Type: db.KeyNotFound, Message: "The specified key is not found"}) }) It("doesn't fail", func() {