From 160f3153cffb110f5b52e244485ccbc2c15b002c Mon Sep 17 00:00:00 2001 From: Christian Mollekopf Date: Wed, 20 Sep 2017 10:52:30 +0200 Subject: Fixed tests with secretstore --- common/genericresource.cpp | 5 +++++ common/genericresource.h | 1 + common/inspector.cpp | 13 ++++++++++--- common/inspector.h | 6 ++++++ common/secretstore.cpp | 6 ++++++ common/secretstore.h | 3 +++ examples/imapresource/imapresource.cpp | 9 +++------ examples/imapresource/tests/imapmailsynctest.cpp | 5 +++-- examples/imapresource/tests/imapmailtest.cpp | 3 ++- examples/mailtransportresource/tests/mailtransporttest.cpp | 3 ++- 10 files changed, 41 insertions(+), 13 deletions(-) diff --git a/common/genericresource.cpp b/common/genericresource.cpp index b6a8f62..00d7d0c 100644 --- a/common/genericresource.cpp +++ b/common/genericresource.cpp @@ -21,6 +21,7 @@ #include "pipeline.h" #include "synchronizer.h" +#include "inspector.h" #include "commandprocessor.h" #include "definitions.h" #include "storage.h" @@ -50,6 +51,9 @@ void GenericResource::setSecret(const QString &s) if (mSynchronizer) { mSynchronizer->setSecret(s); } + if (mInspector) { + mInspector->setSecret(s); + } } void GenericResource::setupPreprocessors(const QByteArray &type, const QVector &preprocessors) @@ -68,6 +72,7 @@ void GenericResource::setupSynchronizer(const QSharedPointer &sync void GenericResource::setupInspector(const QSharedPointer &inspector) { + mInspector = inspector; mProcessor->setInspector(inspector); } diff --git a/common/genericresource.h b/common/genericresource.h index 4e86b75..edcd7d2 100644 --- a/common/genericresource.h +++ b/common/genericresource.h @@ -70,6 +70,7 @@ private: QSharedPointer mPipeline; QSharedPointer mProcessor; QSharedPointer mSynchronizer; + QSharedPointer mInspector; int mError; qint64 mClientLowerBoundRevision; }; diff --git a/common/inspector.cpp b/common/inspector.cpp index 78053a2..0e7a61f 100644 --- a/common/inspector.cpp +++ b/common/inspector.cpp @@ -30,10 +30,7 @@ using namespace Sink; Inspector::Inspector(const ResourceContext &context) : QObject(), mResourceContext(context) - // mEntityStore(Storage::EntityStore::Ptr::create(mResourceContext)), - // mSyncStorage(Sink::storageLocation(), mResourceContext.instanceId() + ".synchronization", Sink::Storage::DataStore::DataStore::ReadWrite) { - // SinkTrace() << "Starting synchronizer: " << mResourceContext.resourceType << mResourceContext.instanceId(); } Inspector::~Inspector() @@ -41,6 +38,16 @@ Inspector::~Inspector() } +void Inspector::setSecret(const QString &s) +{ + mSecret = s; +} + +QString Inspector::secret() const +{ + return mSecret; +} + KAsync::Job Inspector::processCommand(void const *command, size_t size) { flatbuffers::Verifier verifier((const uint8_t *)command, size); diff --git a/common/inspector.h b/common/inspector.h index 5ee995e..a1f7c53 100644 --- a/common/inspector.h +++ b/common/inspector.h @@ -41,13 +41,19 @@ public: KAsync::Job processCommand(void const *command, size_t size); + void setSecret(const QString &s); + signals: void notify(Notification); protected: + QString secret() const; virtual KAsync::Job inspect(int inspectionType, const QByteArray &inspectionId, const QByteArray &domainType, const QByteArray &entityId, const QByteArray &property, const QVariant &expectedValue); Sink::ResourceContext mResourceContext; + +private: + QString mSecret; }; } diff --git a/common/secretstore.cpp b/common/secretstore.cpp index 39d5206..27704fa 100644 --- a/common/secretstore.cpp +++ b/common/secretstore.cpp @@ -29,6 +29,12 @@ using namespace Sink; QMutex SecretStore::sMutex; +SecretStore::SecretStore() + : QObject() +{ + +} + SecretStore &SecretStore::instance() { static SecretStore s; diff --git a/common/secretstore.h b/common/secretstore.h index 04fdaba..119003a 100644 --- a/common/secretstore.h +++ b/common/secretstore.h @@ -42,6 +42,9 @@ Q_SIGNALS: void secretAvailable(const QByteArray &resourceId); private: + Q_DISABLE_COPY(SecretStore); + SecretStore(); + QMap mCache; static QMutex sMutex; }; diff --git a/examples/imapresource/imapresource.cpp b/examples/imapresource/imapresource.cpp index 2aba6b0..b8a741b 100644 --- a/examples/imapresource/imapresource.cpp +++ b/examples/imapresource/imapresource.cpp @@ -841,7 +841,7 @@ protected: auto messageByUid = QSharedPointer>::create(); SinkTrace() << "Connecting to:" << mServer << mPort; SinkTrace() << "as:" << mUser; - auto inspectionJob = imap->login(mUser, mPassword) + auto inspectionJob = imap->login(mUser, secret()) .then(imap->select(folderRemoteId)) .then([](Imap::SelectResult){}) .then(imap->fetch(set, scope, [imap, messageByUid](const Imap::Message &message) { @@ -907,7 +907,7 @@ protected: scope.mode = KIMAP2::FetchJob::FetchScope::Headers; auto imap = QSharedPointer::create(mServer, mPort); auto messageByUid = QSharedPointer>::create(); - return imap->login(mUser, mPassword) + return imap->login(mUser, secret()) .then(imap->select(remoteId)) .then(imap->fetch(set, scope, [=](const Imap::Message message) { messageByUid->insert(message.uid, message); @@ -924,7 +924,7 @@ protected: auto folderByName = QSharedPointer>::create(); auto imap = QSharedPointer::create(mServer, mPort); - auto inspectionJob = imap->login(mUser, mPassword) + auto inspectionJob = imap->login(mUser, secret()) .then(imap->fetchFolders([=](const Imap::Folder &f) { *folderByPath << f.path(); *folderByName << f.name(); @@ -949,7 +949,6 @@ public: QString mServer; int mPort; QString mUser; - QString mPassword; }; @@ -981,8 +980,6 @@ ImapResource::ImapResource(const ResourceContext &resourceContext) inspector->mServer = server; inspector->mPort = port; inspector->mUser = user; - //TODO - // inspector->mPassword = password; setupInspector(inspector); setupPreprocessors(ENTITY_TYPE_MAIL, QVector() << new SpecialPurposeProcessor << new MailPropertyExtractor); diff --git a/examples/imapresource/tests/imapmailsynctest.cpp b/examples/imapresource/tests/imapmailsynctest.cpp index 7cdb103..f20a77e 100644 --- a/examples/imapresource/tests/imapmailsynctest.cpp +++ b/examples/imapresource/tests/imapmailsynctest.cpp @@ -25,6 +25,7 @@ #include "common/test.h" #include "common/domain/applicationdomaintype.h" +#include "common/secretstore.h" using namespace Sink; using namespace Sink::ApplicationDomain; @@ -57,7 +58,7 @@ protected: resource.setProperty("server", "localhost"); resource.setProperty("port", 993); resource.setProperty("username", "doe"); - resource.setProperty("password", "doe"); + Sink::SecretStore::instance().insert(resource.identifier(), "doe"); return resource; } @@ -68,7 +69,7 @@ protected: resource.setProperty("server", "111.111.1.1"); resource.setProperty("port", 993); resource.setProperty("username", "doe"); - resource.setProperty("password", "doe"); + Sink::SecretStore::instance().insert(resource.identifier(), "doe"); return resource; } diff --git a/examples/imapresource/tests/imapmailtest.cpp b/examples/imapresource/tests/imapmailtest.cpp index e6f41f4..60ec1bf 100644 --- a/examples/imapresource/tests/imapmailtest.cpp +++ b/examples/imapresource/tests/imapmailtest.cpp @@ -5,6 +5,7 @@ #include "common/test.h" #include "common/domain/applicationdomaintype.h" +#include "common/secretstore.h" using namespace Sink; using namespace Sink::ApplicationDomain; @@ -37,7 +38,7 @@ protected: resource.setProperty("server", "localhost"); resource.setProperty("port", 993); resource.setProperty("username", "doe"); - resource.setProperty("password", "doe"); + Sink::SecretStore::instance().insert(resource.identifier(), "doe"); return resource; } }; diff --git a/examples/mailtransportresource/tests/mailtransporttest.cpp b/examples/mailtransportresource/tests/mailtransporttest.cpp index 2a831ed..8669024 100644 --- a/examples/mailtransportresource/tests/mailtransporttest.cpp +++ b/examples/mailtransportresource/tests/mailtransporttest.cpp @@ -8,6 +8,7 @@ #include "common/resourcecontrol.h" #include "common/domain/applicationdomaintype.h" #include "common/log.h" +#include "common/secretstore.h" using namespace Sink; using namespace Sink::ApplicationDomain; @@ -22,7 +23,7 @@ class MailtransportTest : public QObject resource.setProperty("server", "localhost"); // resource.setProperty("port", 993); resource.setProperty("user", "doe"); - resource.setProperty("password", "doe"); + Sink::SecretStore::instance().insert(resource.identifier(), "doe"); resource.setProperty("testmode", true); return resource; } -- cgit v1.2.3