diff options
Diffstat (limited to 'autotests')
-rw-r--r-- | autotests/testkeyverification.cpp | 83 | ||||
-rw-r--r-- | autotests/testkeyverification.h | 18 |
2 files changed, 46 insertions, 55 deletions
diff --git a/autotests/testkeyverification.cpp b/autotests/testkeyverification.cpp index fbbb7614..59a1c934 100644 --- a/autotests/testkeyverification.cpp +++ b/autotests/testkeyverification.cpp @@ -2,49 +2,58 @@ // // SPDX-License-Identifier: LGPL-2.1-or-later -#include "testkeyverification.h" -#include "qt_connection_util.h" -void TestKeyVerificationSession::testVerification() +#include <QTest> +#include "testutils.h" +#include <qt_connection_util.h> + +class TestKeyVerificationSession : public QObject { - CREATE_CONNECTION(a, "alice1", "secret", "AliceDesktop") - CREATE_CONNECTION(b, "alice1", "secret", "AlicePhone") + Q_OBJECT + +private Q_SLOTS: + void testVerification() + { + CREATE_CONNECTION(a, "alice1", "secret", "AliceDesktop") + CREATE_CONNECTION(b, "alice1", "secret", "AlicePhone") - KeyVerificationSession *aSession = nullptr; - connect(a.get(), &Connection::newKeyVerificationSession, this, [&](KeyVerificationSession* session) { - aSession = session; - QVERIFY(session->remoteDeviceId() == b->deviceId()); - QVERIFY(session->state() == KeyVerificationSession::WAITINGFORREADY); - connectSingleShot(session, &KeyVerificationSession::stateChanged, this, [=](){ - QVERIFY(session->state() == KeyVerificationSession::ACCEPTED); + KeyVerificationSession *aSession = nullptr; + connect(a.get(), &Connection::newKeyVerificationSession, this, [&](KeyVerificationSession* session) { + aSession = session; + QVERIFY(session->remoteDeviceId() == b->deviceId()); + QVERIFY(session->state() == KeyVerificationSession::WAITINGFORREADY); connectSingleShot(session, &KeyVerificationSession::stateChanged, this, [=](){ - QVERIFY(session->state() == KeyVerificationSession::WAITINGFORVERIFICATION); - session->sendMac(); + QVERIFY(session->state() == KeyVerificationSession::ACCEPTED); + connectSingleShot(session, &KeyVerificationSession::stateChanged, this, [=](){ + QVERIFY(session->state() == KeyVerificationSession::WAITINGFORVERIFICATION); + session->sendMac(); + }); }); }); - }); - a->startKeyVerificationSession(b->deviceId()); - connect(b.get(), &Connection::newKeyVerificationSession, this, [=](KeyVerificationSession* session) { - QVERIFY(session->remoteDeviceId() == a->deviceId()); - QVERIFY(session->state() == KeyVerificationSession::INCOMING); - session->sendReady(); - // KeyVerificationSession::READY is skipped because we have only one method - QVERIFY(session->state() == KeyVerificationSession::WAITINGFORACCEPT); - connectSingleShot(session, &KeyVerificationSession::stateChanged, this, [=](){ - QVERIFY(session->state() == KeyVerificationSession::WAITINGFORKEY || session->state() == KeyVerificationSession::ACCEPTED); - connectSingleShot(session, &KeyVerificationSession::stateChanged, this, [=]() { - QVERIFY(session->state() == KeyVerificationSession::WAITINGFORVERIFICATION); - QVERIFY(aSession); - QVERIFY(aSession->sasEmojis() == session->sasEmojis()); - session->sendMac(); - QVERIFY(session->state() == KeyVerificationSession::WAITINGFORMAC); + a->startKeyVerificationSession(b->deviceId()); + connect(b.get(), &Connection::newKeyVerificationSession, this, [=](KeyVerificationSession* session) { + QVERIFY(session->remoteDeviceId() == a->deviceId()); + QVERIFY(session->state() == KeyVerificationSession::INCOMING); + session->sendReady(); + // KeyVerificationSession::READY is skipped because we have only one method + QVERIFY(session->state() == KeyVerificationSession::WAITINGFORACCEPT); + connectSingleShot(session, &KeyVerificationSession::stateChanged, this, [=](){ + QVERIFY(session->state() == KeyVerificationSession::WAITINGFORKEY || session->state() == KeyVerificationSession::ACCEPTED); + connectSingleShot(session, &KeyVerificationSession::stateChanged, this, [=]() { + QVERIFY(session->state() == KeyVerificationSession::WAITINGFORVERIFICATION); + QVERIFY(aSession); + QVERIFY(aSession->sasEmojis() == session->sasEmojis()); + session->sendMac(); + QVERIFY(session->state() == KeyVerificationSession::WAITINGFORMAC); + }); }); - }); - }); - b->syncLoop(); - a->syncLoop(); - QSignalSpy spy(b.get(), &Connection::incomingKeyVerificationDone); - spy.wait(10000); -} + }); + b->syncLoop(); + a->syncLoop(); + QSignalSpy spy(b.get(), &Connection::incomingKeyVerificationDone); + spy.wait(10000); + } +}; QTEST_GUILESS_MAIN(TestKeyVerificationSession) +#include "testkeyverification.moc" diff --git a/autotests/testkeyverification.h b/autotests/testkeyverification.h deleted file mode 100644 index 28e00e11..00000000 --- a/autotests/testkeyverification.h +++ /dev/null @@ -1,18 +0,0 @@ -// SPDX-FileCopyrightText: 2022 Tobias Fella <fella@posteo.de> -// -// SPDX-License-Identifier: LGPL-2.1-or-later - -#pragma once - -#include <QTest> -#include "testutils.h" - -class TestKeyVerificationSession : public QObject -{ - Q_OBJECT - -private Q_SLOTS: - void testVerification(); - -}; - |