diff options
author | Katja Marttila <katja.marttila@qt.io> | 2020-04-06 11:28:38 +0300 |
---|---|---|
committer | Katja Marttila <katja.marttila@qt.io> | 2020-04-08 05:49:28 +0000 |
commit | 3d3e5b7552d69da7f8d24a0bcfa53655133487e2 (patch) | |
tree | f8e38255388c252659286491493703b87bd40d0c /tests/auto/installer/packagemanagercore | |
parent | 3d971b71bfff2bd8afd243151beb45ad944fbfdf (diff) |
Initialize user arguments earlier
User can give arguments from command line, for example AllUsers=true,
which can affect to other core values. Initialize user arguments in
core constructor so we an utilize the user given values when
defining other core values.
Added also unit test for overwriting core data values. Note that some
values belong to QSettings such as MaintenanceToolName which cannot be
overwritten.
Task-number: QTIFW-576 QTIFW-1730
Change-Id: I82a05f9f4bc8498f4e0e2af407ba29f6dabbf030
Reviewed-by: Iikka Eklund <iikka.eklund@qt.io>
Diffstat (limited to 'tests/auto/installer/packagemanagercore')
4 files changed, 54 insertions, 1 deletions
diff --git a/tests/auto/installer/packagemanagercore/installer-config/config.xml b/tests/auto/installer/packagemanagercore/installer-config/config.xml new file mode 100644 index 000000000..5826308e1 --- /dev/null +++ b/tests/auto/installer/packagemanagercore/installer-config/config.xml @@ -0,0 +1,8 @@ +<?xml version="1.0" encoding="utf-8"?> +<Installer> + <Name>Unit Test Application</Name> + <Title>Unit Test Application Title</Title> + <Version>1.0.0</Version> + <Publisher>The Qt Company</Publisher> + <MaintenanceToolName>UnitTestMaintenancetool</MaintenanceToolName> +</Installer> diff --git a/tests/auto/installer/packagemanagercore/packagemanagercore.pro b/tests/auto/installer/packagemanagercore/packagemanagercore.pro index 3dfefbab6..6e9e387fa 100644 --- a/tests/auto/installer/packagemanagercore/packagemanagercore.pro +++ b/tests/auto/installer/packagemanagercore/packagemanagercore.pro @@ -5,4 +5,4 @@ QT += qml SOURCES += tst_packagemanagercore.cpp RESOURCES += \ - ..\shared\config.qrc + settings.qrc diff --git a/tests/auto/installer/packagemanagercore/settings.qrc b/tests/auto/installer/packagemanagercore/settings.qrc new file mode 100644 index 000000000..d7dfb5ddd --- /dev/null +++ b/tests/auto/installer/packagemanagercore/settings.qrc @@ -0,0 +1,6 @@ +<RCC> + <qresource prefix="/metadata"> + <file>installer-config/config.xml</file> + </qresource> +</RCC> + diff --git a/tests/auto/installer/packagemanagercore/tst_packagemanagercore.cpp b/tests/auto/installer/packagemanagercore/tst_packagemanagercore.cpp index 40e8d5a1b..9a8c7c4b6 100644 --- a/tests/auto/installer/packagemanagercore/tst_packagemanagercore.cpp +++ b/tests/auto/installer/packagemanagercore/tst_packagemanagercore.cpp @@ -32,6 +32,8 @@ #include <fileutils.h> #include <packagemanagercore.h> #include <progresscoordinator.h> +#include <init.h> +#include <settings.h> #include <QDir> #include <QFile> @@ -319,6 +321,43 @@ private slots: QVERIFY(QDir().rmdir(testDirectory)); } + + void testCoreDataValues() + { + QHash<QString, QString> userValues; + + PackageManagerCore *core = new PackageManagerCore(BinaryContent::MagicInstallerMarker, QList<OperationBlob> (), + QString(), Protocol::DefaultAuthorizationKey, Protocol::Mode::Production, + userValues, true); + QCOMPARE(core->value("AllUsers"), ""); + QCOMPARE(core->value("ProductName"), "Unit Test Application"); + QCOMPARE(core->value("ProductVersion"), "1.0.0"); + QCOMPARE(core->value("Title"), "Unit Test Application Title"); + QCOMPARE(core->value("RootDir"), QDir::rootPath()); + + core->deleteLater(); + core->deleteLater(); + } + + void testOverwrittenCoreDataValues() + { + QHash<QString, QString> userValues; + userValues.insert("AllUsers", "true"); + userValues.insert("ProductName", "Overwritten ProductName"); + userValues.insert("ProductVersion", "2.0.0"); + userValues.insert("Title", "Overwritten Title"); + userValues.insert("RootDir", "Overwritten RootDir"); + + PackageManagerCore *core = new PackageManagerCore(BinaryContent::MagicInstallerMarker, QList<OperationBlob> (), + QString(), Protocol::DefaultAuthorizationKey, Protocol::Mode::Production, + userValues, true); + QCOMPARE(core->value("AllUsers"), "true"); + QCOMPARE(core->value("ProductName"), "Overwritten ProductName"); + QCOMPARE(core->value("ProductVersion"), "2.0.0"); + QCOMPARE(core->value("Title"), "Overwritten Title"); + QCOMPARE(core->value("RootDir"), "Overwritten RootDir"); + core->deleteLater(); + } }; |