예제 #1
0
			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))