protected function execute(InputInterface $input, OutputInterface $output) { /** * set context inside container */ $this->container->register(new LoggerProvider($output)); try { /** @var LoggerInterface $logger */ $logger = $this->container['logger']; $connection = ['host' => $input->getArgument('host'), 'port' => $input->getArgument('port'), 'user' => $input->getArgument('username'), 'password' => $input->getArgument('password')]; $client = $this->container['curl_client_factory']->createClient($connection); $queueManager = $this->container['manager_rabbitmq_queue']; $exchangeManager = $this->container['manager_rabbitmq_exchange']; $policygeManager = $this->container['manager_rabbitmq_policy']; $manager = new DeleteManager($exchangeManager, $queueManager, $policygeManager, $logger); if ($input->hasOption('queues') && null !== $input->getOption('queues')) { $queueManager->setClient($client); $manager->deleteQueues($input->getOption('vhost'), $input->getOption('queues')); } if ($input->hasOption('exchanges') && null !== $input->getOption('exchanges')) { $exchangeManager->setClient($client); $manager->deleteExchanges($input->getOption('vhost'), $input->getOption('exchanges')); } if ($input->hasOption('policies') && null !== $input->getOption('policies')) { $policygeManager->setClient($client); $manager->deletePolicies($input->getOption('vhost'), $input->getOption('policies')); } } catch (\Exception $e) { $logger->critical($e->getMessage()); return 1; } return 0; }
public function testDeletePolicy() { $manager = new DeleteManager($this->exchangeManager, $this->queueManager, $this->policyManager, $this->logger); $this->policyManager->expects($this->at(0))->method('delete')->with('%2F', 'test1'); $this->policyManager->expects($this->at(1))->method('delete')->with('%2F', 'test2'); $manager->deletePolicies('/', 'test1,test2'); }