BeforeEach(func() { hardware = datatypes.SoftLayer_Hardware{ Domain: "softlayer.com", FullyQualifiedDomainName: "fake.softlayer.com", Hostname: "fake-hostname", Id: 1234567, GlobalIdentifier: "fake-globalIdentifier", PrimaryBackendIpAddress: "fake-primary-backend-ip", PrimaryIpAddress: "fake-primary-ip", } }) It("Revoke access to storage from virtual guest", func() { fakeClient.FakeHttpClient.DoRawHttpRequestResponse = []byte("true") err = networkStorageService.DetachNetworkStorageFromHardware(hardware, 1234567) Expect(err).ToNot(HaveOccurred()) }) 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 fakeClient.FakeHttpClient.DoRawHttpRequestResponse = []byte("true") err = networkStorageService.DetachNetworkStorageFromHardware(hardware, 1234567) Expect(err).To(HaveOccurred()) } })