void MoveCollectionTask::onRenameDone(KJob *job) { if (job->error()) { cancelTask(job->errorString()); } else { // Automatically subscribe to the new mailbox name KIMAP::RenameJob *rename = static_cast<KIMAP::RenameJob *>(job); KIMAP::SubscribeJob *subscribe = new KIMAP::SubscribeJob(rename->session()); subscribe->setMailBox(rename->destinationMailBox()); connect(subscribe, &KIMAP::SubscribeJob::result, this, &MoveCollectionTask::onSubscribeDone); subscribe->start(); } }
void testRename() { QFETCH( QString, mailbox ); QFETCH( QString, newname ); QFETCH( QList<QByteArray>, scenario ); FakeServer fakeServer; fakeServer.setScenario( scenario ); fakeServer.startAndWait(); KIMAP::Session session( "127.0.0.1", 5989 ); KIMAP::RenameJob *job = new KIMAP::RenameJob( &session ); job->setSourceMailBox( mailbox ); job->setDestinationMailBox( newname ); bool result = job->exec(); QEXPECT_FAIL( "bad" , "Expected failure on BAD response", Continue ); QEXPECT_FAIL( "no" , "Expected failure on NO response", Continue ); QVERIFY( result ); QCOMPARE( job->sourceMailBox(), mailbox ); QCOMPARE( job->destinationMailBox(), newname ); fakeServer.quit(); }