Expect(requiredVersion).To(Equal(expectedRequiredVersion)) }) }) }) Describe("Execute", func() { var runCLIErr error BeforeEach(func() { err := flagContext.Parse("service-instance") Expect(err).NotTo(HaveOccurred()) cmd.Requirements(factory, flagContext) }) JustBeforeEach(func() { runCLIErr = cmd.Execute(flagContext) }) It("tells the user it will create the user provided service", func() { Expect(runCLIErr).NotTo(HaveOccurred()) Expect(ui.Outputs()).To(ContainSubstrings( []string{"Creating user provided service service-instance in org"}, )) }) It("tries to create the user provided service instance", func() { Expect(runCLIErr).NotTo(HaveOccurred()) Expect(serviceInstanceRepo.CreateCallCount()).To(Equal(1)) name, drainURL, routeServiceURL, credentialsMap := serviceInstanceRepo.CreateArgsForCall(0) Expect(name).To(Equal("service-instance")) Expect(drainURL).To(Equal(""))
cmd.Requirements(factory, flagContext) org := models.Organization{} org.GUID = "the-org-guid" org.Name = "the-org-name" organizationRequirement.GetOrganizationReturns(org) }) Context("when the UserRequirement returns a user with a GUID", func() { BeforeEach(func() { userFields := models.UserFields{GUID: "the-user-guid", Username: "******"} userRequirement.GetUserReturns(userFields) }) It("tells the user it is assigning the role", func() { cmd.Execute(flagContext) Expect(ui.Outputs).To(ContainSubstrings( []string{"Assigning role", "OrgManager", "the-user-name", "the-org", "the-user-name"}, []string{"OK"}, )) }) It("sets the role using the GUID", func() { cmd.Execute(flagContext) Expect(userRepo.SetOrgRoleByGUIDCallCount()).To(Equal(1)) actualUserGUID, actualOrgGUID, actualRole := userRepo.SetOrgRoleByGUIDArgsForCall(0) Expect(actualUserGUID).To(Equal("the-user-guid")) Expect(actualOrgGUID).To(Equal("the-org-guid")) Expect(actualRole).To(Equal(models.RoleOrgManager)) })
org models.Organization err error ) BeforeEach(func() { flagContext.Parse("the-user-name", "the-org-name", "the-space-name", "SpaceManager") cmd.Requirements(factory, flagContext) org = models.Organization{} org.GUID = "the-org-guid" org.Name = "the-org-name" organizationRequirement.GetOrganizationReturns(org) }) JustBeforeEach(func() { err = cmd.Execute(flagContext) }) Context("when the space is not found", func() { BeforeEach(func() { spaceRepo.FindByNameInOrgReturns(models.Space{}, errors.New("space-repo-error")) }) It("doesn't call CC", func() { Expect(userRepo.UnsetSpaceRoleByGUIDCallCount()).To(BeZero()) Expect(userRepo.UnsetSpaceRoleByUsernameCallCount()).To(BeZero()) }) It("return an error", func() { Expect(err).To(HaveOccurred()) Expect(err.Error()).To(Equal("space-repo-error"))
Expect(err).NotTo(HaveOccurred()) Expect(requiredVersion).To(Equal(expectedRequiredVersion)) }) }) }) Describe("Execute", func() { BeforeEach(func() { err := flagContext.Parse("domain-name", "service-instance") Expect(err).NotTo(HaveOccurred()) cmd.Requirements(factory, flagContext) }) It("tries to find the route", func() { ui.Inputs = []string{"n"} cmd.Execute(flagContext) Expect(routeRepo.FindCallCount()).To(Equal(1)) host, domain, path, port := routeRepo.FindArgsForCall(0) Expect(host).To(Equal("")) Expect(domain).To(Equal(fakeDomain)) Expect(path).To(Equal("")) Expect(port).To(Equal(0)) }) Context("when given a hostname", func() { BeforeEach(func() { flagContext = flags.NewFlagContext(cmd.MetaData().Flags) err := flagContext.Parse("domain-name", "service-instance", "-n", "the-hostname") Expect(err).NotTo(HaveOccurred()) })