Apply clang-format

This commit is contained in:
Martchus 2017-05-04 22:48:45 +02:00
parent 732a5fdd8d
commit b1d9df73d1
3 changed files with 67 additions and 65 deletions

View File

@ -19,8 +19,7 @@ using namespace CPPUNIT_NS;
/*!
* \brief The ConnectionTests class tests the SyncthingConnector.
*/
class ConnectionTests : public TestFixture, private SyncthingTestInstance
{
class ConnectionTests : public TestFixture, private SyncthingTestInstance {
CPPUNIT_TEST_SUITE(ConnectionTests);
CPPUNIT_TEST(testConnection);
CPPUNIT_TEST_SUITE_END();
@ -34,14 +33,12 @@ public:
void tearDown();
private:
template<typename Signal, typename Action, typename Handler = function<void(void)> >
template <typename Signal, typename Action, typename Handler = function<void(void)>>
void waitForConnection(Signal signal, Action action, Handler handler = nullptr, bool *ok = nullptr, int timeout = 1000);
template<typename Signal, typename Action, typename Handler = function<void(void)> >
template <typename Signal, typename Action, typename Handler = function<void(void)>>
void waitForConnectionAnyAction(Signal signal, Action action, Handler handler = nullptr, bool *ok = nullptr, int timeout = 1000);
template<typename Handler>
QMetaObject::Connection handleNewDevices(Handler handler, bool *ok);
template<typename Handler>
QMetaObject::Connection handleNewDirs(Handler handler, bool *ok);
template <typename Handler> QMetaObject::Connection handleNewDevices(Handler handler, bool *ok);
template <typename Handler> QMetaObject::Connection handleNewDirs(Handler handler, bool *ok);
SyncthingConnection m_connection;
};
@ -49,7 +46,8 @@ private:
CPPUNIT_TEST_SUITE_REGISTRATION(ConnectionTests);
ConnectionTests::ConnectionTests()
{}
{
}
//
// test setup
@ -66,9 +64,8 @@ void ConnectionTests::setUp()
m_connection.setSyncthingUrl(QStringLiteral("http://localhost:") + syncthingPort());
// keep track of status changes
QObject::connect(&m_connection, &SyncthingConnection::statusChanged, [this] {
cerr << " - Connection status changed to: " << m_connection.statusText().toLocal8Bit().data() << endl;
});
QObject::connect(&m_connection, &SyncthingConnection::statusChanged,
[this] { cerr << " - Connection status changed to: " << m_connection.statusText().toLocal8Bit().data() << endl; });
}
/*!
@ -86,7 +83,7 @@ void ConnectionTests::tearDown()
/*!
* \brief Variant of waitForSignal() where sender is the connection and the action is a method of the connection.
*/
template<typename Signal, typename Action, typename Handler>
template <typename Signal, typename Action, typename Handler>
void ConnectionTests::waitForConnection(Signal signal, Action action, Handler handler, bool *ok, int timeout)
{
waitForSignal(&m_connection, signal, bind(action, &m_connection), timeout, handler, ok);
@ -95,7 +92,7 @@ void ConnectionTests::waitForConnection(Signal signal, Action action, Handler ha
/*!
* \brief Variant of waitForSignal() where sender is the connection.
*/
template<typename Signal, typename Action, typename Handler>
template <typename Signal, typename Action, typename Handler>
void ConnectionTests::waitForConnectionAnyAction(Signal signal, Action action, Handler handler, bool *ok, int timeout)
{
waitForSignal(&m_connection, signal, action, timeout, handler, ok);
@ -104,11 +101,10 @@ void ConnectionTests::waitForConnectionAnyAction(Signal signal, Action action, H
/*!
* \brief Helps handling newDevices() signal when waiting for device change.
*/
template<typename Handler>
QMetaObject::Connection ConnectionTests::handleNewDevices(Handler handler, bool *ok)
template <typename Handler> QMetaObject::Connection ConnectionTests::handleNewDevices(Handler handler, bool *ok)
{
return QObject::connect(&m_connection, &SyncthingConnection::newDevices, [ok, &handler] (const std::vector<SyncthingDev> &devs) {
for(const SyncthingDev &dev : devs) {
return QObject::connect(&m_connection, &SyncthingConnection::newDevices, [ok, &handler](const std::vector<SyncthingDev> &devs) {
for (const SyncthingDev &dev : devs) {
handler(dev, 0);
}
});
@ -117,11 +113,10 @@ QMetaObject::Connection ConnectionTests::handleNewDevices(Handler handler, bool
/*!
* \brief Helps handling newDirs() signal when waiting for directory change.
*/
template<typename Handler>
QMetaObject::Connection ConnectionTests::handleNewDirs(Handler handler, bool *ok)
template <typename Handler> QMetaObject::Connection ConnectionTests::handleNewDirs(Handler handler, bool *ok)
{
return QObject::connect(&m_connection, &SyncthingConnection::newDirs, [ok, &handler] (const std::vector<SyncthingDir> &dirs) {
for(const SyncthingDir &dir : dirs) {
return QObject::connect(&m_connection, &SyncthingConnection::newDirs, [ok, &handler](const std::vector<SyncthingDir> &dirs) {
for (const SyncthingDir &dir : dirs) {
handler(dir, 0);
}
});
@ -141,44 +136,50 @@ void ConnectionTests::testConnection()
// error in case of inavailability and wrong API key
m_connection.setApiKey(QByteArray("wrong API key"));
bool syncthingAvailable = false;
const function<void(const QString &errorMessage)> errorHandler = [this, &syncthingAvailable] (const QString &errorMessage) {
if(errorMessage == QStringLiteral("Unable to request Syncthing config: Connection refused")
|| errorMessage == QStringLiteral("Unable to request Syncthing status: Connection refused")) {
return; // Syncthing not ready yet
}
syncthingAvailable = true;
if(errorMessage != QStringLiteral("Unable to request Syncthing config: Error transferring ") % m_connection.syncthingUrl() % QStringLiteral("/rest/system/config - server replied: Forbidden")
&& errorMessage != QStringLiteral("Unable to request Syncthing status: Error transferring ") % m_connection.syncthingUrl() % QStringLiteral("/rest/system/status - server replied: Forbidden")) {
CPPUNIT_FAIL(argsToString("wrong error message in case of wrong API key: ", errorMessage.toLocal8Bit().data()));
}
};
while(!syncthingAvailable) {
waitForConnection(&SyncthingConnection::error, static_cast<void(SyncthingConnection::*)(void)>(&SyncthingConnection::connect), errorHandler);
const function<void(const QString &errorMessage)> errorHandler = [this, &syncthingAvailable](const QString &errorMessage) {
if (errorMessage == QStringLiteral("Unable to request Syncthing config: Connection refused")
|| errorMessage == QStringLiteral("Unable to request Syncthing status: Connection refused")) {
return; // Syncthing not ready yet
}
syncthingAvailable = true;
if (errorMessage
!= QStringLiteral("Unable to request Syncthing config: Error transferring ") % m_connection.syncthingUrl()
% QStringLiteral("/rest/system/config - server replied: Forbidden")
&& errorMessage
!= QStringLiteral("Unable to request Syncthing status: Error transferring ") % m_connection.syncthingUrl()
% QStringLiteral("/rest/system/status - server replied: Forbidden")) {
CPPUNIT_FAIL(argsToString("wrong error message in case of wrong API key: ", errorMessage.toLocal8Bit().data()));
}
};
while (!syncthingAvailable) {
waitForConnection(&SyncthingConnection::error, static_cast<void (SyncthingConnection::*)(void)>(&SyncthingConnection::connect), errorHandler);
}
// initial connection
m_connection.setApiKey(apiKey().toUtf8());
waitForConnection(&SyncthingConnection::statusChanged, static_cast<void(SyncthingConnection::*)(void)>(&SyncthingConnection::connect));
CPPUNIT_ASSERT_EQUAL_MESSAGE("connected and paused (one dev is initially paused)", QStringLiteral("connected, paused"), m_connection.statusText());
waitForConnection(&SyncthingConnection::statusChanged, static_cast<void (SyncthingConnection::*)(void)>(&SyncthingConnection::connect));
CPPUNIT_ASSERT_EQUAL_MESSAGE(
"connected and paused (one dev is initially paused)", QStringLiteral("connected, paused"), m_connection.statusText());
// devs present
const auto &devInfo = m_connection.devInfo();
CPPUNIT_ASSERT_EQUAL_MESSAGE("3 devs present", 3ul, devInfo.size());
QString ownDevId;
for(const SyncthingDev &dev : devInfo) {
if(dev.id != QStringLiteral("MMGUI6U-WUEZQCP-XZZ6VYB-LCT4TVC-ER2HAVX-QYT6X7D-S6ZSG2B-323KLQ7") && dev.id != QStringLiteral("6EIS2PN-J2IHWGS-AXS3YUL-HC5FT3K-77ZXTLL-AKQLJ4C-7SWVPUS-AZW4RQ4")) {
for (const SyncthingDev &dev : devInfo) {
if (dev.id != QStringLiteral("MMGUI6U-WUEZQCP-XZZ6VYB-LCT4TVC-ER2HAVX-QYT6X7D-S6ZSG2B-323KLQ7")
&& dev.id != QStringLiteral("6EIS2PN-J2IHWGS-AXS3YUL-HC5FT3K-77ZXTLL-AKQLJ4C-7SWVPUS-AZW4RQ4")) {
CPPUNIT_ASSERT_EQUAL_MESSAGE("own device", QStringLiteral("own device"), dev.statusString());
ownDevId = dev.id;
}
}
for(const SyncthingDev &dev : devInfo) {
if(dev.id == QStringLiteral("MMGUI6U-WUEZQCP-XZZ6VYB-LCT4TVC-ER2HAVX-QYT6X7D-S6ZSG2B-323KLQ7")) {
for (const SyncthingDev &dev : devInfo) {
if (dev.id == QStringLiteral("MMGUI6U-WUEZQCP-XZZ6VYB-LCT4TVC-ER2HAVX-QYT6X7D-S6ZSG2B-323KLQ7")) {
CPPUNIT_ASSERT_EQUAL_MESSAGE("paused device", QStringLiteral("paused"), dev.statusString());
CPPUNIT_ASSERT_EQUAL_MESSAGE("name", QStringLiteral("Test dev 2"), dev.name);
CPPUNIT_ASSERT_MESSAGE("no introducer", !dev.introducer);
CPPUNIT_ASSERT_EQUAL(1, dev.addresses.size());
CPPUNIT_ASSERT_EQUAL(QStringLiteral("tcp://192.168.2.2:22000"), dev.addresses.front());
} else if(dev.id == QStringLiteral("6EIS2PN-J2IHWGS-AXS3YUL-HC5FT3K-77ZXTLL-AKQLJ4C-7SWVPUS-AZW4RQ4")) {
} else if (dev.id == QStringLiteral("6EIS2PN-J2IHWGS-AXS3YUL-HC5FT3K-77ZXTLL-AKQLJ4C-7SWVPUS-AZW4RQ4")) {
CPPUNIT_ASSERT_EQUAL_MESSAGE("disconnected device", QStringLiteral("disconnected"), dev.statusString());
CPPUNIT_ASSERT_EQUAL_MESSAGE("name", QStringLiteral("Test dev 1"), dev.name);
CPPUNIT_ASSERT_MESSAGE("introducer", dev.introducer);
@ -197,9 +198,8 @@ void ConnectionTests::testConnection()
CPPUNIT_ASSERT_EQUAL(QStringLiteral("/tmp/some/path/1/"), dir1.path);
CPPUNIT_ASSERT(!dir1.readOnly);
CPPUNIT_ASSERT(!dir1.paused);
CPPUNIT_ASSERT_EQUAL(dir1.devices.toSet(), QSet<QString>({QStringLiteral("MMGUI6U-WUEZQCP-XZZ6VYB-LCT4TVC-ER2HAVX-QYT6X7D-S6ZSG2B-323KLQ7"),
QStringLiteral("6EIS2PN-J2IHWGS-AXS3YUL-HC5FT3K-77ZXTLL-AKQLJ4C-7SWVPUS-AZW4RQ4"),
ownDevId}));
CPPUNIT_ASSERT_EQUAL(dir1.devices.toSet(), QSet<QString>({ QStringLiteral("MMGUI6U-WUEZQCP-XZZ6VYB-LCT4TVC-ER2HAVX-QYT6X7D-S6ZSG2B-323KLQ7"),
QStringLiteral("6EIS2PN-J2IHWGS-AXS3YUL-HC5FT3K-77ZXTLL-AKQLJ4C-7SWVPUS-AZW4RQ4"), ownDevId }));
const SyncthingDir &dir2 = dirInfo.back();
CPPUNIT_ASSERT_EQUAL(QStringLiteral("test2"), dir2.id);
CPPUNIT_ASSERT_EQUAL(QStringLiteral("Test dir 2"), dir2.label);
@ -207,14 +207,14 @@ void ConnectionTests::testConnection()
CPPUNIT_ASSERT_EQUAL(QStringLiteral("/tmp/some/path/2/"), dir2.path);
CPPUNIT_ASSERT(!dir2.readOnly);
CPPUNIT_ASSERT(dir2.paused);
CPPUNIT_ASSERT_EQUAL(dir2.devices.toSet(), QSet<QString>({QStringLiteral("MMGUI6U-WUEZQCP-XZZ6VYB-LCT4TVC-ER2HAVX-QYT6X7D-S6ZSG2B-323KLQ7"),
ownDevId}));
CPPUNIT_ASSERT_EQUAL(
dir2.devices.toSet(), QSet<QString>({ QStringLiteral("MMGUI6U-WUEZQCP-XZZ6VYB-LCT4TVC-ER2HAVX-QYT6X7D-S6ZSG2B-323KLQ7"), ownDevId }));
// reconnecting
cerr << "\n - Reconnecting ..." << endl;
waitForConnection(&SyncthingConnection::statusChanged, static_cast<void(SyncthingConnection::*)(void)>(&SyncthingConnection::reconnect));
waitForConnection(&SyncthingConnection::statusChanged, static_cast<void (SyncthingConnection::*)(void)>(&SyncthingConnection::reconnect));
CPPUNIT_ASSERT_EQUAL_MESSAGE("reconnecting", QStringLiteral("reconnecting"), m_connection.statusText());
waitForConnectionAnyAction(&SyncthingConnection::statusChanged, noop);
if(m_connection.isConnected() && m_connection.status() != SyncthingStatus::Paused) {
if (m_connection.isConnected() && m_connection.status() != SyncthingStatus::Paused) {
// FIXME: Maybe it takes one further update to recon paused dev?
waitForConnectionAnyAction(&SyncthingConnection::statusChanged, noop);
}
@ -223,8 +223,8 @@ void ConnectionTests::testConnection()
cerr << "\n - Pausing/resuming devs/dirs ..." << endl;
// resume all devs
bool devResumed = false;
const function<void(const SyncthingDev &, int)> devResumedHandler = [&devResumed] (const SyncthingDev &dev, int) {
if(dev.name == QStringLiteral("Test dev 2") && !dev.paused) {
const function<void(const SyncthingDev &, int)> devResumedHandler = [&devResumed](const SyncthingDev &dev, int) {
if (dev.name == QStringLiteral("Test dev 2") && !dev.paused) {
devResumed = true;
}
};
@ -235,8 +235,8 @@ void ConnectionTests::testConnection()
// resume all dirs
bool dirResumed = false;
const function<void(const SyncthingDir &, int)> dirResumedHandler = [&dirResumed] (const SyncthingDir &dir, int) {
if(dir.id == QStringLiteral("test2") && !dir.paused) {
const function<void(const SyncthingDir &, int)> dirResumedHandler = [&dirResumed](const SyncthingDir &dir, int) {
if (dir.id == QStringLiteral("test2") && !dir.paused) {
dirResumed = true;
}
};
@ -247,18 +247,19 @@ void ConnectionTests::testConnection()
// pause dir 1
bool dirPaused = false;
const function<void(const SyncthingDir &, int)> dirPausedHandler = [&dirPaused] (const SyncthingDir &dir, int) {
if(dir.id == QStringLiteral("test1") && dir.paused) {
const function<void(const SyncthingDir &, int)> dirPausedHandler = [&dirPaused](const SyncthingDir &dir, int) {
if (dir.id == QStringLiteral("test1") && dir.paused) {
dirPaused = true;
}
};
const auto newDirsConnection2 = handleNewDirs(dirPausedHandler, &dirPaused);
waitForConnectionAnyAction(&SyncthingConnection::dirStatusChanged, bind(&SyncthingConnection::pauseDirectories, &m_connection, QStringList({QStringLiteral("test1")})), dirPausedHandler, &dirPaused);
waitForConnectionAnyAction(&SyncthingConnection::dirStatusChanged,
bind(&SyncthingConnection::pauseDirectories, &m_connection, QStringList({ QStringLiteral("test1") })), dirPausedHandler, &dirPaused);
QObject::disconnect(newDirsConnection2);
CPPUNIT_ASSERT_EQUAL_MESSAGE("still 2 dirs present", 2ul, m_connection.dirInfo().size());
// disconnecting
cerr << "\n - Disconnecting ..." << endl;
waitForConnection(&SyncthingConnection::statusChanged, static_cast<void(SyncthingConnection::*)(void)>(&SyncthingConnection::disconnect));
waitForConnection(&SyncthingConnection::statusChanged, static_cast<void (SyncthingConnection::*)(void)>(&SyncthingConnection::disconnect));
CPPUNIT_ASSERT_EQUAL_MESSAGE("disconnected", QStringLiteral("disconnected"), m_connection.statusText());
}

View File

@ -3,9 +3,9 @@
#include "../testhelper/helper.h"
#include <c++utilities/tests/testutils.h>
#include <c++utilities/chrono/datetime.h>
#include <c++utilities/chrono/timespan.h>
#include <c++utilities/tests/testutils.h>
#include <cppunit/TestFixture.h>
@ -21,8 +21,7 @@ using namespace CPPUNIT_NS;
/*!
* \brief The MiscTests class tests various features of the connector library.
*/
class MiscTests : public TestFixture
{
class MiscTests : public TestFixture {
CPPUNIT_TEST_SUITE(MiscTests);
CPPUNIT_TEST(testParsingConfig);
CPPUNIT_TEST(testUtils);
@ -43,17 +42,20 @@ private:
CPPUNIT_TEST_SUITE_REGISTRATION(MiscTests);
MiscTests::MiscTests()
{}
{
}
//
// test setup
//
void MiscTests::setUp()
{}
{
}
void MiscTests::tearDown()
{}
{
}
//
// actual test
@ -83,4 +85,3 @@ void MiscTests::testUtils()
CPPUNIT_ASSERT(isLocal(QUrl(QStringLiteral("http://localhost/"))));
CPPUNIT_ASSERT(!isLocal(QUrl(QStringLiteral("http://157.3.52.34"))));
}

View File

@ -70,7 +70,7 @@ inline void noop()
* connections can not be established.
* \remarks The handler is disconnected before the function returns.
*/
template <typename Signal, typename Action, typename Handler = std::function<void(void)> >
template <typename Signal, typename Action, typename Handler = std::function<void(void)>>
void waitForSignal(typename QtPrivate::FunctionPointer<Signal>::Object *sender, Signal signal, Action action, int timeout = 2500,
Handler handler = nullptr, bool *ok = nullptr)
{