diff options
author | Alexey Rusakov <Kitsune-Ral@users.sf.net> | 2022-09-12 22:02:18 +0200 |
---|---|---|
committer | GitHub <noreply@github.com> | 2022-09-12 22:02:18 +0200 |
commit | 95d3f0607556e66666b3974486b061fc4372ede0 (patch) | |
tree | cb9d8f9c8465b11f0f4c71ea9d54eb6216be360f /autotests/testutils.h | |
parent | 0d0a91b4438d68c833f480f45017847829bf6088 (diff) | |
parent | 79f995da07ca240c768281bf1d040eb94c07583e (diff) | |
download | libquotient-95d3f0607556e66666b3974486b061fc4372ede0.tar.gz libquotient-95d3f0607556e66666b3974486b061fc4372ede0.zip |
Merge #568: Add autotest for key verification and fix several edge-cases
Diffstat (limited to 'autotests/testutils.h')
-rw-r--r-- | autotests/testutils.h | 32 |
1 files changed, 32 insertions, 0 deletions
diff --git a/autotests/testutils.h b/autotests/testutils.h new file mode 100644 index 00000000..7d016a34 --- /dev/null +++ b/autotests/testutils.h @@ -0,0 +1,32 @@ +// SPDX-FileCopyrightText: 2021 Carl Schwan <carlschwan@kde.org> +// +// SPDX-License-Identifier: LGPL-2.1-or-later + +#pragma once + +#include <connection.h> +#include <networkaccessmanager.h> + +#include <QtTest/QSignalSpy> + +using namespace Quotient; + +#define CREATE_CONNECTION(VAR, USERNAME, SECRET, DEVICE_NAME) \ + NetworkAccessManager::instance()->ignoreSslErrors(true); \ + auto VAR = std::make_shared<Connection>(); \ + (VAR)->resolveServer("@" USERNAME ":localhost:1234"); \ + connect((VAR).get(), &Connection::loginFlowsChanged, this, [=] { \ + (VAR)->loginWithPassword((USERNAME), SECRET, DEVICE_NAME, ""); \ + }); \ + connect((VAR).get(), &Connection::networkError, [](const QString& error) { \ + QWARN(qUtf8Printable(error)); \ + QFAIL("Network error: make sure synapse is running"); \ + }); \ + connect((VAR).get(), &Connection::loginError, [](const QString& error) { \ + QWARN(qUtf8Printable(error)); \ + QFAIL("Login failed"); \ + }); \ + QSignalSpy spy##VAR((VAR).get(), &Connection::loginFlowsChanged); \ + QSignalSpy spy2##VAR((VAR).get(), &Connection::connected); \ + QVERIFY(spy##VAR.wait(10000)); \ + QVERIFY(spy2##VAR.wait(10000)); |