From a7761546eddf14689984ad95f5f6c3aeb4024362 Mon Sep 17 00:00:00 2001 From: Vsevolod Buzinov Date: Tue, 31 Aug 2010 17:33:38 +0300 Subject: Added security-related changes such as error signal in resource engine --- .../test-security-with-aegis-token.pro | 18 +++++++++ .../test-security.cpp | 47 ++++++++++++++++++++++ .../test-security-without-aegis-token.pro | 20 +++++++++ .../test-security.cpp | 47 ++++++++++++++++++++++ tests/tests.pro | 4 +- tests/tests.xml | 7 ++++ 6 files changed, 142 insertions(+), 1 deletion(-) create mode 100644 tests/test-security-with-aegis-token/test-security-with-aegis-token.pro create mode 100644 tests/test-security-with-aegis-token/test-security.cpp create mode 100644 tests/test-security-without-aegis-token/test-security-without-aegis-token.pro create mode 100644 tests/test-security-without-aegis-token/test-security.cpp (limited to 'tests') 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 +#include +#include + +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&)), + this, SLOT(resourceAcquiredHandler(const QList&))); + + connect(resourceSet, SIGNAL(errorCallback(quint32, const char*)), this, SLOT(errorCallback(quint32, const char*))); + + resourceSet->acquire(); + } + +private slots: + void resourceAcquiredHandler(const QList& /*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 +#include +#include + +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&)), + this, SLOT(resourceAcquiredHandler(const QList&))); + + connect(resourceSet, SIGNAL(errorCallback(quint32, const char*)), this, SLOT(errorCallback(quint32, const char*))); + + resourceSet->acquire(); + } + +private slots: + void resourceAcquiredHandler(const QList& /*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 @@ /usr/lib/libresourceqt-tests/test-resource-engine-wrapper + + /usr/lib/libresourceqt-tests/test-security-with-aegis-token + + + /usr/lib/libresourceqt-tests/test-security-without-aegis-token + + false true -- cgit v1.2.3