summaryrefslogtreecommitdiffstats
path: root/tests/auto/installer/copyoperationtest
diff options
context:
space:
mode:
Diffstat (limited to 'tests/auto/installer/copyoperationtest')
-rw-r--r--tests/auto/installer/copyoperationtest/data/xmloperationrepository/A/1.0.2-1content.7zbin0 -> 185 bytes
-rw-r--r--tests/auto/installer/copyoperationtest/data/xmloperationrepository/Updates.xml25
-rw-r--r--tests/auto/installer/copyoperationtest/settings.qrc2
-rw-r--r--tests/auto/installer/copyoperationtest/tst_copyoperationtest.cpp56
4 files changed, 60 insertions, 23 deletions
diff --git a/tests/auto/installer/copyoperationtest/data/xmloperationrepository/A/1.0.2-1content.7z b/tests/auto/installer/copyoperationtest/data/xmloperationrepository/A/1.0.2-1content.7z
new file mode 100644
index 000000000..8ba90b13b
--- /dev/null
+++ b/tests/auto/installer/copyoperationtest/data/xmloperationrepository/A/1.0.2-1content.7z
Binary files differ
diff --git a/tests/auto/installer/copyoperationtest/data/xmloperationrepository/Updates.xml b/tests/auto/installer/copyoperationtest/data/xmloperationrepository/Updates.xml
new file mode 100644
index 000000000..4ad1e243b
--- /dev/null
+++ b/tests/auto/installer/copyoperationtest/data/xmloperationrepository/Updates.xml
@@ -0,0 +1,25 @@
+<Updates>
+ <ApplicationName>{AnyApplication}</ApplicationName>
+ <ApplicationVersion>1.0.0</ApplicationVersion>
+ <Checksum>false</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>
+ <UpdateFile CompressedSize="225" UncompressedSize="75" OS="Any"/>
+ <DownloadableArchives>content.7z</DownloadableArchives>
+ <SHA1>6d7a3e15d11a4d94b81452fc2aa18e705a01c922</SHA1>
+ <Operations>
+ <Operation name="Mkdir">
+ <Argument>@TargetDir@/AnotherFolder</Argument>
+ </Operation>
+ <Operation name="Copy">
+ <Argument>@TargetDir@/A.txt</Argument>
+ <Argument>@TargetDir@/AnotherFolder/A.txt</Argument>
+ </Operation>
+ </Operations>
+ </PackageUpdate>
+</Updates>
diff --git a/tests/auto/installer/copyoperationtest/settings.qrc b/tests/auto/installer/copyoperationtest/settings.qrc
index 10cc3c3bb..094bd449b 100644
--- a/tests/auto/installer/copyoperationtest/settings.qrc
+++ b/tests/auto/installer/copyoperationtest/settings.qrc
@@ -3,5 +3,7 @@
<file>data/repository/Updates.xml</file>
<file>data/repository/A/1.0.2-1content.7z</file>
<file>data/repository/A/1.0.2-1meta.7z</file>
+ <file>data/xmloperationrepository/Updates.xml</file>
+ <file>data/xmloperationrepository/A/1.0.2-1content.7z</file>
</qresource>
</RCC>
diff --git a/tests/auto/installer/copyoperationtest/tst_copyoperationtest.cpp b/tests/auto/installer/copyoperationtest/tst_copyoperationtest.cpp
index aee192400..d41853eee 100644
--- a/tests/auto/installer/copyoperationtest/tst_copyoperationtest.cpp
+++ b/tests/auto/installer/copyoperationtest/tst_copyoperationtest.cpp
@@ -40,6 +40,33 @@ class tst_copyoperationtest : public QObject
{
Q_OBJECT
+private:
+ void installFromCLI(const QString &repository)
+ {
+ QString installDir = QInstaller::generateTemporaryFileName();
+ QVERIFY(QDir().mkpath(installDir));
+ PackageManagerCore *core = PackageManager::getPackageManagerWithInit(installDir, repository);
+ core->installDefaultComponentsSilently();
+
+ QFile copiedFile(installDir + QDir::separator() + "AnotherFolder/A.txt");
+ QVERIFY(copiedFile.exists());
+ QFile originalFile(installDir + QDir::separator() + "A.txt");
+ QVERIFY(originalFile.exists());
+
+ QByteArray destinationFileHash = QInstaller::calculateHash(copiedFile.fileName(), QCryptographicHash::Sha1);
+ QByteArray testFileHash = QInstaller::calculateHash(originalFile.fileName(), QCryptographicHash::Sha1);
+ QVERIFY(testFileHash == destinationFileHash);
+
+ core->setPackageManager();
+ core->commitSessionOperations();
+ core->uninstallComponentsSilently(QStringList() << "A");
+ QVERIFY(!copiedFile.exists());
+
+ QDir dir(installDir);
+ QVERIFY(dir.removeRecursively());
+ core->deleteLater();
+ }
+
private slots:
void initTestCase()
{
@@ -132,30 +159,13 @@ private slots:
QVERIFY(testFileHash == currentFileHash);
}
- void testPerformingFromCLI()
+ void testCopyFromScript()
{
- QString installDir = QInstaller::generateTemporaryFileName();
- QVERIFY(QDir().mkpath(installDir));
- PackageManagerCore *core = PackageManager::getPackageManagerWithInit(installDir, ":///data/repository");
- core->installDefaultComponentsSilently();
-
- QFile copiedFile(installDir + QDir::separator() + "AnotherFolder/A.txt");
- QVERIFY(copiedFile.exists());
- QFile originalFile(installDir + QDir::separator() + "A.txt");
- QVERIFY(originalFile.exists());
-
- QByteArray destinationFileHash = QInstaller::calculateHash(copiedFile.fileName(), QCryptographicHash::Sha1);
- QByteArray testFileHash = QInstaller::calculateHash(originalFile.fileName(), QCryptographicHash::Sha1);
- QVERIFY(testFileHash == destinationFileHash);
-
- core->setPackageManager();
- core->commitSessionOperations();
- core->uninstallComponentsSilently(QStringList() << "A");
- QVERIFY(!copiedFile.exists());
-
- QDir dir(installDir);
- QVERIFY(dir.removeRecursively());
- core->deleteLater();
+ installFromCLI(":///data/repository");
+ }
+ void testCopyFromComponentXML()
+ {
+ installFromCLI(":///data/xmloperationrepository");
}
void init()