testhelpers.TIMEOUT = 35 * time.Minute testhelpers.POLLING_INTERVAL = 10 * time.Second testhelpers.WaitForVirtualGuestBlockTemplateGroupToHaveNoActiveTransactions(vgbdtGroup.Id) }) AfterEach(func() { _, err := vgbdtgService.DeleteObject(virtual_disk_image_id) Expect(err).ToNot(HaveOccurred()) }) It("returns nil when passed valid ID", func() { replacementMap = map[string]string{ "ID": strconv.Itoa(virtual_disk_image_id), "Datacenter": testhelpers.GetDatacenter(), } jsonPayload, err := testhelperscpi.GenerateCpiJsonPayload("delete_stemcell", rootTemplatePath, replacementMap) Expect(err).ToNot(HaveOccurred()) outputBytes, err := testhelperscpi.RunCpi(rootTemplatePath, tmpConfigPath, jsonPayload) log.Println("outputBytes=" + string(outputBytes)) Expect(err).ToNot(HaveOccurred()) err = json.Unmarshal(outputBytes, &output) Expect(err).ToNot(HaveOccurred()) Expect(output["result"]).To(BeNil()) Expect(output["error"]).To(BeNil()) }) }) Context("delete_stemcell in SoftLayer", func() { It("returns false because empty parameters", func() {
}) }) Context("#GenerateCpiJsonPayload", func() { Context("set_vm_metadata CPI method", func() { BeforeEach(func() { cpiTemplate = testhelpers.CpiTemplate{ ID: "fake-id", DirectorUuid: "fake-director-uuid", Tag_deployment: "fake_deployment", Tag_compiling: "fake_compiling", } }) It("verifies the generated payload", func() { payload, err := testhelpers.GenerateCpiJsonPayload("set_vm_metadata", rootTemplatePath, replacementMap) Expect(err).ToNot(HaveOccurred()) Expect(payload).To(MatchJSON(` { "method": "set_vm_metadata", "arguments": [ "some ID", { "director": "BOSH Director", "deployment": "fake_deployment", "compiling": "fake_compiling" } ], "context": { "director_uuid": "some director UUID" }
err = json.Unmarshal(outputBytes, &resultOutput) Expect(err).ToNot(HaveOccurred()) Expect(resultOutput["result"]).To(BeNil()) Expect(resultOutput["error"]).ToNot(BeNil()) }) }) Context("create_disk in SoftLayer with invalid virtual guest id", func() { BeforeEach(func() { replacementMap = map[string]string{ "ID": "123456", } }) It("returns error because invalid guest id", func() { jsonPayload, err := testhelperscpi.GenerateCpiJsonPayload("create_disk", rootTemplatePath, replacementMap) Expect(err).ToNot(HaveOccurred()) outputBytes, err := testhelperscpi.RunCpi(rootTemplatePath, tmpConfigPath, jsonPayload) log.Println("outputBytes=" + string(outputBytes)) Expect(err).ToNot(HaveOccurred()) err = json.Unmarshal(outputBytes, &resultOutput) Expect(err).ToNot(HaveOccurred()) Expect(resultOutput["error"]).ToNot(BeNil()) }) }) Context("create_disk in SoftLayer with valid virtual guest id", func() { BeforeEach(func() { err = testhelpers.FindAndDeleteTestSshKeys() Expect(err).ToNot(HaveOccurred())
"Tag_compiling": "buildpack_python", "Tag_deployment": "metadata_deployment", } }) AfterEach(func() { testhelpers.DeleteVirtualGuest(virtualGuest.Id) testhelpers.DeleteSshKey(createdSshKey.Id) }) It("issues set_vm_metadata to cpi", func() { pwd, err := os.Getwd() Expect(err).ToNot(HaveOccurred()) rootTemplatePath := filepath.Join(pwd, "..", "..") jsonPayload, err := testhelperscpi.GenerateCpiJsonPayload("set_vm_metadata", rootTemplatePath, replacementMap) Expect(err).ToNot(HaveOccurred()) tmpConfigPath, err := testhelperscpi.CreateTmpConfigPath(rootTemplatePath, configPath, username, apiKey) Expect(err).ToNot(HaveOccurred()) _, err = testhelperscpi.RunCpi(rootTemplatePath, tmpConfigPath, jsonPayload) Expect(err).ToNot(HaveOccurred()) err = os.RemoveAll(tmpConfigPath) Expect(err).ToNot(HaveOccurred()) tagReferences, err := virtualGuestService.GetTagReferences(virtualGuest.Id) Expect(err).ToNot(HaveOccurred()) tagReferencesJSON, err := json.Marshal(tagReferences)
AfterEach(func() { err = os.RemoveAll(tmpConfigPath) Expect(err).ToNot(HaveOccurred()) }) Context("detach_disk in SoftLayer with invalid virtual guest id and disk id", func() { BeforeEach(func() { replacementMap = map[string]string{ "VMID": "123456", "DiskID": "123", } }) It("returns error", func() { jsonPayload, err := testhelperscpi.GenerateCpiJsonPayload("detach_disk", rootTemplatePath, replacementMap) Expect(err).ToNot(HaveOccurred()) outputBytes, err := testhelperscpi.RunCpi(rootTemplatePath, tmpConfigPath, jsonPayload) log.Println("outputBytes=" + string(outputBytes)) Expect(err).ToNot(HaveOccurred()) err = json.Unmarshal(outputBytes, &resultOutput) Expect(err).ToNot(HaveOccurred()) Expect(resultOutput["error"]).ToNot(BeNil()) }) }) Context("detach_disk in SoftLayer with valid virtual guest id(with multipath installed) and disk id", func() { BeforeEach(func() { err = testhelpers.FindAndDeleteTestSshKeys() Expect(err).ToNot(HaveOccurred())
strVGID = strconv.Itoa(virtualGuest.Id) replacementMap = map[string]string{ "ID": strVGID, "DirectorUuid": "fake-director-uuid", } }) AfterEach(func() { testhelpers.DeleteVirtualGuest(virtualGuest.Id) testhelpers.DeleteSshKey(createdSshKey.Id) }) It("returns true because vm exists", func() { jsonPayload, err := testhelperscpi.GenerateCpiJsonPayload("has_vm", rootTemplatePath, replacementMap) Expect(err).ToNot(HaveOccurred()) outputBytes, err := testhelperscpi.RunCpi(rootTemplatePath, tmpConfigPath, jsonPayload) Expect(err).ToNot(HaveOccurred()) err = json.Unmarshal(outputBytes, &output) Expect(err).ToNot(HaveOccurred()) Expect(output["result"]).To(BeTrue()) }) }) Context("has_vm without valid vm id", func() { BeforeEach(func() { replacementMap = map[string]string{ "ID": "123456", "DirectorUuid": "fake-director-uuid",