diff --git a/tests/tests.pro b/tests/tests.pro index c87ba44..c8eae29 100644 --- a/tests/tests.pro +++ b/tests/tests.pro @@ -3,6 +3,7 @@ CONFIG += ordered coverage debug SUBDIRS = \ testutils \ testutils/sandboxhook.pro \ + ut_coreconfig \ ut_rndssucli \ ut_settings \ ut_ssuurlresolver \ diff --git a/tests/tests.xml b/tests/tests.xml index a75f6a8..baaec5d 100644 --- a/tests/tests.xml +++ b/tests/tests.xml @@ -3,6 +3,11 @@ + + + /opt/tests/ssu/runtest.sh ut_coreconfig + + /opt/tests/ssu/runtest.sh ut_rndssucli diff --git a/tests/ut_coreconfig/coreconfigtest.cpp b/tests/ut_coreconfig/coreconfigtest.cpp new file mode 100644 index 0000000..1847751 --- /dev/null +++ b/tests/ut_coreconfig/coreconfigtest.cpp @@ -0,0 +1,86 @@ +/** + * @file coreconfigtest.cpp + * @copyright 2013 Jolla Ltd. + * @author Martin Kampas + * @date 2013 + */ + +#include "coreconfigtest.h" + +#include + +#include "libssu/ssucoreconfig.h" + +void CoreconfigTest::testCredentialsScope(){ + QCOMPARE(SsuCoreConfig::instance()->credentialsScope("/*ignored*/", false), QString("example")); + +} + +void CoreconfigTest::testCredentials(){ + QCOMPARE(SsuCoreConfig::instance()->credentials("example").first, QString("example_username")); + QCOMPARE(SsuCoreConfig::instance()->credentials("example").second, QString("example_password")); +} + +void CoreconfigTest::testCredentialsUrl(){ + QCOMPARE(SsuCoreConfig::instance()->credentialsUrl("example"), QString("http://creden.tia.ls/")); +} + +void CoreconfigTest::testFlavour(){ + QCOMPARE(SsuCoreConfig::instance()->flavour(), QString("testing")); + SsuCoreConfig::instance()->setFlavour("release"); + QCOMPARE(SsuCoreConfig::instance()->flavour(), QString("release")); +} + +void CoreconfigTest::testDeviceMode(){ + SsuCoreConfig::instance()->remove("deviceMode"); + QCOMPARE(SsuCoreConfig::instance()->deviceMode(), (int)Ssu::ReleaseMode); + SsuCoreConfig::instance()->setDeviceMode(Ssu::ReleaseMode, Ssu::Add); + QCOMPARE(SsuCoreConfig::instance()->deviceMode(), (int)Ssu::ReleaseMode); + SsuCoreConfig::instance()->setDeviceMode(Ssu::LenientMode, Ssu::Add); + QCOMPARE(SsuCoreConfig::instance()->deviceMode(), (int)Ssu::ReleaseMode | Ssu::LenientMode); + SsuCoreConfig::instance()->setDeviceMode(Ssu::ReleaseMode, Ssu::Remove); + QCOMPARE(SsuCoreConfig::instance()->deviceMode(), (int)Ssu::LenientMode); + SsuCoreConfig::instance()->setDeviceMode(Ssu::ReleaseMode, Ssu::Replace); + QCOMPARE(SsuCoreConfig::instance()->deviceMode(), (int)Ssu::ReleaseMode); +} + +void CoreconfigTest::testDomain(){ + QCOMPARE(SsuCoreConfig::instance()->domain(), QString("")); + SsuCoreConfig::instance()->setDomain("foo"); + QCOMPARE(SsuCoreConfig::instance()->domain(), QString("foo")); +} + +void CoreconfigTest::testRegistered(){ + QCOMPARE(SsuCoreConfig::instance()->isRegistered(), false); + SsuCoreConfig::instance()->setValue("registered", true); + QCOMPARE(SsuCoreConfig::instance()->isRegistered(), false); + SsuCoreConfig::instance()->setValue("privateKey", "fooKey"); + QCOMPARE(SsuCoreConfig::instance()->isRegistered(), false); + SsuCoreConfig::instance()->setValue("certificate", "fooCert"); + QCOMPARE(SsuCoreConfig::instance()->isRegistered(), true); +} + +void CoreconfigTest::testLastCredentialsUpdate(){ + QCOMPARE(SsuCoreConfig::instance()->lastCredentialsUpdate(), QDateTime()); + SsuCoreConfig::instance()->setValue("lastCredentialsUpdate", + QDateTime::fromString("2013-04-08", Qt::ISODate)); + QCOMPARE(SsuCoreConfig::instance()->lastCredentialsUpdate(), + QDateTime::fromString("2013-04-08", Qt::ISODate)); +} + +void CoreconfigTest::testRelease(){ + QCOMPARE(SsuCoreConfig::instance()->release(false), QString("latest")); + QCOMPARE(SsuCoreConfig::instance()->release(true), QString("next")); + SsuCoreConfig::instance()->setRelease("next", false); + QCOMPARE(SsuCoreConfig::instance()->release(false), QString("next")); + QCOMPARE(SsuCoreConfig::instance()->release(true), QString("next")); + SsuCoreConfig::instance()->setRelease("latest", true); + QCOMPARE(SsuCoreConfig::instance()->release(false), QString("next")); + QCOMPARE(SsuCoreConfig::instance()->release(true), QString("latest")); +} + +void CoreconfigTest::testSslVerify(){ + QCOMPARE(SsuCoreConfig::instance()->useSslVerify(), true); + SsuCoreConfig::instance()->setValue("ssl-verify", false); + QCOMPARE(SsuCoreConfig::instance()->useSslVerify(), false); +} diff --git a/tests/ut_coreconfig/coreconfigtest.h b/tests/ut_coreconfig/coreconfigtest.h new file mode 100644 index 0000000..1206d01 --- /dev/null +++ b/tests/ut_coreconfig/coreconfigtest.h @@ -0,0 +1,29 @@ +/** + * @file coreconfigtest.h + * @copyright 2013 Jolla Ltd. + * @author Martin Kampas + * @date 2013 + */ + +#ifndef _CORECONFIGTEST_H +#define _CORECONFIGTEST_H + +#include + +class CoreconfigTest: public QObject { + Q_OBJECT + + private slots: + void testCredentialsScope(); + void testCredentials(); + void testCredentialsUrl(); + void testFlavour(); + void testDeviceMode(); + void testDomain(); + void testRegistered(); + void testLastCredentialsUpdate(); + void testRelease(); + void testSslVerify(); +}; + +#endif diff --git a/tests/ut_coreconfig/main.cpp b/tests/ut_coreconfig/main.cpp new file mode 100644 index 0000000..6fc2205 --- /dev/null +++ b/tests/ut_coreconfig/main.cpp @@ -0,0 +1,26 @@ +/** + * @file main.cpp + * @copyright 2012 Jolla Ltd. + * @author Martin Kampas + * @date 2012 + */ + +#include + +#include "libssu/sandbox_p.h" +#include "coreconfigtest.h" + +int main(int argc, char **argv){ + Sandbox sandbox(QString("%1/configroot").arg(TESTS_DATA_PATH), + Sandbox::UseAsSkeleton, Sandbox::ThisProcess); + if (!sandbox.activate()){ + qFatal("Failed to activate sandbox"); + } + + CoreconfigTest coreconfigTest; + + if (QTest::qExec(&coreconfigTest, argc, argv)) + return 1; + + return 0; +} diff --git a/tests/ut_coreconfig/testdata/ssu-defaults.ini b/tests/ut_coreconfig/testdata/ssu-defaults.ini new file mode 100644 index 0000000..1bb8bf6 --- /dev/null +++ b/tests/ut_coreconfig/testdata/ssu-defaults.ini @@ -0,0 +1 @@ +# empty diff --git a/tests/ut_coreconfig/testdata/ssu.ini b/tests/ut_coreconfig/testdata/ssu.ini new file mode 100644 index 0000000..2f87b9c --- /dev/null +++ b/tests/ut_coreconfig/testdata/ssu.ini @@ -0,0 +1,18 @@ +[General] +initialized=true +flavour=testing +registered=false +rndRelease=next +release=latest +adaptation= +ca-certificate= +credentials-scope=example +credentials-url-example = http://creden.tia.ls/ + +[credentials-example] +username = example_username +password = example_password + +[repository-urls] + +[repository-url-variables] diff --git a/tests/ut_coreconfig/ut_coreconfig.pro b/tests/ut_coreconfig/ut_coreconfig.pro new file mode 100644 index 0000000..45fecf9 --- /dev/null +++ b/tests/ut_coreconfig/ut_coreconfig.pro @@ -0,0 +1,16 @@ +TARGET = ut_coreconfig +include(../testapplication.pri) +include(ut_coreconfig_dependencies.pri) + +HEADERS = \ + coreconfigtest.h \ + +SOURCES = \ + main.cpp \ + coreconfigtest.cpp \ + +test_data_etc.files = \ + testdata/ssu.ini \ + +test_data_usr_share.files = \ + testdata/ssu-defaults.ini \ diff --git a/tests/ut_coreconfig/ut_coreconfig_dependencies.pri b/tests/ut_coreconfig/ut_coreconfig_dependencies.pri new file mode 100644 index 0000000..5e56454 --- /dev/null +++ b/tests/ut_coreconfig/ut_coreconfig_dependencies.pri @@ -0,0 +1,2 @@ +include(../../libssu/libssu.pri) +include(../testutils/testutils.pri)