# HG changeset patch # User Andre Heinecke # Date 1395067700 0 # Node ID 64200b011dfdbcbf17e7a22bbc650759659f63d7 # Parent 09cd242d8443b34649cfe60a55d851fd70364848 Add test for software download diff -r 09cd242d8443 -r 64200b011dfd ui/tests/downloadertest.cpp --- a/ui/tests/downloadertest.cpp Mon Mar 17 14:48:05 2014 +0000 +++ b/ui/tests/downloadertest.cpp Mon Mar 17 14:48:20 2014 +0000 @@ -135,6 +135,47 @@ QVERIFY(error == SSLConnection::NoConnection); } +void DownloaderTest::testNewSoftware() +{ + QFile validCert(QString::fromLatin1(SOURCE_DIR) + + "/data/valid_ssl_bp.pem"); + validCert.open(QIODevice::ReadOnly); + + Downloader* downloader = new Downloader(this, + QString::fromLatin1("https://localhost:44443"), + validCert.readAll(), + QDateTime::fromString("2010", "YYYY"), + QDateTime::currentDateTime(), + "/garbage_2MB", + "/list-valid.txt"); + validCert.close(); + + SETUP_SPY + + connect(downloader, SIGNAL(error(const QString &, SSLConnection::ErrorCode)), + this, SLOT(downloaderError(const QString &, SSLConnection::ErrorCode))); + + downloader->start(); + + int waited = 0; + while (newSoftwareAvailable.count() == 0 && + errors.count() == 0 && waited < 20) { + QTest::qWait(200); + waited++; + } + QVERIFY(waited != 20); + QVERIFY(newListAvailable.count() == 0); + QVERIFY(newSoftwareAvailable.count() == 1); + QVERIFY(errors.count() == 0); + + QList arguments = newSoftwareAvailable.takeFirst(); + + QVERIFY(filesEqual(QString::fromLatin1(SOURCE_DIR) + "/data/garbage_2MB", + arguments.at(0).toString())); + + delete downloader; +} + void DownloaderTest::testNewList() { QFile validCert(QString::fromLatin1(SOURCE_DIR) + diff -r 09cd242d8443 -r 64200b011dfd ui/tests/downloadertest.h --- a/ui/tests/downloadertest.h Mon Mar 17 14:48:05 2014 +0000 +++ b/ui/tests/downloadertest.h Mon Mar 17 14:48:20 2014 +0000 @@ -27,6 +27,7 @@ void testNewList(); void testNoConnection(); void testOtherCertificate(); + void testNewSoftware(); }; #endif