summaryrefslogtreecommitdiffstats
path: root/tests/auto/installer/metadatajob/tst_metadatajob.cpp
diff options
context:
space:
mode:
Diffstat (limited to 'tests/auto/installer/metadatajob/tst_metadatajob.cpp')
-rw-r--r--tests/auto/installer/metadatajob/tst_metadatajob.cpp48
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);
+ }
};