Ejemplo n.º 1
0
 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;
 }
Ejemplo n.º 2
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');
 }