diff --git a/core/autotests/addressbook/importaddressbookjobinterfacetest.cpp b/core/autotests/addressbook/importaddressbookjobinterfacetest.cpp index 2d03d82..28176b3 100644 --- a/core/autotests/addressbook/importaddressbookjobinterfacetest.cpp +++ b/core/autotests/addressbook/importaddressbookjobinterfacetest.cpp @@ -1,106 +1,107 @@ /* Copyright (C) 2020 Laurent Montel This program is free software; you can redistribute it and/or modify it under the terms of the GNU General Public License as published by the Free Software Foundation; either version 2 of the License, or (at your option) any later version. This program is distributed in the hope that it will be useful, but WITHOUT ANY WARRANTY; without even the implied warranty of MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU General Public License for more details. You should have received a copy of the GNU General Public License along with this program; see the file COPYING. If not, write to the Free Software Foundation, Inc., 51 Franklin Street, Fifth Floor, Boston, MA 02110-1301, USA. */ #include "importaddressbookjobinterfacetest.h" #include "archivestorage.h" #include "resourceconvertertest.h" #include "testimportfile.h" #include #include QTEST_MAIN(ImportAddressbookJobInterfaceTest) ImportAddressbookJobInterfaceTestImpl::ImportAddressbookJobInterfaceTestImpl(QObject *parent, Utils::StoredTypes typeSelected, ArchiveStorage *archiveStorage, int numberOfStep) : ImportAddressbookJobInterface(parent, typeSelected, archiveStorage, numberOfStep) { } ImportAddressbookJobInterfaceTestImpl::~ImportAddressbookJobInterfaceTestImpl() { //Clean up temp repo - QVERIFY(QDir(QDir::tempPath() + QLatin1Char('/') + Utils::storeAddressbook()).removeRecursively()); + QVERIFY(QDir(extractPath()).removeRecursively()); } Akonadi::Collection::Id ImportAddressbookJobInterfaceTestImpl::convertFolderPathToCollectionId(const QString &path) { ResourceConverterTest resourceConverterTest; resourceConverterTest.setTestPath(mPathConfig); return resourceConverterTest.convertFolderPathToCollectionId(path); } QString ImportAddressbookJobInterfaceTestImpl::createResource(const QString &resources, const QString &name, const QMap &settings, bool synchronizeTree) { return mLogCreateResource->logCreateResource(resources, name, settings, synchronizeTree); } void ImportAddressbookJobInterfaceTestImpl::synchronizeResource(const QStringList &lst) { mLogCreateResource->logSynchronizeResource(lst); slotNextStep(); } QString ImportAddressbookJobInterfaceTestImpl::adaptResourcePath(const KSharedConfigPtr &resourceConfig, const QString &storedData) { ResourceConverterTest resourceConverterTest; resourceConverterTest.setTestPath(mPathConfig); return resourceConverterTest.adaptResourcePath(resourceConfig, storedData); } QString ImportAddressbookJobInterfaceTestImpl::adaptNewResourceUrl(bool overwriteResources, const KSharedConfig::Ptr &resourceConfig, const QString &storePath) { ResourceConverterTest resourceConverterTest; resourceConverterTest.setTestPath(mPathConfig); return resourceConverterTest.adaptNewResourceUrl(overwriteResources, resourceConfig, storePath); } ImportAddressbookJobInterfaceTest::ImportAddressbookJobInterfaceTest(QObject *parent) : QObject(parent) { } void ImportAddressbookJobInterfaceTest::importAddressbook_data() { QTest::addColumn("zipFilePath"); QTest::addColumn("testPath"); QTest::addColumn("options"); const QByteArray pathConfig(QByteArray(PIMDATAEXPORTER_DIR) + "/import/"); Utils::StoredTypes options = {Utils::StoredType::Config}; QTest::newRow("addressbookonlyconfig") << QString::fromLatin1(pathConfig) << QStringLiteral("/addressbookonlyconfig/") << options; options = {Utils::StoredType::Config| Utils::StoredType::Resources}; QTest::newRow("addressbookconfigandresources") << QString::fromLatin1(pathConfig) << QStringLiteral("/addressbookconfigandresources/") << options; } void ImportAddressbookJobInterfaceTest::importAddressbook() { QFETCH(QString, zipFilePath); QFETCH(QString, testPath); QFETCH(Utils::StoredTypes, options); TestImportFile *file = new TestImportFile(zipFilePath + testPath, this); file->setPathConfig(zipFilePath + testPath); file->setExtractPath(QDir::tempPath() + testPath); file->setExcludePath(Utils::addressbookPath()); ImportAddressbookJobInterfaceTestImpl *impl = new ImportAddressbookJobInterfaceTestImpl(this, options, file->archiveStorage(), 1); impl->setPathConfig(file->pathConfig()); + impl->setExtractPath(file->extractPath()); file->setAbstractImportExportJob(impl); file->setLoggingFilePath(impl->loggingFilePath()); file->start(); delete impl; delete file; } diff --git a/core/autotests/exportimportutil.cpp b/core/autotests/exportimportutil.cpp index 895a65c..c583aaf 100644 --- a/core/autotests/exportimportutil.cpp +++ b/core/autotests/exportimportutil.cpp @@ -1,50 +1,60 @@ /* Copyright (C) 2020 Laurent Montel This program is free software; you can redistribute it and/or modify it under the terms of the GNU General Public License as published by the Free Software Foundation; either version 2 of the License, or (at your option) any later version. This program is distributed in the hope that it will be useful, but WITHOUT ANY WARRANTY; without even the implied warranty of MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU General Public License for more details. You should have received a copy of the GNU General Public License along with this program; see the file COPYING. If not, write to the Free Software Foundation, Inc., 51 Franklin Street, Fifth Floor, Boston, MA 02110-1301, USA. */ #include "exportimportutil.h" ExportImportUtil::ExportImportUtil() { mLogCreateResource = new LogCreatingResource(nullptr); } ExportImportUtil::~ExportImportUtil() { delete mLogCreateResource; } void ExportImportUtil::setListOfResource(const QVector &instanceInfoList) { mListAkonadiInstanceInfo = instanceInfoList; } void ExportImportUtil::setPathConfig(const QString &pathConfig) { mPathConfig = pathConfig; } void ExportImportUtil::addLogCreateResource(const QString &str) { mLogCreateResource->appendText(str); } QString ExportImportUtil::loggingFilePath() const { return mLogCreateResource->logPath(); } + +void ExportImportUtil::setExtractPath(const QString &extractPath) +{ + mExtractPath = extractPath; +} + +QString ExportImportUtil::extractPath() const +{ + return mExtractPath; +} diff --git a/core/autotests/exportimportutil.h b/core/autotests/exportimportutil.h index 06cfc12..b527d33 100644 --- a/core/autotests/exportimportutil.h +++ b/core/autotests/exportimportutil.h @@ -1,42 +1,48 @@ /* Copyright (C) 2020 Laurent Montel This program is free software; you can redistribute it and/or modify it under the terms of the GNU General Public License as published by the Free Software Foundation; either version 2 of the License, or (at your option) any later version. This program is distributed in the hope that it will be useful, but WITHOUT ANY WARRANTY; without even the implied warranty of MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU General Public License for more details. You should have received a copy of the GNU General Public License along with this program; see the file COPYING. If not, write to the Free Software Foundation, Inc., 51 Franklin Street, Fifth Floor, Boston, MA 02110-1301, USA. */ #ifndef EXPORTIMPORTUTIL_H #define EXPORTIMPORTUTIL_H #include #include "utils.h" #include "logcreatingressource.h" class ExportImportUtil { public: ExportImportUtil(); ~ExportImportUtil(); void setListOfResource(const QVector &instanceInfoList); void setPathConfig(const QString &pathConfig); void addLogCreateResource(const QString &str); Q_REQUIRED_RESULT QString loggingFilePath() const; QVector mListAkonadiInstanceInfo; QString mPathConfig; + void setExtractPath(const QString &extractPath); + + Q_REQUIRED_RESULT QString extractPath() const; + protected: LogCreatingResource *mLogCreateResource = nullptr; +private: + QString mExtractPath; }; #endif // EXPORTIMPORTUTIL_H diff --git a/core/autotests/mail/importmailjobinterfacetest.cpp b/core/autotests/mail/importmailjobinterfacetest.cpp index 8e1659e..d325741 100644 --- a/core/autotests/mail/importmailjobinterfacetest.cpp +++ b/core/autotests/mail/importmailjobinterfacetest.cpp @@ -1,157 +1,167 @@ /* Copyright (C) 2020 Laurent Montel This program is free software; you can redistribute it and/or modify it under the terms of the GNU General Public License as published by the Free Software Foundation; either version 2 of the License, or (at your option) any later version. This program is distributed in the hope that it will be useful, but WITHOUT ANY WARRANTY; without even the implied warranty of MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU General Public License for more details. You should have received a copy of the GNU General Public License along with this program; see the file COPYING. If not, write to the Free Software Foundation, Inc., 51 Franklin Street, Fifth Floor, Boston, MA 02110-1301, USA. */ #include "importmailjobinterfacetest.h" #include "archivestorage.h" #include "resourceconvertertest.h" #include "testimportfile.h" #include "utils.h" #include "mail/smtpmailtransport.h" #include #include #include #include QTEST_MAIN(ImportMailJobInterfaceTest) ImportMailJobInterfaceTestImpl::ImportMailJobInterfaceTestImpl(QObject *parent, Utils::StoredTypes typeSelected, ArchiveStorage *archiveStorage, int numberOfStep) : ImportMailJobInterface(parent, typeSelected, archiveStorage, numberOfStep) { } ImportMailJobInterfaceTestImpl::~ImportMailJobInterfaceTestImpl() { - //Clean up temp repo - QVERIFY(QDir(QDir::tempPath() + QLatin1Char('/') + Utils::storeMails()).removeRecursively()); + //Clean up temp repo. FIXME ! + QVERIFY(QDir(extractPath()).removeRecursively()); +} + +void ImportMailJobInterfaceTestImpl::start() +{ + QDir().mkpath(extractPath()); + //Create temporary file for identities + ImportMailJobInterface::start(); } Akonadi::Collection::Id ImportMailJobInterfaceTestImpl::convertFolderPathToCollectionId(const QString &path) { ResourceConverterTest resourceConverterTest; resourceConverterTest.setTestPath(mPathConfig); return resourceConverterTest.convertFolderPathToCollectionId(path); } void ImportMailJobInterfaceTestImpl::synchronizeResource(const QStringList &lst) { mLogCreateResource->logSynchronizeResource(lst); slotNextStep(); } QString ImportMailJobInterfaceTestImpl::createResource(const QString &resources, const QString &name, const QMap &settings, bool synchronizeTree) { return mLogCreateResource->logCreateResource(resources, name, settings, synchronizeTree); } void ImportMailJobInterfaceTestImpl::registerSpecialCollection(Akonadi::SpecialMailCollections::Type type, qint64 colId) { mLogCreateResource->logRegisterSpecialCollection(type, colId); } void ImportMailJobInterfaceTestImpl::importFilters(const QVector &filters) { qDebug() << " void ImportMailJobInterfaceTestImpl::importFilters(const QVector &filters)"; } QString ImportMailJobInterfaceTestImpl::adaptResourcePath(const KSharedConfigPtr &resourceConfig, const QString &storedData) { ResourceConverterTest resourceConverterTest; resourceConverterTest.setTestPath(mPathConfig); return resourceConverterTest.adaptResourcePath(resourceConfig, storedData); } QString ImportMailJobInterfaceTestImpl::adaptNewResourceUrl(bool overwriteResources, const KSharedConfig::Ptr &resourceConfig, const QString &storePath) { ResourceConverterTest resourceConverterTest; resourceConverterTest.setTestPath(mPathConfig); return resourceConverterTest.adaptNewResourceUrl(overwriteResources, resourceConfig, storePath); } void ImportMailJobInterfaceTestImpl::addNewIdentity(const QString &name, KConfigGroup &group, int defaultIdentities, int oldUid) { qDebug() << " void ImportMailJobInterfaceTestImpl::addNewIdentity(const QString &name, KConfigGroup &group, int defaultIdentities, int oldUid) not implemented yet" << oldUid << " name " << name; KIdentityManagement::Identity identity; identity.setUoid(mIdentityUoid++); group.writeEntry(QStringLiteral("Name"), name); group.sync(); identity.readConfig(group); if (oldUid != -1) { mHashIdentity.insert(oldUid, identity.uoid()); if (oldUid == defaultIdentities) { //TODO //mIdentityManager->setAsDefault(identity->uoid()); } } // identity.writeConfig(); //TODO write identity ? //TODO log it. //mIdentityManager->commit(); } void ImportMailJobInterfaceTestImpl::importCustomMailTransport(const QString &identifierValue, const KConfigGroup &group, int defaultTransport, int transportId) { qDebug() << "importCustomMailTransport(const QString &identifierValue, const KConfigGroup &group, int defaultTransport, int transportId) not implemented yet"; } void ImportMailJobInterfaceTestImpl::importSmtpMailTransport(const KConfigGroup &group, int defaultTransport, int transportId) { SmtpMailTransport smtpMailTransport(group); qDebug() << "ImportMailJobInterfaceTestImpl::importSmtpMailTransport(const KConfigGroup &group, int defaultTransport, int transportId) not implement yet"; qDebug() << " defaultTransport " << defaultTransport << " transportId " << transportId; } ImportMailJobInterfaceTest::ImportMailJobInterfaceTest(QObject *parent) : QObject(parent) { } void ImportMailJobInterfaceTest::importMail_data() { QTest::addColumn("zipFilePath"); QTest::addColumn("testPath"); QTest::addColumn("options"); Utils::StoredTypes options = {Utils::StoredType::Config}; const QByteArray pathConfig(QByteArray(PIMDATAEXPORTER_DIR) + "/import/"); QTest::newRow("mailonlyconfig") << QString::fromLatin1(pathConfig) << QStringLiteral("/mailonlyconfig/") << options; options = {Utils::StoredType::Config|Utils::StoredType::Resources}; QTest::newRow("mailconfigandresource") << QString::fromLatin1(pathConfig) << QStringLiteral("mailconfigandresource/") << options; options = {Utils::StoredType::MailTransport}; QTest::newRow("mailtransport") << QString::fromLatin1(pathConfig) << QStringLiteral("mailtransport/") << options; options = {Utils::StoredType::Identity}; QTest::newRow("identities") << QString::fromLatin1(pathConfig) << QStringLiteral("identities/") << options; } void ImportMailJobInterfaceTest::importMail() { QFETCH(QString, zipFilePath); QFETCH(QString, testPath); QFETCH(Utils::StoredTypes, options); TestImportFile *file = new TestImportFile(zipFilePath + testPath, this); file->setPathConfig(zipFilePath + testPath); file->setExtractPath(QDir::tempPath() + QLatin1Char('/') + testPath); file->setExcludePath(Utils::mailsPath()); // ??? ImportMailJobInterfaceTestImpl *impl = new ImportMailJobInterfaceTestImpl(this, options, file->archiveStorage(), 1); impl->setPathConfig(file->pathConfig()); + impl->setExtractPath(file->extractPath()); file->setAbstractImportExportJob(impl); file->setLoggingFilePath(impl->loggingFilePath()); file->start(); delete impl; delete file; } + + diff --git a/core/autotests/mail/importmailjobinterfacetest.h b/core/autotests/mail/importmailjobinterfacetest.h index 0dd5415..093ec76 100644 --- a/core/autotests/mail/importmailjobinterfacetest.h +++ b/core/autotests/mail/importmailjobinterfacetest.h @@ -1,63 +1,65 @@ /* Copyright (C) 2020 Laurent Montel This program is free software; you can redistribute it and/or modify it under the terms of the GNU General Public License as published by the Free Software Foundation; either version 2 of the License, or (at your option) any later version. This program is distributed in the hope that it will be useful, but WITHOUT ANY WARRANTY; without even the implied warranty of MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU General Public License for more details. You should have received a copy of the GNU General Public License along with this program; see the file COPYING. If not, write to the Free Software Foundation, Inc., 51 Franklin Street, Fifth Floor, Boston, MA 02110-1301, USA. */ #ifndef IMPORTMAILJOBINTERFACETEST_H #define IMPORTMAILJOBINTERFACETEST_H #include #include "exportimportutil.h" #include "mail/importmailjobinterface.h" class ImportMailJobInterfaceTestImpl : public ImportMailJobInterface, public ExportImportUtil { Q_OBJECT public: explicit ImportMailJobInterfaceTestImpl(QObject *parent, Utils::StoredTypes typeSelected, ArchiveStorage *archiveStorage, int numberOfStep); ~ImportMailJobInterfaceTestImpl(); + void start() override; protected: Q_REQUIRED_RESULT Akonadi::Collection::Id convertFolderPathToCollectionId(const QString &path) override; void synchronizeResource(const QStringList &lst) override; Q_REQUIRED_RESULT QString createResource(const QString &resources, const QString &name, const QMap &settings, bool synchronizeTree = false) override; void registerSpecialCollection(Akonadi::SpecialMailCollections::Type type, qint64 colId) override; void importFilters(const QVector &filters) override; Q_REQUIRED_RESULT QString adaptResourcePath(const KSharedConfigPtr &resourceConfig, const QString &storedData) override; Q_REQUIRED_RESULT QString adaptNewResourceUrl(bool overwriteResources, const KSharedConfig::Ptr &resourceConfig, const QString &storePath) override; void addNewIdentity(const QString &name, KConfigGroup &group, int defaultIdentities, int oldUid) override; void importCustomMailTransport(const QString &identifierValue, const KConfigGroup &group, int defaultTransport, int transportId) override; void importSmtpMailTransport(const KConfigGroup &group, int defaultTransport, int transportId) override; private: uint mIdentityUoid = 1; + }; class ImportMailJobInterfaceTest : public QObject { Q_OBJECT public: explicit ImportMailJobInterfaceTest(QObject *parent = nullptr); ~ImportMailJobInterfaceTest() = default; private Q_SLOTS: void importMail(); void importMail_data(); }; #endif // IMPORTMAILJOBINTERFACETEST_H diff --git a/core/autotests/testimportfile.cpp b/core/autotests/testimportfile.cpp index 312908a..307e33a 100644 --- a/core/autotests/testimportfile.cpp +++ b/core/autotests/testimportfile.cpp @@ -1,143 +1,148 @@ /* Copyright (C) 2020 Laurent Montel This program is free software; you can redistribute it and/or modify it under the terms of the GNU General Public License as published by the Free Software Foundation; either version 2 of the License, or (at your option) any later version. This program is distributed in the hope that it will be useful, but WITHOUT ANY WARRANTY; without even the implied warranty of MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU General Public License for more details. You should have received a copy of the GNU General Public License along with this program; see the file COPYING. If not, write to the Free Software Foundation, Inc., 51 Franklin Street, Fifth Floor, Boston, MA 02110-1301, USA. */ #include "testimportfile.h" #include "archivestorage.h" #include "utils.h" #include "abstractimportexportjob.h" #include "compareimportfile.h" #include "compareloggingfile.h" #include #include //#define REMOVE_TEMPORARY_DIR 1 TestImportFile::TestImportFile(const QString &archivePath, QObject *parent) : QObject(parent) , mArchivePath(archivePath + QStringLiteral("archive.zip")) { mArchiveStorage = new ArchiveStorage(mArchivePath, this); const bool archiveOpened = mArchiveStorage->openArchive(false); if (!archiveOpened) { qDebug() << " mArchivePath " << mArchivePath; } Q_ASSERT(archiveOpened); } TestImportFile::~TestImportFile() { } void TestImportFile::start() { //Don't use setTestModeEnabled otherwise we can set env //QStandardPaths::setTestModeEnabled(true); //TODO define extract path QVERIFY(!mExtractPath.isEmpty()); qputenv("XDG_DATA_HOME", mExtractPath.toLatin1() + "/share"); qputenv("XDG_CONFIG_HOME", mExtractPath.toLatin1() + "/config"); qDebug() << " mExtractPath.toLatin1() " << mExtractPath.toLatin1(); const int version = Utils::archiveVersion(mArchiveStorage->archive()); QVERIFY(version <= Utils::currentArchiveVersion()); mAbstractImportExportJob->setArchiveVersion(version); QSignalSpy finish(mAbstractImportExportJob, &AbstractImportExportJob::jobFinished); QSignalSpy error(mAbstractImportExportJob, &AbstractImportExportJob::error); mAbstractImportExportJob->start(); QVERIFY(finish.wait()); if (error.count()) { qDebug() << error.at(0); } QCOMPARE(error.count(), 0); delete mArchiveStorage; mArchiveStorage = nullptr; CompareImportFile compareExportFile; compareExportFile.setArchiveFilePath(mArchivePath); compareExportFile.setListFilePath(mPathConfig); compareExportFile.setInstallPath(mExtractPath); compareExportFile.setExcludePath(mExcludePath); compareExportFile.compareFile(); CompareLoggingFile file; file.setLoggingFilePath(mLoggingFilePath); file.setListFilePath(mPathConfig); file.compare(); #ifdef REMOVE_TEMPORARY_DIR QVERIFY(QDir(mExtractPath).removeRecursively()); #endif } AbstractImportExportJob *TestImportFile::abstractImportExportJob() const { return mAbstractImportExportJob; } void TestImportFile::setAbstractImportExportJob(AbstractImportExportJob *abstractImportExportJob) { mAbstractImportExportJob = abstractImportExportJob; } ArchiveStorage *TestImportFile::archiveStorage() const { return mArchiveStorage; } void TestImportFile::setArchiveStorage(ArchiveStorage *archiveStorage) { mArchiveStorage = archiveStorage; } QString TestImportFile::pathConfig() const { return mPathConfig; } void TestImportFile::setPathConfig(const QString &pathConfig) { mPathConfig = pathConfig; } void TestImportFile::setExtractPath(const QString &extractPath) { mExtractPath = extractPath; } QString TestImportFile::excludePath() const { return mExcludePath; } void TestImportFile::setExcludePath(const QString &excludePath) { mExcludePath = excludePath; } QString TestImportFile::loggingFilePath() const { return mLoggingFilePath; } void TestImportFile::setLoggingFilePath(const QString &loggingFilePath) { mLoggingFilePath = loggingFilePath; } + +QString TestImportFile::extractPath() const +{ + return mExtractPath; +} diff --git a/core/autotests/testimportfile.h b/core/autotests/testimportfile.h index 81c9612..23360ab 100644 --- a/core/autotests/testimportfile.h +++ b/core/autotests/testimportfile.h @@ -1,61 +1,63 @@ /* Copyright (C) 2020 Laurent Montel This program is free software; you can redistribute it and/or modify it under the terms of the GNU General Public License as published by the Free Software Foundation; either version 2 of the License, or (at your option) any later version. This program is distributed in the hope that it will be useful, but WITHOUT ANY WARRANTY; without even the implied warranty of MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU General Public License for more details. You should have received a copy of the GNU General Public License along with this program; see the file COPYING. If not, write to the Free Software Foundation, Inc., 51 Franklin Street, Fifth Floor, Boston, MA 02110-1301, USA. */ #ifndef TESTIMPORTFILE_H #define TESTIMPORTFILE_H #include class ArchiveStorage; class AbstractImportExportJob; class TestImportFile : public QObject { Q_OBJECT public: explicit TestImportFile(const QString &archivePath, QObject *parent = nullptr); ~TestImportFile(); void start(); Q_REQUIRED_RESULT AbstractImportExportJob *abstractImportExportJob() const; void setAbstractImportExportJob(AbstractImportExportJob *abstractImportExportJob); Q_REQUIRED_RESULT ArchiveStorage *archiveStorage() const; void setArchiveStorage(ArchiveStorage *archiveStorage); Q_REQUIRED_RESULT QString pathConfig() const; void setPathConfig(const QString &pathConfig); void setExtractPath(const QString &extractPath); Q_REQUIRED_RESULT QString excludePath() const; void setExcludePath(const QString &excludePath); Q_REQUIRED_RESULT QString loggingFilePath() const; void setLoggingFilePath(const QString &loggingFilePath); + Q_REQUIRED_RESULT QString extractPath() const; + private: AbstractImportExportJob *mAbstractImportExportJob = nullptr; ArchiveStorage *mArchiveStorage = nullptr; QString mArchivePath; QString mPathConfig; QString mExtractPath; QString mExcludePath; QString mLoggingFilePath; }; #endif // TESTIMPORTFILE_H