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

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

		It("sucessfully retrieves the image type for the instance", func() {
			imageType, err := vgbdtgService.GetImageType(vgbdtGroup.Id)
			Expect(err).ToNot(HaveOccurred())
			Expect(imageType.Description).To(Equal("a disk that may be replaced on upgrade"))
			Expect(imageType.KeyName).To(Equal("SYSTEM"))
			Expect(imageType.Name).To(Equal("System"))
		})

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

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