_, err := vgbdtgService.DeleteObject(vgbdtGroup.Id)
					Expect(err).To(HaveOccurred())
				}
			})
		})
	})

	Context("#GetDatacenters", func() {
		BeforeEach(func() {
			vgbdtGroup.Id = 1234567
			fakeClient.FakeHttpClient.DoRawHttpRequestResponse, err = testhelpers.ReadJsonTestFixtures("services", "SoftLayer_Virtual_Guest_Block_Device_Template_Group_Service_getDatacenters.json")
			Expect(err).ToNot(HaveOccurred())
		})

		It("sucessfully retrieves an array of SoftLayer_Location array for virtual guest device template group", func() {
			locations, err := vgbdtgService.GetDatacenters(vgbdtGroup.Id)
			Expect(err).ToNot(HaveOccurred())
			Expect(len(locations)).To(BeNumerically("==", 2))

			Expect(locations[0].Id).To(Equal(265592))
			Expect(locations[0].LongName).To(Equal("Amsterdam 1"))
			Expect(locations[0].Name).To(Equal("ams01"))

			Expect(locations[1].Id).To(Equal(154820))
			Expect(locations[1].LongName).To(Equal("Dallas 6"))
			Expect(locations[1].Name).To(Equal("dal06"))
		})

		Context("when HTTP client returns error codes 40x or 50x", func() {
			It("fails for error code 40x", func() {
				errorCodes := []int{400, 401, 499}