/
ssuurlresolvertest.cpp
56 lines (44 loc) · 1.45 KB
/
ssuurlresolvertest.cpp
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
/**
* @file ssuurlresolvertest.cpp
* @copyright 2013 Jolla Ltd.
* @author Martin Kampas <martin.kampas@tieto.com>
* @date 2013
*/
#include "ssuurlresolvertest.h"
#include <stdlib.h>
#include <zypp/media/UrlResolverPlugin.h>
#include <QtTest/QtTest>
#include "libssu/sandbox_p.h"
/**
* @class SsuUrlResolverTest
* @brief Tests libzypp UrlResolverPlugin plugin compatibility
*
* This test verifies the UrlResolverPlugin works well with installed version of libzypp.
*/
void SsuUrlResolverTest::initTestCase(){
m_sandbox = new Sandbox(QString("%1/configroot").arg(TESTS_DATA_PATH),
Sandbox::UseDirectly, Sandbox::ChildProcesses);
if (!m_sandbox->activate()){
QFAIL("Failed to activate sandbox");
}
setenv("LD_PRELOAD", qPrintable(QString("%1/libsandboxhook.so").arg(TESTS_PATH)), 1);
}
void SsuUrlResolverTest::cleanupTestCase(){
delete m_sandbox;
m_sandbox = 0;
}
void SsuUrlResolverTest::test_data(){
QTest::addColumn<QString>("input");
QTest::addColumn<QString>("expected");
QTest::newRow("basic")
<< "plugin:ssu?repo=mer-core&debug&arch=i586"
<< "https://packages.testing.com//mer/i586/debug/";
}
void SsuUrlResolverTest::test(){
QFETCH(QString, input);
QFETCH(QString, expected);
zypp::media::UrlResolverPlugin::HeaderList customHeaders;
const QString resolved = QString::fromStdString(
zypp::media::UrlResolverPlugin::resolveUrl(input.toStdString(), customHeaders).asString());
QCOMPARE(resolved, expected);
}