session.createQueue(address, queue, null, false);
session.createQueue(otherAddress, otherQueue, null, false);
ClientProducer producer = session.createProducer(address);
// send on queue
ClientMessage message = session.createMessage(false);
SimpleString key = RandomUtil.randomSimpleString();
long value = RandomUtil.randomLong();
message.putLongProperty(key, value);
producer.send(message);
QueueControl queueControl = createManagementControl(address, queue);
Assert.assertEquals(1, queueControl.getMessageCount());
// moved all messages to otherQueue
int movedMessagesCount = queueControl.moveMessages(null, otherQueue.toString());
Assert.assertEquals(1, movedMessagesCount);
Assert.assertEquals(0, queueControl.getMessageCount());
// check there is no message to consume from queue
ManagementTestBase.consumeMessages(0, session, queue);
// consume the message from otherQueue
ClientConsumer otherConsumer = session.createConsumer(otherQueue);
ClientMessage m = otherConsumer.receive(500);
Assert.assertEquals(value, m.getObjectProperty(key));
m.acknowledge();
session.deleteQueue(queue);
otherConsumer.close();
session.deleteQueue(otherQueue);
}