public function test__ranked_as_given_priority_parameter() { $order = 1; $action1 = $this->getActionMock(3, $order); $action2 = $this->getActionMock(1, $order); $action3 = $this->getActionMock(2, $order); $compositeBuilder = new CompositeActionBuilder(); $compositeBuilder->add($action1, 10); $compositeBuilder->add($action2, 2); $compositeBuilder->add($action3, 7); $compositeAction = $compositeBuilder->build(); $this->assertInstanceOf(CompositeAction::class, $compositeAction); $compositeAction->execute($this->getMock(ContextInterface::class)); }
/** * @return \LightSaml\Action\ActionInterface */ public function build() { if (false === $this->initialized) { $this->init(); } return parent::build(); }
protected function doInitialize() { $proceedActionBuilder = new CompositeActionBuilder(); $proceedActionBuilder->add(new CreateLogoutRequestAction($this->buildContainer->getSystemContainer()->getLogger()), 100); $proceedActionBuilder->add(new MessageIdAction($this->buildContainer->getSystemContainer()->getLogger())); $proceedActionBuilder->add(new MessageVersionAction($this->buildContainer->getSystemContainer()->getLogger(), SamlConstants::VERSION_20)); $proceedActionBuilder->add(new MessageIssueInstantAction($this->buildContainer->getSystemContainer()->getLogger(), $this->buildContainer->getSystemContainer()->getTimeProvider())); $proceedActionBuilder->add(new ResolveLogoutPartyAction($this->buildContainer->getPartyContainer()->getIdpEntityDescriptorStore(), $this->buildContainer->getPartyContainer()->getSpEntityDescriptorStore(), $this->buildContainer->getPartyContainer()->getTrustOptionsStore())); $proceedActionBuilder->add(new ResolveEndpointSloAction($this->buildContainer->getSystemContainer()->getLogger(), $this->buildContainer->getServiceContainer()->getEndpointResolver())); $proceedActionBuilder->add(new DestinationAction($this->buildContainer->getSystemContainer()->getLogger())); $proceedActionBuilder->add(new CreateMessageIssuerAction($this->buildContainer->getSystemContainer()->getLogger())); $proceedActionBuilder->add(new SetNameIdAction($this->buildContainer->getSystemContainer()->getLogger())); $proceedActionBuilder->add(new SetSessionIndexAction($this->buildContainer->getSystemContainer()->getLogger())); $proceedActionBuilder->add(new SetNotOnOrAfterAction($this->buildContainer->getSystemContainer()->getLogger(), $this->buildContainer->getSystemContainer()->getTimeProvider(), 120)); $proceedActionBuilder->add(new SaveRequestStateAction($this->buildContainer->getSystemContainer()->getLogger(), $this->buildContainer->getStoreContainer()->getRequestStateStore())); $proceedActionBuilder->add(new SignMessageAction($this->buildContainer->getSystemContainer()->getLogger(), $this->buildContainer->getServiceContainer()->getSignatureResolver())); $proceedActionBuilder->add(new SendMessageAction($this->buildContainer->getSystemContainer()->getLogger(), $this->buildContainer->getServiceContainer()->getBindingFactory())); $this->add(new LogoutResolveAction($this->buildContainer->getSystemContainer()->getLogger(), $this->buildContainer->getServiceContainer()->getLogoutSessionResolver(), $proceedActionBuilder->build()), 100); }