diff --git a/messageviewer/src/dkim-verify/autotests/dkimauthenticationstatusinfotest.cpp b/messageviewer/src/dkim-verify/autotests/dkimauthenticationstatusinfotest.cpp index 4e6fd7f0..0a033be1 100644 --- a/messageviewer/src/dkim-verify/autotests/dkimauthenticationstatusinfotest.cpp +++ b/messageviewer/src/dkim-verify/autotests/dkimauthenticationstatusinfotest.cpp @@ -1,56 +1,57 @@ /* Copyright (C) 2018-2019 Laurent Montel This library is free software; you can redistribute it and/or modify it under the terms of the GNU Library General Public License as published by the Free Software Foundation; either version 2 of the License, or (at your option) any later version. This library 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 Library General Public License for more details. You should have received a copy of the GNU Library General Public License along with this library; see the file COPYING.LIB. If not, write to the Free Software Foundation, Inc., 51 Franklin Street, Fifth Floor, Boston, MA 02110-1301, USA. */ #include "dkimauthenticationstatusinfotest.h" #include "dkim-verify/dkimauthenticationstatusinfo.h" #include QTEST_GUILESS_MAIN(DKIMAuthenticationStatusInfoTest) DKIMAuthenticationStatusInfoTest::DKIMAuthenticationStatusInfoTest(QObject *parent) : QObject(parent) { } void DKIMAuthenticationStatusInfoTest::shouldHaveDefaultValue() { MessageViewer::DKIMAuthenticationStatusInfo info; QVERIFY(info.authservId().isEmpty()); QVERIFY(info.authVersion().isEmpty()); + QVERIFY(info.reasonSpec().isEmpty()); } void DKIMAuthenticationStatusInfoTest::shouldParseKey() { QFETCH(QString, key); QFETCH(QString, result); QFETCH(bool, success); MessageViewer::DKIMAuthenticationStatusInfo info; const bool val = info.parseAuthenticationStatus(key); QCOMPARE(val, success); //TODO test result. } void DKIMAuthenticationStatusInfoTest::shouldParseKey_data() { QTest::addColumn("key"); QTest::addColumn("result"); QTest::addColumn("success"); - QTest::addRow("empty") << QString() << QString() << false; + QTest::addRow("empty") << QString() << QString() << true; } diff --git a/messageviewer/src/dkim-verify/dkimauthenticationstatusinfo.cpp b/messageviewer/src/dkim-verify/dkimauthenticationstatusinfo.cpp index 7b1f04b3..2f9c1dd3 100644 --- a/messageviewer/src/dkim-verify/dkimauthenticationstatusinfo.cpp +++ b/messageviewer/src/dkim-verify/dkimauthenticationstatusinfo.cpp @@ -1,60 +1,71 @@ /* Copyright (C) 2018-2019 Laurent Montel This library is free software; you can redistribute it and/or modify it under the terms of the GNU Library General Public License as published by the Free Software Foundation; either version 2 of the License, or (at your option) any later version. This library 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 Library General Public License for more details. You should have received a copy of the GNU Library General Public License along with this library; see the file COPYING.LIB. If not, write to the Free Software Foundation, Inc., 51 Franklin Street, Fifth Floor, Boston, MA 02110-1301, USA. */ #include "dkimauthenticationstatusinfo.h" #include "messageviewer_dkimcheckerdebug.h" using namespace MessageViewer; DKIMAuthenticationStatusInfo::DKIMAuthenticationStatusInfo() { } bool DKIMAuthenticationStatusInfo::parseAuthenticationStatus(const QString &key) { - if (key.isEmpty()) { - qCWarning(MESSAGEVIEWER_DKIMCHECKER_LOG) << " Key is empty"; - return false; - } + // 1) extract AuthservId and AuthVersion - // 1) get AuthservId and AuthVersion - // 2) ... + + // 2) extract methodspec + + // 3) extract reasonspec (optional) + + // 4) extract propspec (optional) //TODO return true; } QString DKIMAuthenticationStatusInfo::authVersion() const { return mAuthVersion; } void DKIMAuthenticationStatusInfo::setAuthVersion(const QString &authVersion) { mAuthVersion = authVersion; } +QString DKIMAuthenticationStatusInfo::reasonSpec() const +{ + return mReasonSpec; +} + +void DKIMAuthenticationStatusInfo::setReasonSpec(const QString &reasonSpec) +{ + mReasonSpec = reasonSpec; +} + QString DKIMAuthenticationStatusInfo::authservId() const { return mAuthservId; } void DKIMAuthenticationStatusInfo::setAuthservId(const QString &authservId) { mAuthservId = authservId; } diff --git a/messageviewer/src/dkim-verify/dkimauthenticationstatusinfo.h b/messageviewer/src/dkim-verify/dkimauthenticationstatusinfo.h index cafc80a2..57a34f2d 100644 --- a/messageviewer/src/dkim-verify/dkimauthenticationstatusinfo.h +++ b/messageviewer/src/dkim-verify/dkimauthenticationstatusinfo.h @@ -1,46 +1,50 @@ /* Copyright (C) 2018-2019 Laurent Montel This library is free software; you can redistribute it and/or modify it under the terms of the GNU Library General Public License as published by the Free Software Foundation; either version 2 of the License, or (at your option) any later version. This library 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 Library General Public License for more details. You should have received a copy of the GNU Library General Public License along with this library; see the file COPYING.LIB. If not, write to the Free Software Foundation, Inc., 51 Franklin Street, Fifth Floor, Boston, MA 02110-1301, USA. */ #ifndef DKIMAUTHENTICATIONSTATUSINFO_H #define DKIMAUTHENTICATIONSTATUSINFO_H #include "messageviewer_private_export.h" #include namespace MessageViewer { class MESSAGEVIEWER_TESTS_EXPORT DKIMAuthenticationStatusInfo { public: DKIMAuthenticationStatusInfo(); Q_REQUIRED_RESULT QString authservId() const; void setAuthservId(const QString &authservId); Q_REQUIRED_RESULT bool parseAuthenticationStatus(const QString &key); Q_REQUIRED_RESULT QString authVersion() const; void setAuthVersion(const QString &authVersion); + Q_REQUIRED_RESULT QString reasonSpec() const; + void setReasonSpec(const QString &reasonSpec); + private: QString mAuthservId; QString mAuthVersion; + QString mReasonSpec; }; } #endif // DKIMAUTHENTICATIONSTATUSINFO_H