diff options
author | Katja Marttila <katja.marttila@qt.io> | 2020-03-31 08:42:50 +0300 |
---|---|---|
committer | Katja Marttila <katja.marttila@qt.io> | 2020-03-31 12:06:01 +0300 |
commit | 295ba75e810cd4a1891c37c7f46d8b39e121e335 (patch) | |
tree | dfe94b3d18823bbdd03fda8eca7647eb76fad4b3 /tests | |
parent | 1ebd5704affd293995aabcb4d7604a704602ce85 (diff) |
Add CLI test for LineReplaceOperation
Change-Id: Iefdd33f42a803a7b594a9495ddeab4d504f6b132
Reviewed-by: Iikka Eklund <iikka.eklund@qt.io>
Diffstat (limited to 'tests')
8 files changed, 68 insertions, 0 deletions
diff --git a/tests/auto/installer/linereplaceoperation/data/repository/A/1.0.2-1content.7z b/tests/auto/installer/linereplaceoperation/data/repository/A/1.0.2-1content.7z Binary files differnew file mode 100644 index 000000000..8ba90b13b --- /dev/null +++ b/tests/auto/installer/linereplaceoperation/data/repository/A/1.0.2-1content.7z diff --git a/tests/auto/installer/linereplaceoperation/data/repository/A/1.0.2-1content.7z.sha1 b/tests/auto/installer/linereplaceoperation/data/repository/A/1.0.2-1content.7z.sha1 new file mode 100644 index 000000000..a5f4399b3 --- /dev/null +++ b/tests/auto/installer/linereplaceoperation/data/repository/A/1.0.2-1content.7z.sha1 @@ -0,0 +1 @@ +a0268f80fd2954271fe7d2eae584c13a6d143838
\ No newline at end of file diff --git a/tests/auto/installer/linereplaceoperation/data/repository/A/1.0.2-1meta.7z b/tests/auto/installer/linereplaceoperation/data/repository/A/1.0.2-1meta.7z Binary files differnew file mode 100644 index 000000000..d0ed97a7f --- /dev/null +++ b/tests/auto/installer/linereplaceoperation/data/repository/A/1.0.2-1meta.7z diff --git a/tests/auto/installer/linereplaceoperation/data/repository/Updates.xml b/tests/auto/installer/linereplaceoperation/data/repository/Updates.xml new file mode 100644 index 000000000..32b4e787d --- /dev/null +++ b/tests/auto/installer/linereplaceoperation/data/repository/Updates.xml @@ -0,0 +1,17 @@ +<Updates> + <ApplicationName>{AnyApplication}</ApplicationName> + <ApplicationVersion>1.0.0</ApplicationVersion> + <Checksum>true</Checksum> + <PackageUpdate> + <Name>A</Name> + <DisplayName>A</DisplayName> + <Description>Example component A</Description> + <Version>1.0.2-1</Version> + <ReleaseDate>2015-01-01</ReleaseDate> + <Default>true</Default> + <Script>script.qs</Script> + <UpdateFile CompressedSize="225" UncompressedSize="75" OS="Any"/> + <DownloadableArchives>content.7z</DownloadableArchives> + <SHA1>6d7a3e15d11a4d94b81452fc2aa18e705a01c922</SHA1> + </PackageUpdate> +</Updates> diff --git a/tests/auto/installer/linereplaceoperation/installer-config/config.xml b/tests/auto/installer/linereplaceoperation/installer-config/config.xml new file mode 100644 index 000000000..adc24631b --- /dev/null +++ b/tests/auto/installer/linereplaceoperation/installer-config/config.xml @@ -0,0 +1,5 @@ +<?xml version="1.0" encoding="utf-8"?> +<Installer> + <Name>test</Name> + <Version>1.0.0</Version> +</Installer> diff --git a/tests/auto/installer/linereplaceoperation/linereplaceoperation.pro b/tests/auto/installer/linereplaceoperation/linereplaceoperation.pro index 7490d8bde..557ee7d3c 100644 --- a/tests/auto/installer/linereplaceoperation/linereplaceoperation.pro +++ b/tests/auto/installer/linereplaceoperation/linereplaceoperation.pro @@ -4,3 +4,6 @@ QT -= gui QT += testlib SOURCES += tst_linereplaceoperation.cpp + +RESOURCES += \ + settings.qrc diff --git a/tests/auto/installer/linereplaceoperation/settings.qrc b/tests/auto/installer/linereplaceoperation/settings.qrc new file mode 100644 index 000000000..620d72953 --- /dev/null +++ b/tests/auto/installer/linereplaceoperation/settings.qrc @@ -0,0 +1,11 @@ +<RCC> + <qresource prefix="/"> + <file>data/repository/Updates.xml</file> + <file>data/repository/A/1.0.2-1content.7z</file> + <file>data/repository/A/1.0.2-1content.7z.sha1</file> + <file>data/repository/A/1.0.2-1meta.7z</file> + </qresource> + <qresource prefix="/metadata"> + <file>installer-config/config.xml</file> + </qresource> +</RCC> diff --git a/tests/auto/installer/linereplaceoperation/tst_linereplaceoperation.cpp b/tests/auto/installer/linereplaceoperation/tst_linereplaceoperation.cpp index 67f99baf2..f30dbb014 100644 --- a/tests/auto/installer/linereplaceoperation/tst_linereplaceoperation.cpp +++ b/tests/auto/installer/linereplaceoperation/tst_linereplaceoperation.cpp @@ -28,6 +28,12 @@ #include <linereplaceoperation.h> +#include <packagemanagercore.h> +#include <binarycontent.h> +#include <settings.h> +#include <fileutils.h> +#include <init.h> + #include <QObject> #include <QFile> #include <QTest> @@ -114,6 +120,31 @@ private slots: QVERIFY(file.remove()); } + void testPerformingFromCLI() + { + QInstaller::init(); //This will eat debug output + PackageManagerCore *core = new PackageManagerCore(BinaryContent::MagicInstallerMarker, QList<OperationBlob> ()); + QSet<Repository> repoList; + Repository repo = Repository::fromUserInput(":///data/repository"); + repoList.insert(repo); + core->settings().setDefaultRepositories(repoList); + + QString installDir = QInstaller::generateTemporaryFileName(); + QDir().mkpath(installDir); + core->setValue(scTargetDir, installDir); + core->installDefaultComponentsSilently(); + + QFile file(installDir + QDir::separator() + "A.txt"); + QVERIFY(file.open(QIODevice::ReadOnly) | QIODevice::Text); + QTextStream stream(&file); + QCOMPARE(stream.readLine(), QLatin1String("This line was replaced.")); + QCOMPARE(stream.readLine(), QLatin1String("Another line.")); + file.close(); + QDir dir(installDir); + QVERIFY(dir.removeRecursively()); + core->deleteLater(); + } + private: QString m_testFilePath; }; |