payload := `{ "method": "set_vm_metadata", "arguments": [ "some ID", { "director": "BOSH Director", "deployment": "softlayer", "tags": "some, tags" } ], "context": { "director_uuid": "some director UUID" } }` _, err := testhelpers.RunCpi(rootTemplatePath, configPath, payload) Expect(err).ToNot(HaveOccurred()) }) }) Context("#CreateTmpConfigPath", func() { It("creates a config.json in temp dir with new config template values", func() { tmpConfigPath, err := testhelpers.CreateTmpConfigPath(rootTemplatePath, "test_fixtures/cpi_methods/config.json", "some username", "some ApiKey") Expect(err).ToNot(HaveOccurred()) fileInfo, err := os.Stat(tmpConfigPath) Expect(err).ToNot(HaveOccurred()) Expect(fileInfo.Mode().IsRegular()).To(BeTrue()) err = os.RemoveAll(tmpConfigPath) Expect(err).ToNot(HaveOccurred())
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) Expect(err).ToNot(HaveOccurred()) Ω(tagReferencesJSON).Should(ContainSubstring("cpi-test")) Ω(tagReferencesJSON).Should(ContainSubstring("softlayer")) }) })
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", } })