[]string{"Incorrect Usage. Requires USERNAME, ORG, SPACE, ROLE as arguments"}, []string{"NAME"}, []string{"USAGE"}, )) }) }) Context("when provided three args", func() { BeforeEach(func() { flagContext.Parse("the-username", "the-org-name", "the-space-name", "SpaceManager") }) It("returns a LoginRequirement", func() { requirementsFactory.LoginSuccess = false requirementsFactory.UserRequirementFails = false requirementsFactory.SpaceRequirementFails = false actualRequirements, err := cmd.Requirements(requirementsFactory, flagContext) Expect(err).NotTo(HaveOccurred()) var failures int for _, req := range actualRequirements { ok := req.Execute() if !ok { failures = failures + 1 } } Expect(failures).To(Equal(1)) }) It("returns a UserRequirement", func() {
It("fails requirements when not logged in", func() { Ω(runCommand("my-space")).To(BeFalse()) }) It("does not pass requirements if org is not targeted", func() { requirementsFactory.LoginSuccess = true requirementsFactory.TargetedOrgSuccess = false Expect(runCommand("my-space")).To(BeFalse()) }) It("does not pass requirements if space does not exist", func() { requirementsFactory.LoginSuccess = true requirementsFactory.TargetedOrgSuccess = true requirementsFactory.SpaceRequirementFails = true Expect(runCommand("my-space")).To(BeFalse()) }) }) Describe("allow-space-ssh", func() { var space models.Space BeforeEach(func() { requirementsFactory.LoginSuccess = true requirementsFactory.TargetedOrgSuccess = true space = models.Space{} space.Name = "the-space-name" space.Guid = "the-space-guid"