Expect(err).ToNot(HaveOccurred()) }) }) Context("#GenerateCpiJsonPayload", func() { Context("set_vm_metadata CPI method", func() { BeforeEach(func() { cpiTemplate = testhelpers.CpiTemplate{ ID: "fake-id", DirectorUuid: "fake-director-uuid", Tags: "fake, tags", } }) 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": "softlayer", "tags": "some, tags" } ], "context": { "director_uuid": "some director UUID" }
"DirectorUuid": "fake-director-uuid", "Tags": "cpi-test, softlayer", } }) 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)
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",