diff options
Diffstat (limited to 'tests/auto/installer/metadatajob/tst_metadatajob.cpp')
-rw-r--r-- | tests/auto/installer/metadatajob/tst_metadatajob.cpp | 48 |
1 files changed, 44 insertions, 4 deletions
diff --git a/tests/auto/installer/metadatajob/tst_metadatajob.cpp b/tests/auto/installer/metadatajob/tst_metadatajob.cpp index ef7b42940..cb974e7ad 100644 --- a/tests/auto/installer/metadatajob/tst_metadatajob.cpp +++ b/tests/auto/installer/metadatajob/tst_metadatajob.cpp @@ -1,6 +1,6 @@ /************************************************************************** ** -** Copyright (C) 2020 The Qt Company Ltd. +** Copyright (C) 2023 The Qt Company Ltd. ** Contact: https://www.qt.io/licensing/ ** ** This file is part of the Qt Installer Framework. @@ -47,7 +47,6 @@ class tst_MetaDataJob : public QObject private slots: void testRepository() { - Settings settings = Settings::fromFileAndPrefix(":///data/config.xml", ":///data"); PackageManagerCore core; core.setInstaller(); QSet<Repository> repoList; @@ -63,7 +62,6 @@ private slots: void testRepositoryUpdateActionAdd() { - Settings settings = Settings::fromFileAndPrefix(":///data/config.xml", ":///data"); PackageManagerCore core; core.setInstaller(); QSet<Repository> repoList; @@ -82,7 +80,6 @@ private slots: void testRepositoryUpdateActionRemove() { - Settings settings = Settings::fromFileAndPrefix(":///data/config.xml", ":///data"); PackageManagerCore core; core.setInstaller(); QSet<Repository> repoList; @@ -100,6 +97,49 @@ private slots: metadata.waitForFinished(); QCOMPARE(metadata.metadata().count(), 1); } + + void testZippedRepository_data() + { + QTest::addColumn<QStringList>("repositories"); + QTest::addColumn<int>("metacount"); + QTest::addColumn<bool>("allowUnstable"); + + QStringList repositories; + repositories << ":///data/repositoryZipped/repositoryZipped.7z"; + QTest::newRow("7z repository") << repositories << 1 << true; + + repositories.clear(); + repositories << ":///data/repository7zInvalidMetaSha1/repository7zInvalidMetaSha1.7z"; + QTest::newRow("7z with invalid meta sha1") << repositories << 0 << true; + + repositories.clear(); + repositories << ":///data/repositoryZipped/repositoryZipped.7z" << ":///data/repository7zInvalidMetaSha1/repository7zInvalidMetaSha1.7z"; + QTest::newRow("7z with one valid repository") << repositories << 1 << true; + + repositories.clear(); + repositories << ":///data/repository7zInvalidMetaSha1/repository7zInvalidMetaSha1.7z" << ":///data/repositoryZipped/repositoryZipped.7z"; + QTest::newRow("7z with one valid repository") << repositories << 0 << false; + } + + void testZippedRepository() + { + QFETCH(QStringList, repositories); + QFETCH(int, metacount); + QFETCH(bool, allowUnstable); + + PackageManagerCore core; + core.setInstaller(); + core.setTemporaryRepositories(repositories, false, true); + core.settings().setAllowUnstableComponents(allowUnstable); + + MetadataJob metadata; + metadata.setPackageManagerCore(&core); + metadata.addDownloadType(DownloadType::CompressedPackage); + metadata.setAutoDelete(true); + metadata.start(); + metadata.waitForFinished(); + QCOMPARE(metadata.metadata().count(), metacount); + } }; |