public function testPurgeQueue() { $queue = $this->createQueue(); $exchange = new Exchange(); $exchange->name = self::EXCHANGE_TEST_NAME; $exchange->vhost = '/'; $this->object->addExchange($exchange); $binding = new Binding(); $binding->vhost = '/'; $binding->source = self::EXCHANGE_TEST_NAME; $binding->destination = self::QUEUE_TEST_NAME; $binding->routing_key = self::QUEUE_TEST_NAME; $this->object->addBinding($binding); $message = json_encode(array('properties' => array(), 'routing_key' => self::QUEUE_TEST_NAME, 'payload' => 'body', 'payload_encoding' => 'string')); $n = 12; while ($n > 0) { $this->client->post('/api/exchanges/' . urlencode('/') . '/' . self::EXCHANGE_TEST_NAME . '/publish', array('content-type' => 'application/json'), $message)->send(); $n--; } usleep(2000000); $this->object->refreshQueue($queue); $this->assertEquals(12, $queue->messages_ready); $this->object->purgeQueue('/', self::QUEUE_TEST_NAME); usleep(4000000); $this->object->refreshQueue($queue); $this->assertEquals(0, $queue->messages_ready); }
/** * @covers RabbitMQ\Management\Guarantee::ensureBinding */ public function testEnsureBindingAlreadyBound() { $exchange = new Exchange(); $exchange->type = 'fanout'; $exchange->vhost = '/'; $exchange->name = 'test.exchange'; $queue = new Queue(); $queue->name = 'test.queue'; $queue->vhost = '/'; $this->client->addExchange($exchange); $this->client->addQueue($queue); $binding = new Binding(); $binding->vhost = '/'; $binding->source = 'test.exchange'; $binding->destination = 'test.queue'; $binding->routing_key = 'special.routing.key'; $this->client->addBinding($binding); $this->object->ensureBinding($binding); $found = false; foreach ($this->client->listBindingsByExchangeAndQueue('/', 'test.exchange', 'test.queue') as $binding) { if ('special.routing.key' === $binding->routing_key) { $found = true; break; } } $this->client->deleteExchange($exchange->vhost, $exchange->name); $this->client->deleteQueue($queue->vhost, $queue->name); if (!$found) { $this->fail('Unable to find back the binding'); } }