summaryrefslogtreecommitdiff
path: root/tests
diff options
context:
space:
mode:
Diffstat (limited to 'tests')
-rw-r--r--tests/test-security-with-aegis-token/test-security-with-aegis-token.pro18
-rw-r--r--tests/test-security-with-aegis-token/test-security.cpp47
-rw-r--r--tests/test-security-without-aegis-token/test-security-without-aegis-token.pro20
-rw-r--r--tests/test-security-without-aegis-token/test-security.cpp47
-rw-r--r--tests/tests.pro4
-rw-r--r--tests/tests.xml7
6 files changed, 142 insertions, 1 deletions
diff --git a/tests/test-security-with-aegis-token/test-security-with-aegis-token.pro b/tests/test-security-with-aegis-token/test-security-with-aegis-token.pro
new file mode 100644
index 0000000..2f30c56
--- /dev/null
+++ b/tests/test-security-with-aegis-token/test-security-with-aegis-token.pro
@@ -0,0 +1,18 @@
+include(../../common.pri)
+TEMPLATE = app
+TARGET = test-security-with-aegis-token
+QT = testlib core
+CONFIG -= app_bundle
+DEPENDPATH += $${POLICY} $${BASE}/src .
+INCLUDEPATH += $${LIBRESOURCEQT}/src $${LIBRESOURCEQT}/include $${LIBRESOURCEINC} $${LIBDBUSQEVENTLOOP}
+
+# Input
+SOURCES += test-security.cpp
+
+LIBS += -L$${LIBDBUSQEVENTLOOP}/build -L$${LIBRESOURCEQT}/build -ldbus-qeventloop -lresourceqt
+
+# Install options
+target.path = /usr/lib/libresourceqt-tests/
+#target.files = test-security-with-aegis-token
+
+INSTALLS = target
diff --git a/tests/test-security-with-aegis-token/test-security.cpp b/tests/test-security-with-aegis-token/test-security.cpp
new file mode 100644
index 0000000..1a90009
--- /dev/null
+++ b/tests/test-security-with-aegis-token/test-security.cpp
@@ -0,0 +1,47 @@
+#include "qt4/policy/resource-set.h"
+#include <cstdio>
+#include <cstdlib>
+#include <QCoreApplication>
+
+using namespace ResourcePolicy;
+
+class TestSecurity: public QObject
+{
+ Q_OBJECT
+
+public:
+ void testSecurity() {
+
+ ResourceSet *resourceSet = new ResourceSet("call", this);
+ resourceSet->addResource(ResourcePolicy::AudioRecorderType);
+
+ connect(resourceSet, SIGNAL(resourcesGranted(const QList<ResourcePolicy::ResourceType>&)),
+ this, SLOT(resourceAcquiredHandler(const QList<ResourcePolicy::ResourceType>&)));
+
+ connect(resourceSet, SIGNAL(errorCallback(quint32, const char*)), this, SLOT(errorCallback(quint32, const char*)));
+
+ resourceSet->acquire();
+ }
+
+private slots:
+ void resourceAcquiredHandler(const QList<ResourcePolicy::ResourceType>& /*grantedOptionalResList*/) {
+ printf(">>> resource acquired\n");
+ exit(0);
+ }
+
+ void errorCallback(quint32 code, const char* message) {
+ printf(">>> error %u, %s\n", code, message);
+ exit(1);
+ }
+};
+
+int main(int argc, char* argv[]) {
+ QCoreApplication app(argc, argv);
+
+ TestSecurity *test = new TestSecurity();
+ test->testSecurity();
+
+ return app.exec();
+}
+
+#include "test-security.moc"
diff --git a/tests/test-security-without-aegis-token/test-security-without-aegis-token.pro b/tests/test-security-without-aegis-token/test-security-without-aegis-token.pro
new file mode 100644
index 0000000..fd8b042
--- /dev/null
+++ b/tests/test-security-without-aegis-token/test-security-without-aegis-token.pro
@@ -0,0 +1,20 @@
+include(../../common.pri)
+TEMPLATE = app
+TARGET = test-security-without-aegis-token
+QT = testlib core
+CONFIG -= app_bundle
+DEPENDPATH += $${POLICY} $${BASE}/src .
+INCLUDEPATH += $${LIBRESOURCEQT}/src $${LIBRESOURCEQT}/include $${LIBRESOURCEINC} $${LIBDBUSQEVENTLOOP}
+
+# Input
+SOURCES += test-security.cpp
+
+LIBS += -L$${LIBDBUSQEVENTLOOP}/build -L$${LIBRESOURCEQT}/build -ldbus-qeventloop -lresourceqt
+
+# Install options
+# Install options
+target.path = /usr/lib/libresourceqt-tests/
+#target.files = test-security-without-aegis-token
+
+INSTALLS = target
+
diff --git a/tests/test-security-without-aegis-token/test-security.cpp b/tests/test-security-without-aegis-token/test-security.cpp
new file mode 100644
index 0000000..1a90009
--- /dev/null
+++ b/tests/test-security-without-aegis-token/test-security.cpp
@@ -0,0 +1,47 @@
+#include "qt4/policy/resource-set.h"
+#include <cstdio>
+#include <cstdlib>
+#include <QCoreApplication>
+
+using namespace ResourcePolicy;
+
+class TestSecurity: public QObject
+{
+ Q_OBJECT
+
+public:
+ void testSecurity() {
+
+ ResourceSet *resourceSet = new ResourceSet("call", this);
+ resourceSet->addResource(ResourcePolicy::AudioRecorderType);
+
+ connect(resourceSet, SIGNAL(resourcesGranted(const QList<ResourcePolicy::ResourceType>&)),
+ this, SLOT(resourceAcquiredHandler(const QList<ResourcePolicy::ResourceType>&)));
+
+ connect(resourceSet, SIGNAL(errorCallback(quint32, const char*)), this, SLOT(errorCallback(quint32, const char*)));
+
+ resourceSet->acquire();
+ }
+
+private slots:
+ void resourceAcquiredHandler(const QList<ResourcePolicy::ResourceType>& /*grantedOptionalResList*/) {
+ printf(">>> resource acquired\n");
+ exit(0);
+ }
+
+ void errorCallback(quint32 code, const char* message) {
+ printf(">>> error %u, %s\n", code, message);
+ exit(1);
+ }
+};
+
+int main(int argc, char* argv[]) {
+ QCoreApplication app(argc, argv);
+
+ TestSecurity *test = new TestSecurity();
+ test->testSecurity();
+
+ return app.exec();
+}
+
+#include "test-security.moc"
diff --git a/tests/tests.pro b/tests/tests.pro
index 3d0658c..979688f 100644
--- a/tests/tests.pro
+++ b/tests/tests.pro
@@ -9,7 +9,9 @@ SUBDIRS = test-dbus-qeventloop \
test-dbus-pong \
test-resource \
test-resource-set \
- test-resource-engine
+ test-resource-engine \
+ test-security-with-aegis-token \
+ test-security-without-aegis-token
# Install options
testsxml.path = /usr/share/libresourceqt-tests/
diff --git a/tests/tests.xml b/tests/tests.xml
index f73b9da..76d69e8 100644
--- a/tests/tests.xml
+++ b/tests/tests.xml
@@ -15,6 +15,13 @@
<step expected_result="0">/usr/lib/libresourceqt-tests/test-resource-engine-wrapper</step>
</case>
+ <case name="test-security-with-token" type="Functional" level="Component" subfeature="libresource Qt API" description="Unit tests for libresourceqt" timeout="15">
+ <step expected_result="0">/usr/lib/libresourceqt-tests/test-security-with-aegis-token</step>
+ </case>
+ <case name="test-security-without-token" type="Functional" level="Component" subfeature="libresource Qt API" description="Unit tests for libresourceqt" timeout="15">
+ <step expected_result="1">/usr/lib/libresourceqt-tests/test-security-without-aegis-token</step>
+ </case>
+
<environments>
<scratchbox>false</scratchbox>
<hardware>true</hardware>