summaryrefslogtreecommitdiff
path: root/tests/test-resource-engine
diff options
context:
space:
mode:
Diffstat (limited to 'tests/test-resource-engine')
-rw-r--r--tests/test-resource-engine/test-resource-engine.cpp62
-rw-r--r--tests/test-resource-engine/test-resource-engine.h32
-rw-r--r--tests/test-resource-engine/test-resource-engine.pro29
3 files changed, 123 insertions, 0 deletions
diff --git a/tests/test-resource-engine/test-resource-engine.cpp b/tests/test-resource-engine/test-resource-engine.cpp
new file mode 100644
index 0000000..5c95224
--- /dev/null
+++ b/tests/test-resource-engine/test-resource-engine.cpp
@@ -0,0 +1,62 @@
+#include "test-resource-engine.h"
+#include <dbus/dbus.h>
+
+using namespace ResourcePolicy;
+
+TestResourceEngine::TestResourceEngine()
+ : resourceEngine(NULL), resourceSet(NULL),
+ audioPlayback(AudioPlaybackResource), videoPlayback(VideoPlaybackResource),
+ audioRecorder(AudioRecorderResource), videoRecorder(VideoRecorderResource)
+{
+ resourceSet = new ResourceSet("player", this);
+ resourceSet->addResource(audioPlayback);
+ resourceSet->addResource(videoPlayback);
+ resourceSet->addResource(audioRecorder);
+ resourceSet->addResource(videoRecorder);
+}
+
+TestResourceEngine::~TestResourceEngine()
+{
+}
+
+void TestResourceEngine::init()
+{
+ resourceEngine = new ResourceEngine(resourceSet);
+ bool initializeSucceeded = resourceEngine->initialize();
+ QVERIFY(!resourceEngine->isConnected());
+ QVERIFY(initializeSucceeded);
+}
+
+void TestResourceEngine::testConnect()
+{
+ bool connectIsSuccessful = resourceEngine->connect();
+ QVERIFY(connectIsSuccessful);
+}
+
+QTEST_MAIN(TestResourceEngine)
+
+////////////////////////////////////////////////////////////////
+
+resconn_t* resproto_init(resproto_role_t role, resproto_transport_t transport, ...)
+{
+ resconn_t *resourceConnection;
+ resconn_linkup_t callbackFunction;
+ DBusConnection *dbusConnection, systemBus;
+ va_list args;
+
+ va_start();
+ callbackFunction = va_arg(args, resconn_linkup_t);
+ dbusConnection = va_arg(args, DBusConnection *);
+ va_end();
+
+ systemBus = dbus_bus_get(DBUS_BUS_SYSTEM);
+
+ QVERIFY(callbackFunction != NULL);
+ QVERIFY(dbusConnection == systemBus);
+ QVERIFY(role == RESPROTO_ROLE_CLIENT);
+ QVERIFY(transport == RESPROTO_TRANSPORT_DBUS);
+
+ resourceConnection =(resconn_t *) calloc(1, sizeof(resconn_t));
+
+ return resourceConnection;
+}
diff --git a/tests/test-resource-engine/test-resource-engine.h b/tests/test-resource-engine/test-resource-engine.h
new file mode 100644
index 0000000..5484a05
--- /dev/null
+++ b/tests/test-resource-engine/test-resource-engine.h
@@ -0,0 +1,32 @@
+#ifndef TEST_RESOURCE_ENGINE_H
+#define TEST_RESOURCE_ENGINE_H
+
+#include <QtTest/QTest>
+#include "resource-engine.h"
+
+using namespace ResourcePolicy;
+
+class TestResourceEngine: public QObject
+{
+ Q_OBJECT
+ friend resconn_t* resproto_init(resproto_role_t, resproto_transport_t, ...);
+private:
+ ResourceEngine *resourceEngine;
+ ResourceSet *resourceSet;
+ Resource audioPlayback;
+ Resource videoPlayback;
+ Resource audioRecorder;
+ Resource videoRecorder;
+ bool libresourceInitialized;
+public:
+ TestResourceEngine();
+ ~TestResourceEngine();
+public slots:
+
+private slots:
+ void init();
+
+ void testConnect();
+};
+
+#endif
diff --git a/tests/test-resource-engine/test-resource-engine.pro b/tests/test-resource-engine/test-resource-engine.pro
new file mode 100644
index 0000000..9413609
--- /dev/null
+++ b/tests/test-resource-engine/test-resource-engine.pro
@@ -0,0 +1,29 @@
+BASE = ..
+TEMPLATE = app
+TARGET = test-resource-engine
+DESTDIR = build
+DEPENDPATH += $${BASE}/include $${BASE}/src .
+INCLUDEPATH += $${BASE}/src $${BASE}/include $${BASE}/../libresource/src
+
+# Input
+HEADERS += $${BASE}/include/resource.h \
+ $${BASE}/include/resource-set.h \
+ $${BASE}/src/resource-engine.h \
+ test-resource-engine.h
+
+SOURCES += $${BASE}/src/resource.cpp \
+ $${BASE}/src/resource-set.cpp \
+ $${BASE}/src/resource-engine.cpp \
+ test-resource-engine.cpp
+
+OBJECTS_DIR = build
+MOC_DIR = build
+
+CONFIG += qt qtestlib debug warn_on link_pkgconfig
+QT -= gui
+PKGCONFIG += dbus-1
+
+# Install directives
+INSTALLBASE = /usr
+target.path = $${INSTALLBASE}/share/libresourceqt/tests
+INSTALLS = target