func (context *ConfiguredContext) Setup() { cf.AsUser(context.AdminUserContext(), func() { definition := quotaDefinition{ Name: context.quotaDefinitionName, TotalServices: 100, TotalRoutes: 1000, MemoryLimit: 10240, NonBasicServicesAllowed: true, } definitionPayload, err := json.Marshal(definition) Expect(err).ToNot(HaveOccurred()) var response cf.GenericResource cf.ApiRequest("POST", "/v2/quota_definitions", &response, string(definitionPayload)) context.quotaDefinitionGUID = response.Metadata.Guid fmt.Printf("QuotaDefinition Response: %#v\n", response) println("GUID", context.quotaDefinitionGUID) Expect(cf.Cf("create-user", context.regularUserUsername, context.regularUserPassword)).To(SayBranches( cmdtest.ExpectBranch{"OK", func() {}}, cmdtest.ExpectBranch{"scim_resource_already_exists", func() {}}, )) Expect(cf.Cf("create-org", context.organizationName)).To(ExitWith(0)) Expect(cf.Cf("set-quota", context.organizationName, definition.Name)).To(ExitWith(0)) }) }
func GinkgoBootstrap(t *testing.T, suiteName string) { RegisterFailHandler(Fail) cf.AsUser(RegularUserContext, func() { outputFile := fmt.Sprintf("../results/%s-junit_%d.xml", suiteName, ginkgoconfig.GinkgoConfig.ParallelNode) RunSpecsWithDefaultAndCustomReporters(t, suiteName, []Reporter{reporters.NewJUnitReporter(outputFile)}) }) }
func (e *Environment) Setup() { e.context.Setup() cf.AsUser(e.context.AdminUserContext(), func() { setUpSpaceWithUserAccess(e.context.RegularUserContext()) }) e.originalCfHomeDir, e.currentCfHomeDir = cf.InitiateUserContext(e.context.RegularUserContext()) cf.TargetSpace(e.context.RegularUserContext()) }
func (context *ConfiguredContext) Teardown() { cf.AsUser(context.AdminUserContext(), func() { Eventually(cf.Cf("delete-user", "-f", context.regularUserUsername), 30).Should(Exit(0)) if !context.isPersistent { Eventually(cf.Cf("delete-org", "-f", context.organizationName), 30).Should(Exit(0)) Eventually(cf.Cf("delete-quota", "-f", context.quotaDefinitionName), 30).Should(Exit(0)) } }) }
func (context *ConfiguredContext) Teardown() { cf.AsUser(context.AdminUserContext(), func() { Expect(cf.Cf("delete-user", "-f", context.regularUserUsername)).To(Say("OK")) if !context.isPersistent { Expect(cf.Cf("delete-org", "-f", context.organizationName)).To(Say("OK")) cf.ApiRequest( "DELETE", "/v2/quota_definitions/"+context.quotaDefinitionGUID+"?recursive=true", nil, ) } }) }
func (context *ConfiguredContext) Setup() { cf.AsUser(context.AdminUserContext(), func() { definition := quotaDefinition{ Name: context.quotaDefinitionName, TotalServices: "100", TotalRoutes: "1000", MemoryLimit: "10G", NonBasicServicesAllowed: true, } args := []string{ "create-quota", context.quotaDefinitionName, "-m", definition.MemoryLimit, "-r", definition.TotalRoutes, "-s", definition.TotalServices, } if definition.NonBasicServicesAllowed { args = append(args, "--allow-paid-service-plans") } Eventually(cf.Cf(args...), 30).Should(Exit(0)) createUserSession := cf.Cf("create-user", context.regularUserUsername, context.regularUserPassword) select { case <-createUserSession.Out.Detect("OK"): case <-createUserSession.Out.Detect("scim_resource_already_exists"): case <-time.After(30 * time.Second): ginkgo.Fail("Failed to create user") } createUserSession.Out.CancelDetects() Eventually(cf.Cf("create-org", context.organizationName), 30).Should(Exit(0)) Eventually(cf.Cf("set-quota", context.organizationName, definition.Name), 30).Should(Exit(0)) }) }
func SetupEnvironment(context SuiteContext) { var originalCfHomeDir, currentCfHomeDir string BeforeEach(func() { AdminUserContext = context.AdminUserContext() RegularUserContext = context.RegularUserContext() context.Setup() cf.AsUser(AdminUserContext, func() { setUpSpaceWithUserAccess(RegularUserContext) }) originalCfHomeDir, currentCfHomeDir = cf.InitiateUserContext(RegularUserContext) cf.TargetSpace(RegularUserContext) }) AfterEach(func() { cf.RestoreUserContext(RegularUserContext, originalCfHomeDir, currentCfHomeDir) context.Teardown() }) }
var FakeCfCalls = [][]string{} var FakeCf = func(args ...string) *cmdtest.Session { FakeCfCalls = append(FakeCfCalls, args) var session, _ = cmdtest.Start(exec.Command("echo", "nothing")) return session } var user = cf.NewUserContext("http://FAKE_API.example.com", "FAKE_USERNAME", "FAKE_PASSWORD", "FAKE_ORG", "FAKE_SPACE", "--skip-ssl-validation") BeforeEach(func() { FakeCfCalls = [][]string{} cf.Cf = FakeCf }) It("calls cf api", func() { cf.AsUser(user, FakeThingsToRunAsUser) Expect(FakeCfCalls[0]).To(Equal([]string{"api", "http://FAKE_API.example.com", "--skip-ssl-validation"})) }) It("calls cf auth", func() { cf.AsUser(user, FakeThingsToRunAsUser) Expect(FakeCfCalls[1]).To(Equal([]string{"auth", "FAKE_USERNAME", "FAKE_PASSWORD"})) }) It("calls cf target", func() { cf.AsUser(user, FakeThingsToRunAsUser) Expect(FakeCfCalls[2]).To(Equal([]string{"target", "-o", "FAKE_ORG", "-s", "FAKE_SPACE"})) })