httpBody, readErr := ioutil.ReadAll(httpResponse.Body) Expect(readErr).ToNot(HaveOccurred()) Expect(httpResponse.StatusCode).To(Equal(200)) Expect(httpBody).To(Equal([]byte("Some data"))) }) It("closes the underlying file", func() { blobPath := "/var/vcap/micro_bosh/data/cache/123-456-789" fs.WriteFileString(blobPath, "Some data") httpResponse, err := httpClient.Get(serverURL + "/blobs/a5/123-456-789") defer httpResponse.Body.Close() fileStats, err := fs.FindFileStats(blobPath) Expect(err).ToNot(HaveOccurred()) Expect(fileStats.Open).To(BeFalse()) }) Context("when incorrect http method is used", func() { It("returns a 404", func() { postBody := `{"method":"ping","arguments":["foo","bar"], "reply_to": "reply to me!"}` postPayload := strings.NewReader(postBody) httpResponse, err := httpClient.Post(serverURL+"/blobs/123", "application/json", postPayload) Expect(err).ToNot(HaveOccurred()) defer httpResponse.Body.Close() Expect(httpResponse.StatusCode).To(Equal(404))