Context("#GetName", func() { It("returns the name for the service", func() { name := dnsDomainService.GetName() Expect(name).To(Equal("SoftLayer_Dns_Domain")) }) }) Context("#CreateDns", func() { BeforeEach(func() { fakeClient.FakeHttpClient.DoRawHttpRequestResponse, err = testhelpers.ReadJsonTestFixtures("services", "SoftLayer_Dns_Domain_createObject.json") Expect(err).ToNot(HaveOccurred()) }) It("returns an instance of datatypes.SoftLayer_Dns_Domain", func() { dns, err := dnsDomainService.CreateObject(datatypes.SoftLayer_Dns_Domain_Template{}) Expect(err).ToNot(HaveOccurred()) Expect(dns).NotTo(BeNil()) Expect(dns.Id).NotTo(BeNil()) Expect(dns.Serial).NotTo(BeNil()) Expect(dns.UpdateDate).NotTo(BeNil()) Expect(dns.Name).To(Equal("qwerty123ff.com")) }) 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 := dnsDomainService.CreateObject(datatypes.SoftLayer_Dns_Domain_Template{})