func (m *Mother) OrganizationStrategy() services.OrganizationStrategy { env := NewEnvironment() cloudController := cf.NewCloudController(env.CCHost, !env.VerifySSL) uaaClient := uaa.NewZonedUAAClient(env.UAAClientID, env.UAAClientSecret, env.VerifySSL, UAAPublicKey) tokenLoader := uaa.NewTokenLoader(uaaClient) organizationLoader := services.NewOrganizationLoader(cloudController) findsUserGUIDs := services.NewFindsUserGUIDs(cloudController, uaaClient) enqueuer := m.Enqueuer() return services.NewOrganizationStrategy(tokenLoader, organizationLoader, findsUserGUIDs, enqueuer, m.V2Enqueuer()) }
} tokenLoader = mocks.NewTokenLoader() token = helpers.BuildToken(tokenHeader, tokenClaims) tokenLoader.LoadCall.Returns.Token = token v1Enqueuer = mocks.NewEnqueuer() v2Enqueuer = mocks.NewV2Enqueuer() findsUserGUIDs = mocks.NewFindsUserGUIDs() findsUserGUIDs.UserGUIDsBelongingToOrganizationCall.Returns.UserGUIDs = []string{"user-123", "user-456"} organizationLoader = mocks.NewOrganizationLoader() organizationLoader.LoadCall.Returns.Organization = cf.CloudControllerOrganization{ Name: "my-org", GUID: "org-001", } strategy = services.NewOrganizationStrategy(tokenLoader, organizationLoader, findsUserGUIDs, v1Enqueuer, v2Enqueuer) }) Describe("Dispatch", func() { Context("when the dispatch JobType is unspecified", func() { Context("when the request is valid", func() { It("call enqueuer.Enqueue with the correct arguments for an organization", func() { _, err := strategy.Dispatch(services.Dispatch{ GUID: "org-001", Connection: conn, Message: services.DispatchMessage{ To: "*****@*****.**", ReplyTo: "*****@*****.**", Subject: "this is the subject", Text: "Please reset your password by clicking on this link...", HTML: services.HTML{