} ] }] }`) }) testServer = httptest.NewServer(h) }) AfterEach(func() { testServer.Close() }) It("saves the repo url into config", func() { callAddPluginRepo([]string{"repo", testServer.URL}) Ω(config.PluginRepos()[0].Name).To(Equal("repo")) Ω(config.PluginRepos()[0].Url).To(Equal(testServer.URL)) }) }) Context("repo name already existing", func() { BeforeEach(func() { config.SetPluginRepo(models.PluginRepo{Name: "repo", Url: "http://repo.com"}) }) It("informs user of the already existing repo", func() { callAddPluginRepo([]string{"repo", "http://repo2.com"}) Ω(ui.Outputs).To(ContainSubstrings( []string{"Plugin repo named \"repo\"", " already exists"},
Context("When repo name is valid", func() { BeforeEach(func() { config.SetPluginRepo(models.PluginRepo{ Name: "repo1", Url: "http://someserver1.com:1234", }) config.SetPluginRepo(models.PluginRepo{ Name: "repo2", Url: "http://server2.org:8080", }) }) It("deletes the repo from the config", func() { callRemovePluginRepo("repo1") Ω(len(config.PluginRepos())).To(Equal(1)) Ω(config.PluginRepos()[0].Name).To(Equal("repo2")) Ω(config.PluginRepos()[0].Url).To(Equal("http://server2.org:8080")) }) }) Context("When named repo doesn't exist", func() { BeforeEach(func() { config.SetPluginRepo(models.PluginRepo{ Name: "repo1", Url: "http://someserver1.com:1234", }) config.SetPluginRepo(models.PluginRepo{ Name: "repo2", Url: "http://server2.org:8080",