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

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

		It("sucessfully retrieves the image type key name for the instance", func() {
			imageTypeKeyName, err := vgbdtgService.GetImageTypeKeyName(vgbdtGroup.Id)
			Expect(err).ToNot(HaveOccurred())
			Expect(imageTypeKeyName).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.GetImageTypeKeyName(vgbdtGroup.Id)
					Expect(err).To(HaveOccurred())
				}
			})