data := map[string]interface{}{ "ip": "1.2.3.4", "log_guid": "", "port": float64(7000), "route": "post_here", "ttl": float64(0), } log_data := map[string][]interface{}{"route_deletion": []interface{}{data}} Expect(logger.Logs()[0].Message).To(ContainSubstring("request")) Expect(logger.Logs()[0].Data["route_deletion"]).To(Equal(log_data["route_deletion"])) }) Context("when the database deletion fails", func() { It("returns a 204 if the key was not found", func() { database.DeleteRouteReturns(db.DBError{Type: db.KeyNotFound, Message: "The specified route could not be found."}) request = handlers.NewTestRequest(route) routesHandler.Delete(responseRecorder, request) Expect(responseRecorder.Code).To(Equal(http.StatusNoContent)) }) It("responds with a server error", func() { database.DeleteRouteReturns(errors.New("stuff broke")) request = handlers.NewTestRequest(route) routesHandler.Delete(responseRecorder, request) Expect(responseRecorder.Code).To(Equal(http.StatusInternalServerError)) Expect(responseRecorder.Body.String()).To(ContainSubstring("stuff broke"))
data := map[string]interface{}{ "ip": "1.2.3.4", "log_guid": "", "port": float64(7000), "route": "post_here", "ttl": float64(0), } log_data := map[string][]interface{}{"route_deletion": []interface{}{data}} Expect(logger.Logs()[0].Message).To(ContainSubstring("request")) Expect(logger.Logs()[0].Data["route_deletion"]).To(Equal(log_data["route_deletion"])) }) Context("when the database deletion fails", func() { It("returns a 204 if the key was not found", func() { database.DeleteRouteReturns(errors.New("Key not found")) request = newTestRequest(route) routesHandler.Delete(responseRecorder, request) Expect(responseRecorder.Code).To(Equal(http.StatusNoContent)) }) It("responds with a server error", func() { database.DeleteRouteReturns(errors.New("stuff broke")) request = newTestRequest(route) routesHandler.Delete(responseRecorder, request) Expect(responseRecorder.Code).To(Equal(http.StatusInternalServerError)) Expect(responseRecorder.Body.String()).To(ContainSubstring("stuff broke"))