refs #875, unit test for proxies

tests init and signal connects
This commit is contained in:
Klaus Basan
2017-02-06 18:43:04 +01:00
committed by Mathew Sutcliffe
parent 94e5bbcc93
commit 5b08363179
10 changed files with 130 additions and 0 deletions

View File

@@ -9,12 +9,14 @@
#include "blackcore/context/contextaudioproxy.h"
#include "blackmisc/dbus.h"
#include "blackmisc/dbusserver.h"
#include "blackmisc/genericdbusinterface.h"
#include <QDBusConnection>
#include <QLatin1Literal>
#include <QtGlobal>
using namespace BlackMisc;
using namespace BlackMisc::Audio;
using namespace BlackMisc::Network;
using namespace BlackMisc::Aviation;
@@ -30,6 +32,14 @@ namespace BlackCore
this->relaySignals(serviceName, connection);
}
void CContextAudioProxy::unitTestRelaySignals()
{
// connect signals, asserts when failures
QDBusConnection con = QDBusConnection::sessionBus();
CContextAudioProxy c(CDBusServer::coreServiceName(), con, CCoreFacadeConfig::Remote, nullptr);
Q_UNUSED(c);
}
void CContextAudioProxy::relaySignals(const QString &serviceName, QDBusConnection &connection)
{
bool s = connection.connect(serviceName, IContextAudio::ObjectPath(), IContextAudio::InterfaceName(),

View File

@@ -54,6 +54,9 @@ namespace BlackCore
//! Destructor
virtual ~CContextAudioProxy() {}
//! Unit test relay signals
//! \private
static void unitTestRelaySignals();
public slots:
// interface overrides

View File

@@ -10,12 +10,14 @@
#include "blackcore/context/contextnetworkproxy.h"
#include "blackmisc/audio/voiceroomlist.h"
#include "blackmisc/dbus.h"
#include "blackmisc/dbusserver.h"
#include "blackmisc/genericdbusinterface.h"
#include <QDBusConnection>
#include <QLatin1Literal>
#include <QObject>
#include <QtGlobal>
#include <QMetaObject>
using namespace BlackMisc;
using namespace BlackMisc::Network;
@@ -36,6 +38,14 @@ namespace BlackCore
this->relaySignals(serviceName, connection);
}
void CContextNetworkProxy::unitTestRelaySignals()
{
// connect signals, asserts when failures
QDBusConnection con = QDBusConnection::sessionBus();
CContextNetworkProxy c(CDBusServer::coreServiceName(), con, CCoreFacadeConfig::Remote, nullptr);
Q_UNUSED(c);
}
void CContextNetworkProxy::relaySignals(const QString &serviceName, QDBusConnection &connection)
{
bool s = connection.connect(serviceName, IContextNetwork::ObjectPath(), IContextNetwork::InterfaceName(),

View File

@@ -68,6 +68,10 @@ namespace BlackCore
//! Destructor
virtual ~CContextNetworkProxy() {}
//! Unit test relay signals
//! \private
static void unitTestRelaySignals();
public slots:
//! \name Interface overrides
//! @{

View File

@@ -9,6 +9,7 @@
#include "blackcore/context/contextownaircraftproxy.h"
#include "blackmisc/dbus.h"
#include "blackmisc/dbusserver.h"
#include "blackmisc/genericdbusinterface.h"
#include <QDBusConnection>
@@ -41,6 +42,14 @@ namespace BlackCore
this->relayBaseClassSignals(serviceName, connection, IContextOwnAircraft::ObjectPath(), IContextOwnAircraft::InterfaceName());
}
void CContextOwnAircraftProxy::unitTestRelaySignals()
{
// connect signals, asserts when failures
QDBusConnection con = QDBusConnection::sessionBus();
CContextOwnAircraftProxy c(CDBusServer::coreServiceName(), con, CCoreFacadeConfig::Remote, nullptr);
Q_UNUSED(c);
}
BlackMisc::Simulation::CSimulatedAircraft CContextOwnAircraftProxy::getOwnAircraft() const
{
return this->m_dBusInterface->callDBusRet<BlackMisc::Simulation::CSimulatedAircraft>(QLatin1Literal("getOwnAircraft"));

View File

@@ -56,6 +56,10 @@ namespace BlackCore
//! Destructor
virtual ~CContextOwnAircraftProxy() {}
//! Unit test relay signals
//! \private
static void unitTestRelaySignals();
public slots:
//! \publicsection
//! @{

View File

@@ -9,6 +9,7 @@
#include "blackcore/context/contextsimulatorproxy.h"
#include "blackmisc/dbus.h"
#include "blackmisc/dbusserver.h"
#include "blackmisc/genericdbusinterface.h"
#include "blackmisc/simulation/simulatedaircraft.h"
@@ -36,6 +37,14 @@ namespace BlackCore
this->relaySignals(serviceName, connection);
}
void CContextSimulatorProxy::unitTestRelaySignals()
{
// connect signals, asserts when failures
QDBusConnection con = QDBusConnection::sessionBus();
CContextSimulatorProxy c(CDBusServer::coreServiceName(), con, CCoreFacadeConfig::Remote, nullptr);
Q_UNUSED(c);
}
void CContextSimulatorProxy::relaySignals(const QString &serviceName, QDBusConnection &connection)
{
bool s = connection.connect(serviceName, IContextSimulator::ObjectPath(), IContextSimulator::InterfaceName(),

View File

@@ -50,6 +50,10 @@ namespace BlackCore
//! Destructor
virtual ~CContextSimulatorProxy() {}
//! Unit test relay signals
//! \private
static void unitTestRelaySignals();
public slots:
//! \name Interface overrides
//! @{

View File

@@ -0,0 +1,35 @@
/* Copyright (C) 2017
* swift project Community / Contributors
*
* This file is part of swift project. It is subject to the license terms in the LICENSE file found in the top-level
* directory of this distribution and at http://www.swift-project.org/license.html. No part of swift project,
* including this file, may be copied, modified, propagated, or distributed except according to the terms
* contained in the LICENSE file.
*/
//! \cond PRIVATE_TESTS
/*!
* \file
* \ingroup testblackcore
*/
#include "testcontext.h"
#include "blackcore/context/contextallproxies.h"
using namespace BlackCore::Context;
namespace BlackCoreTest
{
void CTestContext::contextInitTest()
{
// will cause asserts when signal connects fail
CContextAudioProxy::unitTestRelaySignals();
CContextNetworkProxy::unitTestRelaySignals();
CContextOwnAircraftProxy::unitTestRelaySignals();
CContextSimulatorProxy::unitTestRelaySignals();
}
}
//! \endcond

View File

@@ -0,0 +1,42 @@
/* Copyright (C) 2017
* swift project community / contributors
*
* This file is part of swift project. It is subject to the license terms in the LICENSE file found in the top-level
* directory of this distribution and at http://www.swift-project.org/license.html. No part of swift project,
* including this file, may be copied, modified, propagated, or distributed except according to the terms
* contained in the LICENSE file.
*/
#ifndef BLACKCORETEST_TESTCONTEXT_H
#define BLACKCORETEST_TESTCONTEXT_H
#include <QObject>
//! \cond PRIVATE_TESTS
//! \file
//! \ingroup testblackcore
namespace BlackCoreTest
{
/*!
* Context implementation classes tests
*/
class CTestContext : public QObject
{
Q_OBJECT
public:
//! Constructor.
explicit CTestContext(QObject *parent = nullptr) :
QObject(parent)
{}
private slots:
//! Init tests for context
void contextInitTest();
};
} //namespace
//! \endcond
#endif // guard