summaryrefslogtreecommitdiff
path: root/AudioManagerDaemon/test
diff options
context:
space:
mode:
authorchristian mueller <christian.ei.mueller@bmw.de>2012-02-29 13:27:27 +0100
committerchristian mueller <christian.ei.mueller@bmw.de>2012-02-29 13:27:27 +0100
commitd3ccf97331935b181041394b80be20dca282ea71 (patch)
treef85e7b649c8a6d58c11e9728b2442cdcff53826d /AudioManagerDaemon/test
parentaa93713377d28a8ce7821466ef828f79a18e982d (diff)
downloadaudiomanager-d3ccf97331935b181041394b80be20dca282ea71.tar.gz
* [ performance] for classes that do not need to be derived from, removed virtual desctructor
* implemented confirmation of routing ready in RoutingReceiver * [Sockethandler] automatically set gDispatchDone to 0 when starting mainloop * fixed unit text to work with latest changes (expect Dbus command interface) * [GAM-4] added way to do synchronous calling on interfaces with the help of CAmSerializer.h * reworked AsyncRoutingPlugin to work with CAmSerializer.h * reworked AsyncRoutingPlugin to register elemtes in thread using CAmSerializer.h * reworked AsncPlugin Tests to work with remodelled Plugin
Diffstat (limited to 'AudioManagerDaemon/test')
-rw-r--r--AudioManagerDaemon/test/controlInterface/CMakeLists.txt2
-rw-r--r--AudioManagerDaemon/test/controlInterface/MockInterfaces.h250
-rw-r--r--AudioManagerDaemon/test/controlInterface/controlInterfaceTest.cpp23
-rw-r--r--AudioManagerDaemon/test/controlInterface/controlInterfaceTest.h27
-rw-r--r--AudioManagerDaemon/test/database/CMakeLists.txt3
-rw-r--r--AudioManagerDaemon/test/database/MockInterfaces.h254
-rw-r--r--AudioManagerDaemon/test/database/databaseTest.cpp167
-rw-r--r--AudioManagerDaemon/test/database/databaseTest.h7
-rw-r--r--AudioManagerDaemon/test/routing/CMakeLists.txt3
-rw-r--r--AudioManagerDaemon/test/routing/MockInterfaces.h262
-rw-r--r--AudioManagerDaemon/test/routing/routingTest.cpp41
-rw-r--r--AudioManagerDaemon/test/routing/routingTest.h2
-rw-r--r--AudioManagerDaemon/test/routingInterface/CMakeLists.txt3
-rw-r--r--AudioManagerDaemon/test/routingInterface/MockRoutingInterface.h17
-rw-r--r--AudioManagerDaemon/test/routingInterface/routingInterfaceTest.cpp5
-rw-r--r--AudioManagerDaemon/test/routingInterface/routingInterfaceTest.h2
-rw-r--r--AudioManagerDaemon/test/sockethandler/sockethandlerTest.h4
-rw-r--r--AudioManagerDaemon/test/telnetserver/CAmTelnetServerTest.cpp6
18 files changed, 551 insertions, 527 deletions
diff --git a/AudioManagerDaemon/test/controlInterface/CMakeLists.txt b/AudioManagerDaemon/test/controlInterface/CMakeLists.txt
index 5071326..bdf8ac5 100644
--- a/AudioManagerDaemon/test/controlInterface/CMakeLists.txt
+++ b/AudioManagerDaemon/test/controlInterface/CMakeLists.txt
@@ -54,6 +54,8 @@ file(GLOB CONTROL_INTERFACE_SRCS_CXX
"../../src/ControlSender.cpp"
"../../src/Router.cpp"
"../../src/DLTWrapper.cpp"
+ "../../src/SocketHandler.cpp"
+ "../../src/CommandReceiver.cpp"
"../CommonFunctions.cpp"
"*.cpp"
)
diff --git a/AudioManagerDaemon/test/controlInterface/MockInterfaces.h b/AudioManagerDaemon/test/controlInterface/MockInterfaces.h
index b49cae6..a341eee 100644
--- a/AudioManagerDaemon/test/controlInterface/MockInterfaces.h
+++ b/AudioManagerDaemon/test/controlInterface/MockInterfaces.h
@@ -34,132 +34,142 @@ namespace am {
class MockRoutingSendInterface : public RoutingSendInterface {
public:
- MOCK_METHOD1(startupRoutingInterface,
- void(RoutingReceiveInterface* routingreceiveinterface));
- MOCK_METHOD0(routingInterfacesReady,
- void());
- MOCK_METHOD0(routingInterfacesRundown,
- void());
- MOCK_METHOD1(asyncAbort,
- am_Error_e(const am_Handle_s handle));
- MOCK_METHOD5(asyncConnect,
- am_Error_e(const am_Handle_s handle, const am_connectionID_t connectionID, const am_sourceID_t sourceID, const am_sinkID_t sinkID, const am_ConnectionFormat_e connectionFormat));
- MOCK_METHOD2(asyncDisconnect,
- am_Error_e(const am_Handle_s handle, const am_connectionID_t connectionID));
- MOCK_METHOD5(asyncSetSinkVolume,
- am_Error_e(const am_Handle_s handle, const am_sinkID_t sinkID, const am_volume_t volume, const am_RampType_e ramp, const am_time_t time));
- MOCK_METHOD5(asyncSetSourceVolume,
- am_Error_e(const am_Handle_s handle, const am_sourceID_t sourceID, const am_volume_t volume, const am_RampType_e ramp, const am_time_t time));
- MOCK_METHOD3(asyncSetSourceState,
- am_Error_e(const am_Handle_s handle, const am_sourceID_t sourceID, const am_SourceState_e state));
- MOCK_METHOD3(asyncSetSinkSoundProperties,
- am_Error_e(const am_Handle_s handle, const am_sinkID_t sinkID, const std::vector<am_SoundProperty_s>& listSoundProperties));
- MOCK_METHOD3(asyncSetSinkSoundProperty,
- am_Error_e(const am_Handle_s handle, const am_sinkID_t sinkID, const am_SoundProperty_s& soundProperty));
- MOCK_METHOD3(asyncSetSourceSoundProperties,
- am_Error_e(const am_Handle_s handle, const am_sourceID_t sourceID, const std::vector<am_SoundProperty_s>& listSoundProperties));
- MOCK_METHOD3(asyncSetSourceSoundProperty,
- am_Error_e(const am_Handle_s handle, const am_sourceID_t sourceID, const am_SoundProperty_s& soundProperty));
- MOCK_METHOD5(asyncCrossFade,
- am_Error_e(const am_Handle_s handle, const am_crossfaderID_t crossfaderID, const am_HotSink_e hotSink, const am_RampType_e rampType, const am_time_t time));
- MOCK_METHOD2(setDomainState,
- am_Error_e(const am_domainID_t domainID, const am_DomainState_e domainState));
- MOCK_CONST_METHOD1(returnBusName,
- am_Error_e(std::string& BusName));
- MOCK_CONST_METHOD0(getInterfaceVersion,
- uint16_t());
+ MOCK_METHOD1(startupInterface,
+ am_Error_e(RoutingReceiveInterface* routingreceiveinterface));
+ MOCK_METHOD1(setRoutingReady,
+ void(const uint16_t handle));
+ MOCK_METHOD1(setRoutingRundown,
+ void(const uint16_t handle));
+ MOCK_METHOD1(asyncAbort,
+ am_Error_e(const am_Handle_s handle));
+ MOCK_METHOD5(asyncConnect,
+ am_Error_e(const am_Handle_s handle, const am_connectionID_t connectionID, const am_sourceID_t sourceID, const am_sinkID_t sinkID, const am_ConnectionFormat_e connectionFormat));
+ MOCK_METHOD2(asyncDisconnect,
+ am_Error_e(const am_Handle_s handle, const am_connectionID_t connectionID));
+ MOCK_METHOD5(asyncSetSinkVolume,
+ am_Error_e(const am_Handle_s handle, const am_sinkID_t sinkID, const am_volume_t volume, const am_RampType_e ramp, const am_time_t time));
+ MOCK_METHOD5(asyncSetSourceVolume,
+ am_Error_e(const am_Handle_s handle, const am_sourceID_t sourceID, const am_volume_t volume, const am_RampType_e ramp, const am_time_t time));
+ MOCK_METHOD3(asyncSetSourceState,
+ am_Error_e(const am_Handle_s handle, const am_sourceID_t sourceID, const am_SourceState_e state));
+ MOCK_METHOD3(asyncSetSinkSoundProperties,
+ am_Error_e(const am_Handle_s handle, const am_sinkID_t sinkID, const std::vector<am_SoundProperty_s>& listSoundProperties));
+ MOCK_METHOD3(asyncSetSinkSoundProperty,
+ am_Error_e(const am_Handle_s handle, const am_sinkID_t sinkID, const am_SoundProperty_s& soundProperty));
+ MOCK_METHOD3(asyncSetSourceSoundProperties,
+ am_Error_e(const am_Handle_s handle, const am_sourceID_t sourceID, const std::vector<am_SoundProperty_s>& listSoundProperties));
+ MOCK_METHOD3(asyncSetSourceSoundProperty,
+ am_Error_e(const am_Handle_s handle, const am_sourceID_t sourceID, const am_SoundProperty_s& soundProperty));
+ MOCK_METHOD5(asyncCrossFade,
+ am_Error_e(const am_Handle_s handle, const am_crossfaderID_t crossfaderID, const am_HotSink_e hotSink, const am_RampType_e rampType, const am_time_t time));
+ MOCK_METHOD2(setDomainState,
+ am_Error_e(const am_domainID_t domainID, const am_DomainState_e domainState));
+ MOCK_CONST_METHOD1(returnBusName,
+ am_Error_e(std::string& BusName));
+ MOCK_CONST_METHOD1(getInterfaceVersion,
+ void(std::string& version));
+
};
class MockControlSendInterface : public ControlSendInterface {
public:
- MOCK_METHOD1(startupController,
- am_Error_e(ControlReceiveInterface* controlreceiveinterface));
- MOCK_METHOD0(stopController,
- am_Error_e());
- MOCK_METHOD0(hookAllPluginsLoaded,
- void());
- MOCK_METHOD3(hookUserConnectionRequest,
- am_Error_e(const am_sourceID_t sourceID, const am_sinkID_t sinkID, am_mainConnectionID_t& mainConnectionID));
- MOCK_METHOD1(hookUserDisconnectionRequest,
- am_Error_e(const am_mainConnectionID_t connectionID));
- MOCK_METHOD2(hookUserSetMainSinkSoundProperty,
- am_Error_e(const am_sinkID_t sinkID, const am_MainSoundProperty_s& soundProperty));
- MOCK_METHOD2(hookUserSetMainSourceSoundProperty,
- am_Error_e(const am_sourceID_t sourceID, const am_MainSoundProperty_s& soundProperty));
- MOCK_METHOD1(hookUserSetSystemProperty,
- am_Error_e(const am_SystemProperty_s& property));
- MOCK_METHOD2(hookUserVolumeChange,
- am_Error_e(const am_sinkID_t SinkID, const am_mainVolume_t newVolume));
- MOCK_METHOD2(hookUserVolumeStep,
- am_Error_e(const am_sinkID_t SinkID, const int16_t increment));
- MOCK_METHOD2(hookUserSetSinkMuteState,
- am_Error_e(const am_sinkID_t sinkID, const am_MuteState_e muteState));
- MOCK_METHOD2(hookSystemRegisterDomain,
- am_Error_e(const am_Domain_s& domainData, am_domainID_t& domainID));
- MOCK_METHOD1(hookSystemDeregisterDomain,
- am_Error_e(const am_domainID_t domainID));
- MOCK_METHOD1(hookSystemDomainRegistrationComplete,
- void(const am_domainID_t domainID));
- MOCK_METHOD2(hookSystemRegisterSink,
- am_Error_e(const am_Sink_s& sinkData, am_sinkID_t& sinkID));
- MOCK_METHOD1(hookSystemDeregisterSink,
- am_Error_e(const am_sinkID_t sinkID));
- MOCK_METHOD2(hookSystemRegisterSource,
- am_Error_e(const am_Source_s& sourceData, am_sourceID_t& sourceID));
- MOCK_METHOD1(hookSystemDeregisterSource,
- am_Error_e(const am_sourceID_t sourceID));
- MOCK_METHOD2(hookSystemRegisterGateway,
- am_Error_e(const am_Gateway_s& gatewayData, am_gatewayID_t& gatewayID));
- MOCK_METHOD1(hookSystemDeregisterGateway,
- am_Error_e(const am_gatewayID_t gatewayID));
- MOCK_METHOD2(hookSystemRegisterCrossfader,
- am_Error_e(const am_Crossfader_s& crossfaderData, am_crossfaderID_t& crossfaderID));
- MOCK_METHOD1(hookSystemDeregisterCrossfader,
- am_Error_e(const am_crossfaderID_t crossfaderID));
- MOCK_METHOD3(hookSystemSinkVolumeTick,
- void(const am_Handle_s handle, const am_sinkID_t sinkID, const am_volume_t volume));
- MOCK_METHOD3(hookSystemSourceVolumeTick,
- void(const am_Handle_s handle, const am_sourceID_t sourceID, const am_volume_t volume));
- MOCK_METHOD2(hookSystemInterruptStateChange,
- void(const am_sourceID_t sourceID, const am_InterruptState_e interruptState));
- MOCK_METHOD2(hookSystemSinkAvailablityStateChange,
- void(const am_sinkID_t sinkID, const am_Availability_s& availability));
- MOCK_METHOD2(hookSystemSourceAvailablityStateChange,
- void(const am_sourceID_t sourceID, const am_Availability_s& availability));
- MOCK_METHOD2(hookSystemDomainStateChange,
- void(const am_domainID_t domainID, const am_DomainState_e state));
- MOCK_METHOD1(hookSystemReceiveEarlyData,
- void(const std::vector<am_EarlyData_s>& data));
- MOCK_METHOD1(hookSystemSpeedChange,
- void(const am_speed_t speed));
- MOCK_METHOD2(hookSystemTimingInformationChanged,
- void(const am_mainConnectionID_t mainConnectionID, const am_timeSync_t time));
- MOCK_METHOD2(cbAckConnect,
- void(const am_Handle_s handle, const am_Error_e errorID));
- MOCK_METHOD2(cbAckDisconnect,
- void(const am_Handle_s handle, const am_Error_e errorID));
- MOCK_METHOD3(cbAckCrossFade,
- void(const am_Handle_s handle, const am_HotSink_e hostsink, const am_Error_e error));
- MOCK_METHOD3(cbAckSetSinkVolumeChange,
- void(const am_Handle_s handle, const am_volume_t volume, const am_Error_e error));
- MOCK_METHOD3(cbAckSetSourceVolumeChange,
- void(const am_Handle_s handle, const am_volume_t voulme, const am_Error_e error));
- MOCK_METHOD2(cbAckSetSourceState,
- void(const am_Handle_s handle, const am_Error_e error));
- MOCK_METHOD2(cbAckSetSourceSoundProperties,
- void(const am_Handle_s handle, const am_Error_e error));
- MOCK_METHOD2(cbAckSetSourceSoundProperty,
- void(const am_Handle_s handle, const am_Error_e error));
- MOCK_METHOD2(cbAckSetSinkSoundProperties,
- void(const am_Handle_s handle, const am_Error_e error));
- MOCK_METHOD2(cbAckSetSinkSoundProperty,
- void(const am_Handle_s handle, const am_Error_e error));
- MOCK_METHOD5(getConnectionFormatChoice,
- am_Error_e(const am_sourceID_t sourceID, const am_sinkID_t sinkID, const am_Route_s listRoute, const std::vector<am_ConnectionFormat_e> listPossibleConnectionFormats, std::vector<am_ConnectionFormat_e>& listPrioConnectionFormats));
- MOCK_CONST_METHOD0(getInterfaceVersion,
- uint16_t());
+ MOCK_METHOD1(startupController,
+ am_Error_e(ControlReceiveInterface* controlreceiveinterface));
+ MOCK_METHOD0(setControllerReady,
+ void());
+ MOCK_METHOD0(setControllerRundown,
+ void());
+ MOCK_METHOD3(hookUserConnectionRequest,
+ am_Error_e(const am_sourceID_t sourceID, const am_sinkID_t sinkID, am_mainConnectionID_t& mainConnectionID));
+ MOCK_METHOD1(hookUserDisconnectionRequest,
+ am_Error_e(const am_mainConnectionID_t connectionID));
+ MOCK_METHOD2(hookUserSetMainSinkSoundProperty,
+ am_Error_e(const am_sinkID_t sinkID, const am_MainSoundProperty_s& soundProperty));
+ MOCK_METHOD2(hookUserSetMainSourceSoundProperty,
+ am_Error_e(const am_sourceID_t sourceID, const am_MainSoundProperty_s& soundProperty));
+ MOCK_METHOD1(hookUserSetSystemProperty,
+ am_Error_e(const am_SystemProperty_s& property));
+ MOCK_METHOD2(hookUserVolumeChange,
+ am_Error_e(const am_sinkID_t SinkID, const am_mainVolume_t newVolume));
+ MOCK_METHOD2(hookUserVolumeStep,
+ am_Error_e(const am_sinkID_t SinkID, const int16_t increment));
+ MOCK_METHOD2(hookUserSetSinkMuteState,
+ am_Error_e(const am_sinkID_t sinkID, const am_MuteState_e muteState));
+ MOCK_METHOD2(hookSystemRegisterDomain,
+ am_Error_e(const am_Domain_s& domainData, am_domainID_t& domainID));
+ MOCK_METHOD1(hookSystemDeregisterDomain,
+ am_Error_e(const am_domainID_t domainID));
+ MOCK_METHOD1(hookSystemDomainRegistrationComplete,
+ void(const am_domainID_t domainID));
+ MOCK_METHOD2(hookSystemRegisterSink,
+ am_Error_e(const am_Sink_s& sinkData, am_sinkID_t& sinkID));
+ MOCK_METHOD1(hookSystemDeregisterSink,
+ am_Error_e(const am_sinkID_t sinkID));
+ MOCK_METHOD2(hookSystemRegisterSource,
+ am_Error_e(const am_Source_s& sourceData, am_sourceID_t& sourceID));
+ MOCK_METHOD1(hookSystemDeregisterSource,
+ am_Error_e(const am_sourceID_t sourceID));
+ MOCK_METHOD2(hookSystemRegisterGateway,
+ am_Error_e(const am_Gateway_s& gatewayData, am_gatewayID_t& gatewayID));
+ MOCK_METHOD1(hookSystemDeregisterGateway,
+ am_Error_e(const am_gatewayID_t gatewayID));
+ MOCK_METHOD2(hookSystemRegisterCrossfader,
+ am_Error_e(const am_Crossfader_s& crossfaderData, am_crossfaderID_t& crossfaderID));
+ MOCK_METHOD1(hookSystemDeregisterCrossfader,
+ am_Error_e(const am_crossfaderID_t crossfaderID));
+ MOCK_METHOD3(hookSystemSinkVolumeTick,
+ void(const am_Handle_s handle, const am_sinkID_t sinkID, const am_volume_t volume));
+ MOCK_METHOD3(hookSystemSourceVolumeTick,
+ void(const am_Handle_s handle, const am_sourceID_t sourceID, const am_volume_t volume));
+ MOCK_METHOD2(hookSystemInterruptStateChange,
+ void(const am_sourceID_t sourceID, const am_InterruptState_e interruptState));
+ MOCK_METHOD2(hookSystemSinkAvailablityStateChange,
+ void(const am_sinkID_t sinkID, const am_Availability_s& availability));
+ MOCK_METHOD2(hookSystemSourceAvailablityStateChange,
+ void(const am_sourceID_t sourceID, const am_Availability_s& availability));
+ MOCK_METHOD2(hookSystemDomainStateChange,
+ void(const am_domainID_t domainID, const am_DomainState_e state));
+ MOCK_METHOD1(hookSystemReceiveEarlyData,
+ void(const std::vector<am_EarlyData_s>& data));
+ MOCK_METHOD1(hookSystemSpeedChange,
+ void(const am_speed_t speed));
+ MOCK_METHOD2(hookSystemTimingInformationChanged,
+ void(const am_mainConnectionID_t mainConnectionID, const am_timeSync_t time));
+ MOCK_METHOD2(cbAckConnect,
+ void(const am_Handle_s handle, const am_Error_e errorID));
+ MOCK_METHOD2(cbAckDisconnect,
+ void(const am_Handle_s handle, const am_Error_e errorID));
+ MOCK_METHOD3(cbAckCrossFade,
+ void(const am_Handle_s handle, const am_HotSink_e hostsink, const am_Error_e error));
+ MOCK_METHOD3(cbAckSetSinkVolumeChange,
+ void(const am_Handle_s handle, const am_volume_t volume, const am_Error_e error));
+ MOCK_METHOD3(cbAckSetSourceVolumeChange,
+ void(const am_Handle_s handle, const am_volume_t voulme, const am_Error_e error));
+ MOCK_METHOD2(cbAckSetSourceState,
+ void(const am_Handle_s handle, const am_Error_e error));
+ MOCK_METHOD2(cbAckSetSourceSoundProperties,
+ void(const am_Handle_s handle, const am_Error_e error));
+ MOCK_METHOD2(cbAckSetSourceSoundProperty,
+ void(const am_Handle_s handle, const am_Error_e error));
+ MOCK_METHOD2(cbAckSetSinkSoundProperties,
+ void(const am_Handle_s handle, const am_Error_e error));
+ MOCK_METHOD2(cbAckSetSinkSoundProperty,
+ void(const am_Handle_s handle, const am_Error_e error));
+ MOCK_METHOD5(getConnectionFormatChoice,
+ am_Error_e(const am_sourceID_t sourceID, const am_sinkID_t sinkID, const am_Route_s listRoute, const std::vector<am_ConnectionFormat_e> listPossibleConnectionFormats, std::vector<am_ConnectionFormat_e>& listPrioConnectionFormats));
+ MOCK_CONST_METHOD1(getInterfaceVersion,
+ void(std::string& version));
+ MOCK_METHOD0(confirmCommandReady,
+ void());
+ MOCK_METHOD0(confirmRoutingReady,
+ void());
+ MOCK_METHOD0(confirmCommandRundown,
+ void());
+ MOCK_METHOD0(confirmRoutingRundown,
+ void());
+
};
diff --git a/AudioManagerDaemon/test/controlInterface/controlInterfaceTest.cpp b/AudioManagerDaemon/test/controlInterface/controlInterfaceTest.cpp
index 61f11a0..c262692 100644
--- a/AudioManagerDaemon/test/controlInterface/controlInterfaceTest.cpp
+++ b/AudioManagerDaemon/test/controlInterface/controlInterfaceTest.cpp
@@ -21,27 +21,12 @@
* Note that people who make modified versions of AudioManager are not obligated to grant this special exception for their modified versions; it is their choice whether to do so. The GNU Lesser General Public License, version 2.1, gives permission to release a modified version without this exception; this exception also makes it possible to release a modified version which carries forward this exception.
*
*/
-
#include "controlInterfaceTest.h"
#include <algorithm>
#include <string>
#include <vector>
#include <set>
#include "DLTWrapper.h"
-#include <dbus/DBusWrapper.h>
-#include "MockInterfaces.h"
-#include "DatabaseHandler.h"
-#include "ControlReceiver.h"
-#include "RoutingReceiver.h"
-#include "DatabaseObserver.h"
-#include "ControlSender.h"
-#include "RoutingSender.h"
-#include "SocketHandler.h"
-#include "Router.h"
-#include "../RoutingInterfaceBackdoor.h"
-#include "../CommandInterfaceBackdoor.h"
-#include "../ControlInterfaceBackdoor.h"
-#include "../CommonFunctions.h"
using namespace am;
using namespace testing;
@@ -52,7 +37,7 @@ controlInterfaceTest::controlInterfaceTest() :
plistCommandPluginDirs(), //
plistRoutingPluginDirs(), //
pDatabaseHandler(std::string(":memory:")), //
- pRoutingSender(plistRoutingPluginDirs), //
+ pRoutingSender(plistRoutingPluginDirs), //RoutingReceiver
pCommandSender(plistCommandPluginDirs), //
pMockControlInterface(), //
pMockRoutingInterface(), //
@@ -61,9 +46,9 @@ controlInterfaceTest::controlInterfaceTest() :
pControlInterfaceBackdoor(), //
pControlSender(std::string("")), //
pRouter(&pDatabaseHandler,&pControlSender), //
- pDatabaseObserver(&pCommandSender, &pSocketHandler, &pRoutingSender), //
- pControlReceiver(&pDatabaseHandler, &pRoutingSender, &pCommandSender,&pRouter), //
- pRoutingReceiver(&pDatabaseHandler, &pRoutingSender, &pControlSender, pDBusWrapper)
+ pDatabaseObserver(&pCommandSender, &pRoutingSender, &pSocketHandler), //
+ pControlReceiver(&pDatabaseHandler, &pRoutingSender, &pCommandSender, &pSocketHandler, &pRouter), //
+ pRoutingReceiver(&pDatabaseHandler, &pRoutingSender, &pControlSender, &pSocketHandler, pDBusWrapper)
{
pDatabaseHandler.registerObserver(&pDatabaseObserver);
pControlInterfaceBackdoor.replaceController(&pControlSender, &pMockControlInterface);
diff --git a/AudioManagerDaemon/test/controlInterface/controlInterfaceTest.h b/AudioManagerDaemon/test/controlInterface/controlInterfaceTest.h
index 864f072..72e2f63 100644
--- a/AudioManagerDaemon/test/controlInterface/controlInterfaceTest.h
+++ b/AudioManagerDaemon/test/controlInterface/controlInterfaceTest.h
@@ -28,19 +28,20 @@
#include <gtest/gtest.h>
#include <gmock/gmock.h>
-class DatbaseHandler;
-class SocketHandler;
-class RoutingSender;
-class CommandSender;
-class RoutingInterfaceBackdoor;
-class CommandInterfaceBackdoor;
-class ControlSender;
-class Router;
-class DatabaseObserver;
-class ControlReceiver;
-class RoutingReceiver;
-class CommonFunctions;
-
+#include <dbus/DBusWrapper.h>
+#include "MockInterfaces.h"
+#include "DatabaseHandler.h"
+#include "ControlReceiver.h"
+#include "RoutingReceiver.h"
+#include "DatabaseObserver.h"
+#include "ControlSender.h"
+#include "RoutingSender.h"
+#include "SocketHandler.h"
+#include "Router.h"
+#include "../RoutingInterfaceBackdoor.h"
+#include "../CommandInterfaceBackdoor.h"
+#include "../ControlInterfaceBackdoor.h"
+#include "../CommonFunctions.h"
namespace am
{
diff --git a/AudioManagerDaemon/test/database/CMakeLists.txt b/AudioManagerDaemon/test/database/CMakeLists.txt
index 4f8ac3a..18e2883 100644
--- a/AudioManagerDaemon/test/database/CMakeLists.txt
+++ b/AudioManagerDaemon/test/database/CMakeLists.txt
@@ -52,6 +52,9 @@ file(GLOB DATABASE_SRCS_CXX
"../../src/ControlSender.cpp"
"../../src/Router.cpp"
"../../src/DLTWrapper.cpp"
+ "../../src/SocketHandler.cpp"
+ "../../src/CommandReceiver.cpp"
+ "../../src/RoutingReceiver.cpp"
"../CommonFunctions.cpp"
"*.cpp"
)
diff --git a/AudioManagerDaemon/test/database/MockInterfaces.h b/AudioManagerDaemon/test/database/MockInterfaces.h
index b48c8e8..453add8 100644
--- a/AudioManagerDaemon/test/database/MockInterfaces.h
+++ b/AudioManagerDaemon/test/database/MockInterfaces.h
@@ -35,44 +35,49 @@ namespace am {
class MockCommandSendInterface : public CommandSendInterface {
public:
- MOCK_METHOD1(startupInterface,
- am_Error_e(CommandReceiveInterface* commandreceiveinterface));
- MOCK_METHOD0(stopInterface,
- am_Error_e());
- MOCK_METHOD0(cbCommunicationReady,
- am_Error_e());
- MOCK_METHOD0(cbCommunicationRundown,
- am_Error_e());
- MOCK_METHOD0(cbNumberOfMainConnectionsChanged,
- void());
- MOCK_METHOD0(cbNumberOfSinksChanged,
- void());
- MOCK_METHOD0(cbNumberOfSourcesChanged,
- void());
- MOCK_METHOD0(cbNumberOfSinkClassesChanged,
- void());
- MOCK_METHOD0(cbNumberOfSourceClassesChanged,
- void());
- MOCK_METHOD2(cbMainConnectionStateChanged,
- void(const am_mainConnectionID_t connectionID, const am_ConnectionState_e connectionState));
- MOCK_METHOD2(cbMainSinkSoundPropertyChanged,
- void(const am_sinkID_t sinkID, const am_MainSoundProperty_s soundProperty));
- MOCK_METHOD2(cbMainSourceSoundPropertyChanged,
- void(const am_sourceID_t sourceID, const am_MainSoundProperty_s& soundProperty));
- MOCK_METHOD2(cbSinkAvailabilityChanged,
- void(const am_sinkID_t sinkID, const am_Availability_s& availability));
- MOCK_METHOD2(cbSourceAvailabilityChanged,
- void(const am_sourceID_t sourceID, const am_Availability_s& availability));
- MOCK_METHOD2(cbVolumeChanged,
- void(const am_sinkID_t sinkID, const am_mainVolume_t volume));
- MOCK_METHOD2(cbSinkMuteStateChanged,
- void(const am_sinkID_t sinkID, const am_MuteState_e muteState));
- MOCK_METHOD1(cbSystemPropertyChanged,
- void(const am_SystemProperty_s& systemProperty));
- MOCK_METHOD2(cbTimingInformationChanged,
- void(const am_mainConnectionID_t mainConnectionID, const am_timeSync_t time));
- MOCK_CONST_METHOD0(getInterfaceVersion,
- uint16_t());
+ MOCK_METHOD1(startupInterface,
+ am_Error_e(CommandReceiveInterface* commandreceiveinterface));
+ MOCK_METHOD1(setCommandReady,
+ void(const uint16_t handle));
+ MOCK_METHOD1(setCommandRundown,
+ void(const uint16_t handle));
+ MOCK_METHOD1(cbNewMainConnection,
+ void(const am_MainConnectionType_s mainConnection));
+ MOCK_METHOD1(cbRemovedMainConnection,
+ void(const am_mainConnectionID_t mainConnection));
+ MOCK_METHOD1(cbNewSink,
+ void(const am_SinkType_s& sink));
+ MOCK_METHOD1(cbRemovedSink,
+ void(const am_sinkID_t sinkID));
+ MOCK_METHOD1(cbNewSource,
+ void(const am_SourceType_s& source));
+ MOCK_METHOD1(cbRemovedSource,
+ void(const am_sourceID_t source));
+ MOCK_METHOD0(cbNumberOfSinkClassesChanged,
+ void());
+ MOCK_METHOD0(cbNumberOfSourceClassesChanged,
+ void());
+ MOCK_METHOD2(cbMainConnectionStateChanged,
+ void(const am_mainConnectionID_t connectionID, const am_ConnectionState_e connectionState));
+ MOCK_METHOD2(cbMainSinkSoundPropertyChanged,
+ void(const am_sinkID_t sinkID, const am_MainSoundProperty_s& soundProperty));
+ MOCK_METHOD2(cbMainSourceSoundPropertyChanged,
+ void(const am_sourceID_t sourceID, const am_MainSoundProperty_s& soundProperty));
+ MOCK_METHOD2(cbSinkAvailabilityChanged,
+ void(const am_sinkID_t sinkID, const am_Availability_s& availability));
+ MOCK_METHOD2(cbSourceAvailabilityChanged,
+ void(const am_sourceID_t sourceID, const am_Availability_s& availability));
+ MOCK_METHOD2(cbVolumeChanged,
+ void(const am_sinkID_t sinkID, const am_mainVolume_t volume));
+ MOCK_METHOD2(cbSinkMuteStateChanged,
+ void(const am_sinkID_t sinkID, const am_MuteState_e muteState));
+ MOCK_METHOD1(cbSystemPropertyChanged,
+ void(const am_SystemProperty_s& systemProperty));
+ MOCK_METHOD2(cbTimingInformationChanged,
+ void(const am_mainConnectionID_t mainConnectionID, const am_timeSync_t time));
+ MOCK_CONST_METHOD1(getInterfaceVersion,
+ void(std::string& version));
+
};
@@ -80,84 +85,101 @@ class MockCommandSendInterface : public CommandSendInterface {
class MockControlSendInterface : public ControlSendInterface {
public:
- MOCK_METHOD1(startupController,
- am_Error_e(ControlReceiveInterface* controlreceiveinterface));
- MOCK_METHOD0(stopController,
- am_Error_e());
- MOCK_METHOD0(hookAllPluginsLoaded,
- void());
- MOCK_METHOD3(hookUserConnectionRequest,
- am_Error_e(const am_sourceID_t sourceID, const am_sinkID_t sinkID, am_mainConnectionID_t& mainConnectionID));
- MOCK_METHOD1(hookUserDisconnectionRequest,
- am_Error_e(const am_mainConnectionID_t connectionID));
- MOCK_METHOD2(hookUserSetMainSinkSoundProperty,
- am_Error_e(const am_sinkID_t sinkID, const am_MainSoundProperty_s& soundProperty));
- MOCK_METHOD2(hookUserSetMainSourceSoundProperty,
- am_Error_e(const am_sourceID_t sourceID, const am_MainSoundProperty_s& soundProperty));
- MOCK_METHOD1(hookUserSetSystemProperty,
- am_Error_e(const am_SystemProperty_s& property));
- MOCK_METHOD2(hookUserVolumeChange,
- am_Error_e(const am_sinkID_t SinkID, const am_mainVolume_t newVolume));
- MOCK_METHOD2(hookUserVolumeStep,
- am_Error_e(const am_sinkID_t SinkID, const int16_t increment));
- MOCK_METHOD2(hookUserSetSinkMuteState,
- am_Error_e(const am_sinkID_t sinkID, const am_MuteState_e muteState));
- MOCK_METHOD2(hookSystemRegisterDomain,
- am_Error_e(const am_Domain_s& domainData, am_domainID_t& domainID));
- MOCK_METHOD1(hookSystemDeregisterDomain,
- am_Error_e(const am_domainID_t domainID));
- MOCK_METHOD1(hookSystemDomainRegistrationComplete,
- void(const am_domainID_t domainID));
- MOCK_METHOD2(hookSystemRegisterSink,
- am_Error_e(const am_Sink_s& sinkData, am_sinkID_t& sinkID));
- MOCK_METHOD1(hookSystemDeregisterSink,
- am_Error_e(const am_sinkID_t sinkID));
- MOCK_METHOD2(hookSystemRegisterSource,
- am_Error_e(const am_Source_s& sourceData, am_sourceID_t& sourceID));
- MOCK_METHOD1(hookSystemDeregisterSource,
- am_Error_e(const am_sourceID_t sourceID));
- MOCK_METHOD2(hookSystemRegisterGateway,
- am_Error_e(const am_Gateway_s& gatewayData, am_gatewayID_t& gatewayID));
- MOCK_METHOD1(hookSystemDeregisterGateway,
- am_Error_e(const am_gatewayID_t gatewayID));
- MOCK_METHOD2(hookSystemRegisterCrossfader,
- am_Error_e(const am_Crossfader_s& crossfaderData, am_crossfaderID_t& crossfaderID));
- MOCK_METHOD1(hookSystemDeregisterCrossfader,
- am_Error_e(const am_crossfaderID_t crossfaderID));
- MOCK_METHOD3(hookSystemSinkVolumeTick,
- void(const am_Handle_s handle, const am_sinkID_t sinkID, const am_volume_t volume));
- MOCK_METHOD3(hookSystemSourceVolumeTick,
- void(const am_Handle_s handle, const am_sourceID_t sourceID, const am_volume_t volume));
- MOCK_METHOD2(hookSystemInterruptStateChange,
- void(const am_sourceID_t sourceID, const am_InterruptState_e interruptState));
- MOCK_METHOD2(hookSystemSinkAvailablityStateChange,
- void(const am_sinkID_t sinkID, const am_Availability_s& availability));
- MOCK_METHOD2(hookSystemSourceAvailablityStateChange,
- void(const am_sourceID_t sourceID, const am_Availability_s& availability));
- MOCK_METHOD2(hookSystemDomainStateChange,
- void(const am_domainID_t domainID, const am_DomainState_e state));
- MOCK_METHOD1(hookSystemReceiveEarlyData,
- void(const std::vector<am_EarlyData_s>& data));
- MOCK_METHOD1(hookSystemSpeedChange,
- void(const am_speed_t speed));
- MOCK_METHOD2(hookSystemTimingInformationChanged,
- void(const am_mainConnectionID_t mainConnectionID, const am_timeSync_t time));
- MOCK_METHOD2(cbAckConnect,
- void(const am_Handle_s handle, const am_Error_e errorID));
- MOCK_METHOD2(cbAckDisconnect,
- void(const am_Handle_s handle, const am_Error_e errorID));
- MOCK_METHOD3(cbAckCrossFade,
- void(const am_Handle_s handle, const am_HotSink_e hostsink, const am_Error_e error));
- MOCK_METHOD3(cbAckSetSinkVolumeChange,
- void(const am_Handle_s handle, const am_volume_t volume, const am_Error_e error));
- MOCK_METHOD3(cbAckSetSourceVolumeChange,
- void(const am_Handle_s handle, const am_volume_t voulme, const am_Error_e error));
- MOCK_METHOD2(cbAckSetSourceState,
- void(const am_Handle_s handle, const am_Error_e error));
- MOCK_METHOD2(cbAckSetSourceSoundProperty,
- void(const am_Handle_s handle, const am_Error_e error));
- MOCK_METHOD2(cbAckSetSinkSoundProperty,
- void(const am_Handle_s handle, const am_Error_e error));
+ MOCK_METHOD1(startupController,
+ am_Error_e(ControlReceiveInterface* controlreceiveinterface));
+ MOCK_METHOD0(setControllerReady,
+ void());
+ MOCK_METHOD0(setControllerRundown,
+ void());
+ MOCK_METHOD3(hookUserConnectionRequest,
+ am_Error_e(const am_sourceID_t sourceID, const am_sinkID_t sinkID, am_mainConnectionID_t& mainConnectionID));
+ MOCK_METHOD1(hookUserDisconnectionRequest,
+ am_Error_e(const am_mainConnectionID_t connectionID));
+ MOCK_METHOD2(hookUserSetMainSinkSoundProperty,
+ am_Error_e(const am_sinkID_t sinkID, const am_MainSoundProperty_s& soundProperty));
+ MOCK_METHOD2(hookUserSetMainSourceSoundProperty,
+ am_Error_e(const am_sourceID_t sourceID, const am_MainSoundProperty_s& soundProperty));
+ MOCK_METHOD1(hookUserSetSystemProperty,
+ am_Error_e(const am_SystemProperty_s& property));
+ MOCK_METHOD2(hookUserVolumeChange,
+ am_Error_e(const am_sinkID_t SinkID, const am_mainVolume_t newVolume));
+ MOCK_METHOD2(hookUserVolumeStep,
+ am_Error_e(const am_sinkID_t SinkID, const int16_t increment));
+ MOCK_METHOD2(hookUserSetSinkMuteState,
+ am_Error_e(const am_sinkID_t sinkID, const am_MuteState_e muteState));
+ MOCK_METHOD2(hookSystemRegisterDomain,
+ am_Error_e(const am_Domain_s& domainData, am_domainID_t& domainID));
+ MOCK_METHOD1(hookSystemDeregisterDomain,
+ am_Error_e(const am_domainID_t domainID));
+ MOCK_METHOD1(hookSystemDomainRegistrationComplete,
+ void(const am_domainID_t domainID));
+ MOCK_METHOD2(hookSystemRegisterSink,
+ am_Error_e(const am_Sink_s& sinkData, am_sinkID_t& sinkID));
+ MOCK_METHOD1(hookSystemDeregisterSink,
+ am_Error_e(const am_sinkID_t sinkID));
+ MOCK_METHOD2(hookSystemRegisterSource,
+ am_Error_e(const am_Source_s& sourceData, am_sourceID_t& sourceID));
+ MOCK_METHOD1(hookSystemDeregisterSource,
+ am_Error_e(const am_sourceID_t sourceID));
+ MOCK_METHOD2(hookSystemRegisterGateway,
+ am_Error_e(const am_Gateway_s& gatewayData, am_gatewayID_t& gatewayID));
+ MOCK_METHOD1(hookSystemDeregisterGateway,
+ am_Error_e(const am_gatewayID_t gatewayID));
+ MOCK_METHOD2(hookSystemRegisterCrossfader,
+ am_Error_e(const am_Crossfader_s& crossfaderData, am_crossfaderID_t& crossfaderID));
+ MOCK_METHOD1(hookSystemDeregisterCrossfader,
+ am_Error_e(const am_crossfaderID_t crossfaderID));
+ MOCK_METHOD3(hookSystemSinkVolumeTick,
+ void(const am_Handle_s handle, const am_sinkID_t sinkID, const am_volume_t volume));
+ MOCK_METHOD3(hookSystemSourceVolumeTick,
+ void(const am_Handle_s handle, const am_sourceID_t sourceID, const am_volume_t volume));
+ MOCK_METHOD2(hookSystemInterruptStateChange,
+ void(const am_sourceID_t sourceID, const am_InterruptState_e interruptState));
+ MOCK_METHOD2(hookSystemSinkAvailablityStateChange,
+ void(const am_sinkID_t sinkID, const am_Availability_s& availability));
+ MOCK_METHOD2(hookSystemSourceAvailablityStateChange,
+ void(const am_sourceID_t sourceID, const am_Availability_s& availability));
+ MOCK_METHOD2(hookSystemDomainStateChange,
+ void(const am_domainID_t domainID, const am_DomainState_e state));
+ MOCK_METHOD1(hookSystemReceiveEarlyData,
+ void(const std::vector<am_EarlyData_s>& data));
+ MOCK_METHOD1(hookSystemSpeedChange,
+ void(const am_speed_t speed));
+ MOCK_METHOD2(hookSystemTimingInformationChanged,
+ void(const am_mainConnectionID_t mainConnectionID, const am_timeSync_t time));
+ MOCK_METHOD2(cbAckConnect,
+ void(const am_Handle_s handle, const am_Error_e errorID));
+ MOCK_METHOD2(cbAckDisconnect,
+ void(const am_Handle_s handle, const am_Error_e errorID));
+ MOCK_METHOD3(cbAckCrossFade,
+ void(const am_Handle_s handle, const am_HotSink_e hostsink, const am_Error_e error));
+ MOCK_METHOD3(cbAckSetSinkVolumeChange,
+ void(const am_Handle_s handle, const am_volume_t volume, const am_Error_e error));
+ MOCK_METHOD3(cbAckSetSourceVolumeChange,
+ void(const am_Handle_s handle, const am_volume_t voulme, const am_Error_e error));
+ MOCK_METHOD2(cbAckSetSourceState,
+ void(const am_Handle_s handle, const am_Error_e error));
+ MOCK_METHOD2(cbAckSetSourceSoundProperties,
+ void(const am_Handle_s handle, const am_Error_e error));
+ MOCK_METHOD2(cbAckSetSourceSoundProperty,
+ void(const am_Handle_s handle, const am_Error_e error));
+ MOCK_METHOD2(cbAckSetSinkSoundProperties,
+ void(const am_Handle_s handle, const am_Error_e error));
+ MOCK_METHOD2(cbAckSetSinkSoundProperty,
+ void(const am_Handle_s handle, const am_Error_e error));
+ MOCK_METHOD5(getConnectionFormatChoice,
+ am_Error_e(const am_sourceID_t sourceID, const am_sinkID_t sinkID, const am_Route_s listRoute, const std::vector<am_ConnectionFormat_e> listPossibleConnectionFormats, std::vector<am_ConnectionFormat_e>& listPrioConnectionFormats));
+ MOCK_CONST_METHOD1(getInterfaceVersion,
+ void(std::string& version));
+ MOCK_METHOD0(confirmCommandReady,
+ void());
+ MOCK_METHOD0(confirmRoutingReady,
+ void());
+ MOCK_METHOD0(confirmCommandRundown,
+ void());
+ MOCK_METHOD0(confirmRoutingRundown,
+ void());
+
};
} // namespace am
diff --git a/AudioManagerDaemon/test/database/databaseTest.cpp b/AudioManagerDaemon/test/database/databaseTest.cpp
index b31fd48..a43e436 100644
--- a/AudioManagerDaemon/test/database/databaseTest.cpp
+++ b/AudioManagerDaemon/test/database/databaseTest.cpp
@@ -24,14 +24,10 @@
*/
#include "databaseTest.h"
-#include "MockInterfaces.h"
-#include "DatabaseHandler.h"
-#include "ControlReceiver.h"
-#include "ControlSender.h"
-#include "DatabaseObserver.h"
-#include "../ControlInterfaceBackdoor.h"
-#include "../CommandInterfaceBackdoor.h"
-#include "../CommonFunctions.h"
+#include <algorithm>
+#include <string>
+#include <vector>
+#include <set>
#include "DLTWrapper.h"
using namespace am;
@@ -47,6 +43,7 @@ extern std::string int2string(int i);
databasetest::databasetest() :
plistRoutingPluginDirs(), //
plistCommandPluginDirs(), //
+ pSocketHandler(),//
pDatabaseHandler(std::string(":memory:")), //
pRoutingSender(plistRoutingPluginDirs), //
pCommandSender(plistCommandPluginDirs), //
@@ -55,8 +52,8 @@ databasetest::databasetest() :
pCommandInterfaceBackdoor(), //
pControlSender(""), //
pRouter(&pDatabaseHandler, &pControlSender), //
- pControlReceiver(&pDatabaseHandler, &pRoutingSender, &pCommandSender, &pRouter), //
- pObserver(&pCommandSender, &pRoutingSender)
+ pControlReceiver(&pDatabaseHandler, &pRoutingSender, &pCommandSender, &pSocketHandler, &pRouter), //
+ pObserver(&pCommandSender,&pRoutingSender, &pSocketHandler)
{
pDatabaseHandler.registerObserver(&pObserver);
pCommandInterfaceBackdoor.injectInterface(&pCommandSender, &pMockInterface);
@@ -75,8 +72,8 @@ void databasetest::createMainConnectionSetup()
std::vector<am_connectionID_t> connectionList;
//we create 9 sources and sinks:
- EXPECT_CALL(pMockInterface,cbNumberOfSourcesChanged()).Times(9);
- EXPECT_CALL(pMockInterface,cbNumberOfSinksChanged()).Times(9);
+
+
for (uint16_t i = 1; i < 10; i++)
{
@@ -119,8 +116,8 @@ void databasetest::createMainConnectionSetup()
mainConnection.delay = -1;
//enter mainconnection in database
- EXPECT_CALL(pMockInterface,cbNumberOfMainConnectionsChanged()).Times(1);
- EXPECT_CALL(pMockInterface,cbMainConnectionStateChanged(_,_)).Times(1);
+
+
ASSERT_EQ(E_OK, pDatabaseHandler.enterMainConnectionDB(mainConnection,mainConnectionID));
ASSERT_NE(0, mainConnectionID);
@@ -155,8 +152,8 @@ TEST_F(databasetest,getMainConnectionInfo)
std::vector<am_connectionID_t> connectionList;
//we create 9 sources and sinks:
- EXPECT_CALL(pMockInterface,cbNumberOfSourcesChanged()).Times(9);
- EXPECT_CALL(pMockInterface,cbNumberOfSinksChanged()).Times(9);
+
+
for (uint16_t i = 1; i < 10; i++)
{
@@ -199,8 +196,8 @@ TEST_F(databasetest,getMainConnectionInfo)
mainConnection.delay = -1;
//enter mainconnection in database
- EXPECT_CALL(pMockInterface,cbNumberOfMainConnectionsChanged()).Times(1);
- EXPECT_CALL(pMockInterface,cbMainConnectionStateChanged(_,_)).Times(1);
+
+
ASSERT_EQ(E_OK, pDatabaseHandler.enterMainConnectionDB(mainConnection,mainConnectionID));
ASSERT_NE(0, mainConnectionID);
@@ -232,7 +229,7 @@ TEST_F(databasetest,getSinKInfo)
pCF.createSink(staticSink);
staticSink.sinkID = 4;
- EXPECT_CALL(pMockInterface,cbNumberOfSinksChanged()).Times(3);
+
ASSERT_EQ(E_OK,pDatabaseHandler.enterSinkDB(staticSink,staticSinkID))
<< "ERROR: database error";
ASSERT_EQ(staticSink.sinkID,staticSinkID)
@@ -294,7 +291,7 @@ TEST_F(databasetest,getSourceInfo)
staticSource.sourceID = 4;
staticSource.name = "Static";
- EXPECT_CALL(pMockInterface,cbNumberOfSourcesChanged()).Times(3);
+
ASSERT_EQ(E_OK,pDatabaseHandler.enterSourceDB(staticSource,staticSourceID))
<< "ERROR: database error";
ASSERT_EQ(staticSource.sourceID,staticSourceID)
@@ -351,7 +348,7 @@ TEST_F(databasetest,getSourceInfo)
TEST_F(databasetest, peekSourceID)
{
- EXPECT_CALL(pMockInterface,cbNumberOfSourceClassesChanged()).Times(1);
+
std::string sourceName("myClassID");
am_sourceClass_t sourceClassID, peekID;
am_SourceClass_s sourceClass;
@@ -375,7 +372,7 @@ TEST_F(databasetest, peekSourceID)
TEST_F(databasetest, peekSinkID)
{
- EXPECT_CALL(pMockInterface,cbNumberOfSinkClassesChanged()).Times(1);
+
std::string sinkName("myClassID");
am_sinkClass_t sinkClassID, peekID;
am_SinkClass_s sinkClass;
@@ -400,8 +397,8 @@ TEST_F(databasetest, peekSinkID)
TEST_F(databasetest,crossfaders)
{
- EXPECT_CALL(pMockInterface,cbNumberOfSinksChanged()).Times(2);
- EXPECT_CALL(pMockInterface,cbNumberOfSourcesChanged()).Times(1);
+
+
am_Crossfader_s crossfader;
am_crossfaderID_t crossfaderID;
am_Sink_s sinkA, sinkB;
@@ -440,8 +437,8 @@ TEST_F(databasetest,crossfaders)
TEST_F(databasetest,crossfadersGetFromDomain)
{
- EXPECT_CALL(pMockInterface,cbNumberOfSinksChanged()).Times(2);
- EXPECT_CALL(pMockInterface,cbNumberOfSourcesChanged()).Times(1);
+
+
am_Crossfader_s crossfader;
am_crossfaderID_t crossfaderID;
am_Sink_s sinkA, sinkB;
@@ -489,7 +486,7 @@ TEST_F(databasetest,sourceState)
source.sourceState = SS_OFF;
//prepare the test
- EXPECT_CALL(pMockInterface,cbNumberOfSourcesChanged()).Times(1);
+
ASSERT_EQ(E_OK, pDatabaseHandler.enterSourceDB(source,sourceID));
//change the source state
@@ -509,7 +506,7 @@ TEST_F(databasetest,sinkVolumeChange)
sink.volume = 23;
//prepare the test
- EXPECT_CALL(pMockInterface,cbNumberOfSinksChanged()).Times(1);
+
ASSERT_EQ(E_OK, pDatabaseHandler.enterSinkDB(sink,sinkID));
//change the volume and check the read out
@@ -527,7 +524,7 @@ TEST_F(databasetest,sourceVolumeChange)
source.volume = 23;
//prepare test
- EXPECT_CALL(pMockInterface,cbNumberOfSourcesChanged()).Times(1);
+
ASSERT_EQ(E_OK, pDatabaseHandler.enterSourceDB(source,sourceID));
//change the volume and check the read out
@@ -544,7 +541,7 @@ TEST_F(databasetest, peekSource)
pCF.createSource(source);
//peek a source that does not exits
- EXPECT_CALL(pMockInterface,cbNumberOfSourcesChanged()).Times(0);
+
ASSERT_EQ(E_OK, pDatabaseHandler.peekSource(std::string("newsource"),sourceID));
//make sure it is not in the list
@@ -554,7 +551,7 @@ TEST_F(databasetest, peekSource)
//now enter the source with the same name and make sure it does not get a new ID
source.name = "newsource";
- EXPECT_CALL(pMockInterface,cbNumberOfSourcesChanged()).Times(1);
+
ASSERT_EQ(E_OK, pDatabaseHandler.enterSourceDB(source,source2ID));
ASSERT_EQ(E_OK, pDatabaseHandler.getListSources(listSources));
ASSERT_EQ(sourceID, source2ID);
@@ -577,11 +574,11 @@ TEST_F(databasetest, peekSourceDouble)
pCF.createSource(source);
//peek a source that does not exits
- EXPECT_CALL(pMockInterface,cbNumberOfSourcesChanged()).Times(0);
+
ASSERT_EQ(E_OK, pDatabaseHandler.peekSource(std::string("newsource"),sourceID));
//peek a second source that does not exits
- EXPECT_CALL(pMockInterface,cbNumberOfSourcesChanged()).Times(0);
+
ASSERT_EQ(E_OK, pDatabaseHandler.peekSource(std::string("newsource2"),source2ID));
//make sure they are is not in the list
@@ -591,7 +588,7 @@ TEST_F(databasetest, peekSourceDouble)
source.name = "newsource";
//now enter the source with the same name than the first peek and make sure it does not get a new ID
- EXPECT_CALL(pMockInterface,cbNumberOfSourcesChanged()).Times(1);
+
ASSERT_EQ(E_OK, pDatabaseHandler.enterSourceDB(source,source3ID));
ASSERT_EQ(E_OK, pDatabaseHandler.getListSources(listSources));
ASSERT_EQ(sourceID, source3ID);
@@ -606,7 +603,7 @@ TEST_F(databasetest, peekSink)
pCF.createSink(sink);
//peek a sink that does not exits
- EXPECT_CALL(pMockInterface,cbNumberOfSinksChanged()).Times(0);
+
ASSERT_EQ(E_OK, pDatabaseHandler.peekSink(std::string("newsink"),sinkID));
//make sure it is not in the list
@@ -616,7 +613,7 @@ TEST_F(databasetest, peekSink)
sink.name = "newsink";
//now enter the source with the same name and make sure it does not get a new ID
- EXPECT_CALL(pMockInterface,cbNumberOfSinksChanged()).Times(1);
+
ASSERT_EQ(E_OK, pDatabaseHandler.enterSinkDB(sink,sink2ID));
ASSERT_EQ(E_OK, pDatabaseHandler.getListSinks(listSinks));
ASSERT_EQ(sinkID, sink2ID);
@@ -639,11 +636,11 @@ TEST_F(databasetest, peekSinkDouble)
pCF.createSink(sink);
//peek a sink that does not exits
- EXPECT_CALL(pMockInterface,cbNumberOfSinksChanged()).Times(0);
+
ASSERT_EQ(E_OK, pDatabaseHandler.peekSink(std::string("newsink"),sinkID));
//peek again
- EXPECT_CALL(pMockInterface,cbNumberOfSinksChanged()).Times(0);
+
ASSERT_EQ(E_OK, pDatabaseHandler.peekSink(std::string("nextsink"),sink2ID));
//make sure they are is not in the list
@@ -653,7 +650,7 @@ TEST_F(databasetest, peekSinkDouble)
sink.name = "newsink";
//now enter the sink with the same name than the first peek and make sure it does not get a new ID
- EXPECT_CALL(pMockInterface,cbNumberOfSinksChanged()).Times(1);
+
ASSERT_EQ(E_OK, pDatabaseHandler.enterSinkDB(sink,sink3ID));
ASSERT_EQ(E_OK, pDatabaseHandler.getListSinks(listSinks));
ASSERT_EQ(sinkID, sink3ID);
@@ -667,7 +664,6 @@ TEST_F(databasetest,changeConnectionTimingInformationCheckMainConnection)
//prepare the test, it is one mainconnection, so we expect one callback
createMainConnectionSetup();
- EXPECT_CALL(pMockInterface,cbTimingInformationChanged(1,216)).Times(1);
//first get all visible mainconnections and make sure, the delay is set to -1 for the first entry
ASSERT_EQ(E_OK, pDatabaseHandler.getListVisibleMainConnections(mainList));
@@ -725,11 +721,11 @@ TEST_F(databasetest,getSinkClassOfSink)
sink.sinkClassID = 4;
//prepare test
- EXPECT_CALL(pMockInterface,cbNumberOfSinksChanged()).Times(1);
+
ASSERT_EQ(E_OK, pDatabaseHandler.enterSinkDB(sink,sinkID));
//enter a new sinkclass, read out again and check
- EXPECT_CALL(pMockInterface,cbNumberOfSinkClassesChanged()).Times(1);
+
ASSERT_EQ(E_OK, pDatabaseHandler.enterSinkClassDB(sinkClass,sinkClassID));
ASSERT_EQ(E_OK, pDatabaseHandler.getListSinkClasses(sinkClassList));
ASSERT_EQ(sinkClassList[0].name, sinkClass.name);
@@ -761,9 +757,9 @@ TEST_F(databasetest,getSourceClassOfSource)
sourceClass.listClassProperties = classPropertyList;
pCF.createSource(source);
- EXPECT_CALL(pMockInterface,cbNumberOfSourcesChanged()).Times(1);
+
ASSERT_EQ(E_OK, pDatabaseHandler.enterSourceDB(source,sourceID));
- EXPECT_CALL(pMockInterface,cbNumberOfSourceClassesChanged()).Times(1);
+
ASSERT_EQ(E_OK, pDatabaseHandler.enterSourceClassDB(sourceClassID,sourceClass));
ASSERT_EQ(E_OK, pDatabaseHandler.getListSourceClasses(sourceClassList));
ASSERT_EQ(sourceClassList[0].name, sourceClass.name);
@@ -792,7 +788,7 @@ TEST_F(databasetest,removeSourceClass)
sourceClass.sourceClassID = 3;
sourceClass.listClassProperties = classPropertyList;
- EXPECT_CALL(pMockInterface,cbNumberOfSourceClassesChanged()).Times(2);
+
ASSERT_EQ(E_OK, pDatabaseHandler.enterSourceClassDB(sourceClassID,sourceClass));
ASSERT_EQ(E_OK, pDatabaseHandler.getListSourceClasses(sourceClassList));
ASSERT_EQ(sourceClassList[0].name, sourceClass.name);
@@ -822,7 +818,7 @@ TEST_F(databasetest,updateSourceClass)
changedClass = sourceClass;
changedClass.listClassProperties[1].value = 6;
changedPropertyList = changedClass.listClassProperties;
- EXPECT_CALL(pMockInterface,cbNumberOfSourceClassesChanged()).Times(1);
+
ASSERT_EQ(E_OK, pDatabaseHandler.enterSourceClassDB(sourceClassID,sourceClass));
changedClass.sourceClassID = sourceClassID;
ASSERT_EQ(E_OK, pDatabaseHandler.getListSourceClasses(sourceClassList));
@@ -853,7 +849,7 @@ TEST_F(databasetest,enterSourceClass)
sourceClass.sourceClassID = 0;
sourceClass.listClassProperties = classPropertyList;
- EXPECT_CALL(pMockInterface,cbNumberOfSourceClassesChanged()).Times(1);
+
ASSERT_EQ(E_OK, pDatabaseHandler.enterSourceClassDB(sourceClassID,sourceClass));
ASSERT_EQ(E_OK, pDatabaseHandler.getListSourceClasses(sourceClassList));
ASSERT_EQ(sourceClassList[0].name, sourceClass.name);
@@ -878,7 +874,7 @@ TEST_F(databasetest,enterSourceClassStatic)
sourceClass.sourceClassID = 3;
sourceClass.listClassProperties = classPropertyList;
- EXPECT_CALL(pMockInterface,cbNumberOfSourceClassesChanged()).Times(1);
+
ASSERT_EQ(E_OK, pDatabaseHandler.enterSourceClassDB(sourceClassID,sourceClass));
ASSERT_EQ(E_OK, pDatabaseHandler.getListSourceClasses(sourceClassList));
ASSERT_EQ(sourceClassList[0].name, sourceClass.name);
@@ -903,7 +899,7 @@ TEST_F(databasetest,removeSinkClass)
sinkClass.sinkClassID = 0;
sinkClass.listClassProperties = classPropertyList;
- EXPECT_CALL(pMockInterface,cbNumberOfSinkClassesChanged()).Times(2);
+
ASSERT_EQ(E_OK, pDatabaseHandler.enterSinkClassDB(sinkClass,sinkClassID));
ASSERT_EQ(E_OK, pDatabaseHandler.getListSinkClasses(sinkClassList));
ASSERT_EQ(sinkClassList[0].name, sinkClass.name);
@@ -933,7 +929,7 @@ TEST_F(databasetest,updateSinkClass)
changedClass = sinkClass;
changedClass.listClassProperties[1].value = 6;
changedPropertyList = changedClass.listClassProperties;
- EXPECT_CALL(pMockInterface,cbNumberOfSinkClassesChanged()).Times(1);
+
ASSERT_EQ(E_OK, pDatabaseHandler.enterSinkClassDB(sinkClass,sinkClassID));
changedClass.sinkClassID = sinkClassID;
ASSERT_EQ(E_OK, pDatabaseHandler.getListSinkClasses(sinkClassList));
@@ -964,7 +960,7 @@ TEST_F(databasetest,enterSinkClass)
sinkClass.sinkClassID = 0;
sinkClass.listClassProperties = classPropertyList;
- EXPECT_CALL(pMockInterface,cbNumberOfSinkClassesChanged()).Times(1);
+
ASSERT_EQ(E_OK, pDatabaseHandler.enterSinkClassDB(sinkClass,sinkClassID));
ASSERT_EQ(E_OK, pDatabaseHandler.getListSinkClasses(sinkClassList));
ASSERT_EQ(sinkClassList[0].name, sinkClass.name);
@@ -989,7 +985,7 @@ TEST_F(databasetest,enterSinkClassStatic)
sinkClass.sinkClassID = 4;
sinkClass.listClassProperties = classPropertyList;
- EXPECT_CALL(pMockInterface,cbNumberOfSinkClassesChanged()).Times(1);
+
ASSERT_EQ(E_OK, pDatabaseHandler.enterSinkClassDB(sinkClass,sinkClassID));
ASSERT_EQ(E_OK, pDatabaseHandler.getListSinkClasses(sinkClassList));
ASSERT_EQ(sinkClassList[0].name, sinkClass.name);
@@ -1005,7 +1001,6 @@ TEST_F(databasetest, changeSystemProperty)
systemProperty.type = SYP_UNKNOWN;
systemProperty.value = 33;
listSystemProperties.push_back(systemProperty);
- EXPECT_CALL(pMockInterface,cbSystemPropertyChanged(_)).Times(1); //todo: check the exact value here
ASSERT_EQ(E_OK, pDatabaseHandler.enterSystemProperties(listSystemProperties));
systemProperty.value = 444;
ASSERT_EQ(E_OK, pDatabaseHandler.changeSystemPropertyDB(systemProperty));
@@ -1040,7 +1035,7 @@ TEST_F(databasetest,enterSourcesCorrect)
staticSource.sourceID = 4;
staticSource.name = "Static";
- EXPECT_CALL(pMockInterface,cbNumberOfSourcesChanged()).Times(3);
+
ASSERT_EQ(E_OK,pDatabaseHandler.enterSourceDB(staticSource,staticSourceID))
<< "ERROR: database error";
ASSERT_EQ(staticSource.sourceID,staticSourceID)
@@ -1098,10 +1093,9 @@ TEST_F(databasetest, changeSourceMainSoundProperty)
am_MainSoundProperty_s property;
property.type = MSP_UNKNOWN;
property.value = 33;
- EXPECT_CALL(pMockInterface,cbNumberOfSourcesChanged()).Times(1);
+
ASSERT_EQ(E_OK, pDatabaseHandler.enterSourceDB(source,sourceID));
- EXPECT_CALL(pMockInterface,cbMainSourceSoundPropertyChanged(sourceID,_)).Times(1); //todo: check in detail
ASSERT_EQ(E_OK, pDatabaseHandler.changeMainSourceSoundPropertyDB(property,sourceID));
ASSERT_EQ(E_OK, pDatabaseHandler.getListSources(listSources));
std::vector<am_MainSoundProperty_s>::iterator listIterator = listSources[0].listMainSoundProperties.begin();
@@ -1121,10 +1115,9 @@ TEST_F(databasetest, changeSinkMuteState)
am_sinkID_t sinkID;
pCF.createSink(sink);
am_MuteState_e muteState = MS_MUTED;
- EXPECT_CALL(pMockInterface,cbNumberOfSinksChanged()).Times(1);
+
ASSERT_EQ(E_OK, pDatabaseHandler.enterSinkDB(sink,sinkID));
- EXPECT_CALL(pMockInterface,cbSinkMuteStateChanged(sinkID,muteState)).Times(1);
ASSERT_EQ(E_OK, pDatabaseHandler.changeSinkMuteStateDB(muteState,sinkID));
ASSERT_EQ(E_OK, pDatabaseHandler.getListSinks(listSinks));
ASSERT_EQ(muteState, listSinks[0].muteState);
@@ -1140,10 +1133,9 @@ TEST_F(databasetest, changeSinkMainSoundProperty)
property.type = MSP_UNKNOWN;
property.value = 33;
- EXPECT_CALL(pMockInterface,cbNumberOfSinksChanged()).Times(1);
+
ASSERT_EQ(E_OK, pDatabaseHandler.enterSinkDB(sink,sinkID));
- EXPECT_CALL(pMockInterface,cbMainSinkSoundPropertyChanged(sinkID,_)).Times(1);
ASSERT_EQ(E_OK, pDatabaseHandler.changeMainSinkSoundPropertyDB(property,sinkID));
ASSERT_EQ(E_OK, pDatabaseHandler.getListSinks(listSinks));
std::vector<am_MainSoundProperty_s>::iterator listIterator = listSinks[0].listMainSoundProperties.begin();
@@ -1206,7 +1198,7 @@ TEST_F(databasetest, changeMainConnectionState)
{
std::vector<am_MainConnection_s> listMainConnections;
createMainConnectionSetup();
- EXPECT_CALL(pMockInterface,cbMainConnectionStateChanged(_,_)).Times(1);
+
ASSERT_EQ(E_OK, pDatabaseHandler.changeMainConnectionStateDB(1,CS_DISCONNECTING));
ASSERT_EQ(E_OK, pDatabaseHandler.getListMainConnections(listMainConnections));
ASSERT_EQ(CS_DISCONNECTING, listMainConnections[0].connectionState);
@@ -1222,7 +1214,7 @@ TEST_F(databasetest, changeSinkAvailability)
availability.availability = A_UNKNOWN;
availability.availabilityReason = AR_GENIVI_TEMPERATURE;
- EXPECT_CALL(pMockInterface,cbNumberOfSinksChanged()).Times(1);
+
ASSERT_EQ(E_OK, pDatabaseHandler.enterSinkDB(sink,sinkID));
ASSERT_EQ(E_OK, pDatabaseHandler.changeSinkAvailabilityDB(availability,sinkID));
ASSERT_EQ(E_OK, pDatabaseHandler.getListSinks(listSinks));
@@ -1241,7 +1233,7 @@ TEST_F(databasetest, changeSourceAvailability)
availability.availabilityReason = AR_GENIVI_TEMPERATURE;
source.visible = true;
- EXPECT_CALL(pMockInterface,cbNumberOfSourcesChanged()).Times(1);
+
ASSERT_EQ(E_OK, pDatabaseHandler.enterSourceDB(source,sourceID));
ASSERT_EQ(E_OK, pDatabaseHandler.changeSourceAvailabilityDB(availability,sourceID));
ASSERT_EQ(E_OK, pDatabaseHandler.getListSources(listSources));
@@ -1260,8 +1252,8 @@ TEST_F(databasetest,changeMainConnectionRoute)
am_Sink_s sink;
std::vector<am_connectionID_t> listConnectionID;
- EXPECT_CALL(pMockInterface,cbNumberOfSourcesChanged()).Times(9);
- EXPECT_CALL(pMockInterface,cbNumberOfSinksChanged()).Times(9);
+
+
for (uint16_t i = 1; i < 10; i++)
{
am_sinkID_t forgetSink;
@@ -1304,10 +1296,9 @@ TEST_F(databasetest,changeMainSinkVolume)
std::vector<am_Sink_s> listSinks;
pCF.createSink(sink);
- EXPECT_CALL(pMockInterface,cbNumberOfSinksChanged()).Times(1);
+
ASSERT_EQ(E_OK, pDatabaseHandler.enterSinkDB(sink,sinkID));
- EXPECT_CALL(pMockInterface,cbVolumeChanged(sinkID,newVol)).Times(1);
ASSERT_EQ(E_OK, pDatabaseHandler.changeSinkMainVolumeDB(newVol,sinkID));
ASSERT_EQ(E_OK, pDatabaseHandler.getListSinks(listSinks));
ASSERT_EQ(listSinks[0].mainVolume, newVol);
@@ -1321,7 +1312,7 @@ TEST_F(databasetest,getMainSourceSoundProperties)
std::vector<am_MainSoundProperty_s> mainSoundProperties = source.listMainSoundProperties;
std::vector<am_MainSoundProperty_s> listMainSoundProperties;
- EXPECT_CALL(pMockInterface,cbNumberOfSourcesChanged()).Times(1);
+
ASSERT_EQ(E_OK, pDatabaseHandler.enterSourceDB(source,sourceID));
ASSERT_EQ(E_OK, pDatabaseHandler.getListMainSourceSoundProperties(sourceID,listMainSoundProperties));
ASSERT_TRUE(std::equal(mainSoundProperties.begin(),mainSoundProperties.end(),listMainSoundProperties.begin(),equalMainSoundProperty));
@@ -1335,7 +1326,7 @@ TEST_F(databasetest,getMainSinkSoundProperties)
std::vector<am_MainSoundProperty_s> mainSoundProperties = sink.listMainSoundProperties;
std::vector<am_MainSoundProperty_s> listMainSoundProperties;
- EXPECT_CALL(pMockInterface,cbNumberOfSinksChanged()).Times(1);
+
ASSERT_EQ(E_OK, pDatabaseHandler.enterSinkDB(sink,sinkID));
ASSERT_EQ(E_OK, pDatabaseHandler.getListMainSinkSoundProperties(sinkID,listMainSoundProperties));
ASSERT_TRUE(std::equal(mainSoundProperties.begin(),mainSoundProperties.end(),listMainSoundProperties.begin(),equalMainSoundProperty));
@@ -1355,7 +1346,7 @@ TEST_F(databasetest,getMainSources)
std::vector<am_SourceType_s> listMainSources;
std::vector<am_Source_s> listSources;
- EXPECT_CALL(pMockInterface,cbNumberOfSourcesChanged()).Times(3);
+
ASSERT_EQ(E_OK, pDatabaseHandler.enterSourceDB(source,sourceID));
source.sourceID = sourceID;
@@ -1387,7 +1378,7 @@ TEST_F(databasetest,getMainSinks)
std::vector<am_SinkType_s> listMainSinks;
std::vector<am_Sink_s> listSinks;
- EXPECT_CALL(pMockInterface,cbNumberOfSinksChanged()).Times(3);
+
ASSERT_EQ(E_OK, pDatabaseHandler.enterSinkDB(sink,sinkID));
sink.sinkID = sinkID;
ASSERT_EQ(E_OK, pDatabaseHandler.enterSinkDB(sink1,sinkID));
@@ -1436,7 +1427,7 @@ TEST_F(databasetest,getListSourcesOfDomain)
pCF.createDomain(domain);
sourceCheckList.push_back(1); //sink.sinkID);
- EXPECT_CALL(pMockInterface,cbNumberOfSourcesChanged()).Times(2);
+
ASSERT_EQ(E_OK, pDatabaseHandler.enterDomainDB(domain,domainID));
ASSERT_EQ(E_OK,pDatabaseHandler.enterSourceDB(source,sourceID))
<< "ERROR: database error";
@@ -1465,7 +1456,7 @@ TEST_F(databasetest,getListSinksOfDomain)
pCF.createDomain(domain);
sinkCheckList.push_back(1); //sink.sinkID);
- EXPECT_CALL(pMockInterface,cbNumberOfSinksChanged()).Times(2);
+
ASSERT_EQ(E_OK, pDatabaseHandler.enterDomainDB(domain,domainID));
ASSERT_EQ(E_OK,pDatabaseHandler.enterSinkDB(sink,sinkID))
<< "ERROR: database error";
@@ -1480,8 +1471,8 @@ TEST_F(databasetest,getListSinksOfDomain)
TEST_F(databasetest,getListGatewaysOfDomain)
{
- EXPECT_CALL(pMockInterface,cbNumberOfSinksChanged()).Times(1);
- EXPECT_CALL(pMockInterface,cbNumberOfSourcesChanged()).Times(1);
+
+
am_Gateway_s gateway, gateway2;
am_gatewayID_t gatewayID;
am_domainID_t domainID;
@@ -1544,8 +1535,8 @@ TEST_F(databasetest,removeDomain)
TEST_F(databasetest,removeGateway)
{
- EXPECT_CALL(pMockInterface,cbNumberOfSinksChanged()).Times(1);
- EXPECT_CALL(pMockInterface,cbNumberOfSourcesChanged()).Times(1);
+
+
am_Gateway_s gateway;
am_gatewayID_t gatewayID;
std::vector<am_Gateway_s> listGateways;
@@ -1575,7 +1566,7 @@ TEST_F(databasetest,removeSink)
am_sinkID_t sinkID;
std::vector<am_Sink_s> listSinks;
pCF.createSink(sink);
- EXPECT_CALL(pMockInterface,cbNumberOfSinksChanged()).Times(2);
+
ASSERT_EQ(E_OK,pDatabaseHandler.enterSinkDB(sink,sinkID))
<< "ERROR: database error";
ASSERT_EQ(E_OK,pDatabaseHandler.removeSinkDB(sinkID))
@@ -1593,7 +1584,7 @@ TEST_F(databasetest,removeSource)
std::vector<am_Source_s> listSources;
pCF.createSource(source);
- EXPECT_CALL(pMockInterface,cbNumberOfSourcesChanged()).Times(2);
+
ASSERT_EQ(E_OK,pDatabaseHandler.enterSourceDB(source,sourceID))
<< "ERROR: database error";
ASSERT_EQ(E_OK,pDatabaseHandler.removeSourceDB(sourceID))
@@ -1606,8 +1597,8 @@ TEST_F(databasetest,removeSource)
TEST_F(databasetest, removeMainConnection)
{
createMainConnectionSetup();
- EXPECT_CALL(pMockInterface,cbNumberOfMainConnectionsChanged()).Times(1);
- EXPECT_CALL(pMockInterface,cbMainConnectionStateChanged(_,_)).Times(1);
+
+
ASSERT_EQ(E_OK,pDatabaseHandler.removeMainConnectionDB(1))
<< "ERROR: database error";
}
@@ -1638,8 +1629,8 @@ TEST_F(databasetest,removeNonexistentGateway)
TEST_F(databasetest,registerGatewayCorrect)
{
- EXPECT_CALL(pMockInterface,cbNumberOfSinksChanged()).Times(1);
- EXPECT_CALL(pMockInterface,cbNumberOfSourcesChanged()).Times(1);
+
+
//initialize gateway
std::vector<am_Gateway_s> returnList;
am_Gateway_s gateway, gateway1, gateway2;
@@ -1702,8 +1693,8 @@ TEST_F(databasetest,registerGatewayCorrect)
TEST_F(databasetest,getGatewayInfo)
{
- EXPECT_CALL(pMockInterface,cbNumberOfSinksChanged()).Times(1);
- EXPECT_CALL(pMockInterface,cbNumberOfSourcesChanged()).Times(1);
+
+
//initialize gateway
std::vector<am_Gateway_s> returnList;
am_Gateway_s gateway, gateway1, gateway2;
@@ -1779,7 +1770,7 @@ TEST_F(databasetest,enterSinkThatAlreadyExistFail)
staticSink.sinkID = 43;
staticSink.name = "Static";
- EXPECT_CALL(pMockInterface,cbNumberOfSinksChanged()).Times(1);
+
ASSERT_EQ(E_OK,pDatabaseHandler.enterSinkDB(staticSink,staticSinkID))
<< "ERROR: database error";
ASSERT_EQ(staticSink.sinkID,staticSinkID)
@@ -1801,7 +1792,7 @@ TEST_F(databasetest,enterSourcesThatAlreadyExistFail)
pCF.createSource(staticSource);
staticSource.sourceID = 4;
- EXPECT_CALL(pMockInterface,cbNumberOfSourcesChanged()).Times(1);
+
ASSERT_EQ(E_OK,pDatabaseHandler.enterSourceDB(staticSource,staticSourceID))
<< "ERROR: database error";
ASSERT_EQ(staticSource.sourceID,staticSourceID)
@@ -1883,7 +1874,7 @@ TEST_F(databasetest,enterSinksCorrect)
pCF.createSink(staticSink);
staticSink.sinkID = 4;
- EXPECT_CALL(pMockInterface,cbNumberOfSinksChanged()).Times(3);
+
ASSERT_EQ(E_OK,pDatabaseHandler.enterSinkDB(staticSink,staticSinkID))
<< "ERROR: database error";
ASSERT_EQ(staticSink.sinkID,staticSinkID)
diff --git a/AudioManagerDaemon/test/database/databaseTest.h b/AudioManagerDaemon/test/database/databaseTest.h
index 6927b4f..4dba9c6 100644
--- a/AudioManagerDaemon/test/database/databaseTest.h
+++ b/AudioManagerDaemon/test/database/databaseTest.h
@@ -30,10 +30,7 @@
#include <gtest/gtest.h>
#include <gmock/gmock.h>
-#include <algorithm>
-#include <string>
-#include <vector>
-#include <set>
+
#include "MockInterfaces.h"
#include "DatabaseHandler.h"
#include "ControlReceiver.h"
@@ -42,6 +39,7 @@
#include "RoutingSender.h"
#include "Router.h"
#include "ControlSender.h"
+#include "SocketHandler.h"
#include "../ControlInterfaceBackdoor.h"
#include "../CommandInterfaceBackdoor.h"
#include "../CommonFunctions.h"
@@ -56,6 +54,7 @@ public:
~databasetest();
std::vector<std::string> plistRoutingPluginDirs;
std::vector<std::string> plistCommandPluginDirs;
+ SocketHandler pSocketHandler;
DatabaseHandler pDatabaseHandler;
RoutingSender pRoutingSender;
CommandSender pCommandSender;
diff --git a/AudioManagerDaemon/test/routing/CMakeLists.txt b/AudioManagerDaemon/test/routing/CMakeLists.txt
index 8f45741..a7c70f9 100644
--- a/AudioManagerDaemon/test/routing/CMakeLists.txt
+++ b/AudioManagerDaemon/test/routing/CMakeLists.txt
@@ -52,6 +52,9 @@ file(GLOB ROUTING_SRCS_CXX
"../../src/ControlSender.cpp"
"../../src/Router.cpp"
"../../src/DLTWrapper.cpp"
+ "../../src/SocketHandler.cpp"
+ "../../src/CommandReceiver.cpp"
+ "../../src/RoutingReceiver.cpp"
"../CommonFunctions.cpp"
"*.cpp"
)
diff --git a/AudioManagerDaemon/test/routing/MockInterfaces.h b/AudioManagerDaemon/test/routing/MockInterfaces.h
index 207fadd..ea527ac 100644
--- a/AudioManagerDaemon/test/routing/MockInterfaces.h
+++ b/AudioManagerDaemon/test/routing/MockInterfaces.h
@@ -36,135 +36,149 @@ namespace am
class MockCommandSendInterface : public CommandSendInterface {
public:
- MOCK_METHOD1(startupInterface,
- am_Error_e(CommandReceiveInterface* commandreceiveinterface));
- MOCK_METHOD0(stopInterface,
- am_Error_e());
- MOCK_METHOD0(cbCommunicationReady,
- am_Error_e());
- MOCK_METHOD0(cbCommunicationRundown,
- am_Error_e());
- MOCK_METHOD0(cbNumberOfMainConnectionsChanged,
- void());
- MOCK_METHOD0(cbNumberOfSinksChanged,
- void());
- MOCK_METHOD0(cbNumberOfSourcesChanged,
- void());
- MOCK_METHOD0(cbNumberOfSinkClassesChanged,
- void());
- MOCK_METHOD0(cbNumberOfSourceClassesChanged,
- void());
- MOCK_METHOD2(cbMainConnectionStateChanged,
- void(const am_mainConnectionID_t connectionID, const am_ConnectionState_e connectionState));
- MOCK_METHOD2(cbMainSinkSoundPropertyChanged,
- void(const am_sinkID_t sinkID, const am_MainSoundProperty_s soundProperty));
- MOCK_METHOD2(cbMainSourceSoundPropertyChanged,
- void(const am_sourceID_t sourceID, const am_MainSoundProperty_s& soundProperty));
- MOCK_METHOD2(cbSinkAvailabilityChanged,
- void(const am_sinkID_t sinkID, const am_Availability_s& availability));
- MOCK_METHOD2(cbSourceAvailabilityChanged,
- void(const am_sourceID_t sourceID, const am_Availability_s& availability));
- MOCK_METHOD2(cbVolumeChanged,
- void(const am_sinkID_t sinkID, const am_mainVolume_t volume));
- MOCK_METHOD2(cbSinkMuteStateChanged,
- void(const am_sinkID_t sinkID, const am_MuteState_e muteState));
- MOCK_METHOD1(cbSystemPropertyChanged,
- void(const am_SystemProperty_s& systemProperty));
- MOCK_METHOD2(cbTimingInformationChanged,
- void(const am_mainConnectionID_t mainConnectionID, const am_timeSync_t time));
- MOCK_CONST_METHOD0(getInterfaceVersion,
- uint16_t());
+ MOCK_METHOD1(startupInterface,
+ am_Error_e(CommandReceiveInterface* commandreceiveinterface));
+ MOCK_METHOD1(setCommandReady,
+ void(const uint16_t handle));
+ MOCK_METHOD1(setCommandRundown,
+ void(const uint16_t handle));
+ MOCK_METHOD1(cbNewMainConnection,
+ void(const am_MainConnectionType_s mainConnection));
+ MOCK_METHOD1(cbRemovedMainConnection,
+ void(const am_mainConnectionID_t mainConnection));
+ MOCK_METHOD1(cbNewSink,
+ void(const am_SinkType_s& sink));
+ MOCK_METHOD1(cbRemovedSink,
+ void(const am_sinkID_t sinkID));
+ MOCK_METHOD1(cbNewSource,
+ void(const am_SourceType_s& source));
+ MOCK_METHOD1(cbRemovedSource,
+ void(const am_sourceID_t source));
+ MOCK_METHOD0(cbNumberOfSinkClassesChanged,
+ void());
+ MOCK_METHOD0(cbNumberOfSourceClassesChanged,
+ void());
+ MOCK_METHOD2(cbMainConnectionStateChanged,
+ void(const am_mainConnectionID_t connectionID, const am_ConnectionState_e connectionState));
+ MOCK_METHOD2(cbMainSinkSoundPropertyChanged,
+ void(const am_sinkID_t sinkID, const am_MainSoundProperty_s& soundProperty));
+ MOCK_METHOD2(cbMainSourceSoundPropertyChanged,
+ void(const am_sourceID_t sourceID, const am_MainSoundProperty_s& soundProperty));
+ MOCK_METHOD2(cbSinkAvailabilityChanged,
+ void(const am_sinkID_t sinkID, const am_Availability_s& availability));
+ MOCK_METHOD2(cbSourceAvailabilityChanged,
+ void(const am_sourceID_t sourceID, const am_Availability_s& availability));
+ MOCK_METHOD2(cbVolumeChanged,
+ void(const am_sinkID_t sinkID, const am_mainVolume_t volume));
+ MOCK_METHOD2(cbSinkMuteStateChanged,
+ void(const am_sinkID_t sinkID, const am_MuteState_e muteState));
+ MOCK_METHOD1(cbSystemPropertyChanged,
+ void(const am_SystemProperty_s& systemProperty));
+ MOCK_METHOD2(cbTimingInformationChanged,
+ void(const am_mainConnectionID_t mainConnectionID, const am_timeSync_t time));
+ MOCK_CONST_METHOD1(getInterfaceVersion,
+ void(std::string& version));
+
};
class MockControlSendInterface : public ControlSendInterface {
public:
- MOCK_METHOD1(startupController,
- am_Error_e(ControlReceiveInterface* controlreceiveinterface));
- MOCK_METHOD0(stopController,
- am_Error_e());
- MOCK_METHOD0(hookAllPluginsLoaded,
- void());
- MOCK_METHOD3(hookUserConnectionRequest,
- am_Error_e(const am_sourceID_t sourceID, const am_sinkID_t sinkID, am_mainConnectionID_t& mainConnectionID));
- MOCK_METHOD1(hookUserDisconnectionRequest,
- am_Error_e(const am_mainConnectionID_t connectionID));
- MOCK_METHOD2(hookUserSetMainSinkSoundProperty,
- am_Error_e(const am_sinkID_t sinkID, const am_MainSoundProperty_s& soundProperty));
- MOCK_METHOD2(hookUserSetMainSourceSoundProperty,
- am_Error_e(const am_sourceID_t sourceID, const am_MainSoundProperty_s& soundProperty));
- MOCK_METHOD1(hookUserSetSystemProperty,
- am_Error_e(const am_SystemProperty_s& property));
- MOCK_METHOD2(hookUserVolumeChange,
- am_Error_e(const am_sinkID_t SinkID, const am_mainVolume_t newVolume));
- MOCK_METHOD2(hookUserVolumeStep,
- am_Error_e(const am_sinkID_t SinkID, const int16_t increment));
- MOCK_METHOD2(hookUserSetSinkMuteState,
- am_Error_e(const am_sinkID_t sinkID, const am_MuteState_e muteState));
- MOCK_METHOD2(hookSystemRegisterDomain,
- am_Error_e(const am_Domain_s& domainData, am_domainID_t& domainID));
- MOCK_METHOD1(hookSystemDeregisterDomain,
- am_Error_e(const am_domainID_t domainID));
- MOCK_METHOD1(hookSystemDomainRegistrationComplete,
- void(const am_domainID_t domainID));
- MOCK_METHOD2(hookSystemRegisterSink,
- am_Error_e(const am_Sink_s& sinkData, am_sinkID_t& sinkID));
- MOCK_METHOD1(hookSystemDeregisterSink,
- am_Error_e(const am_sinkID_t sinkID));
- MOCK_METHOD2(hookSystemRegisterSource,
- am_Error_e(const am_Source_s& sourceData, am_sourceID_t& sourceID));
- MOCK_METHOD1(hookSystemDeregisterSource,
- am_Error_e(const am_sourceID_t sourceID));
- MOCK_METHOD2(hookSystemRegisterGateway,
- am_Error_e(const am_Gateway_s& gatewayData, am_gatewayID_t& gatewayID));
- MOCK_METHOD1(hookSystemDeregisterGateway,
- am_Error_e(const am_gatewayID_t gatewayID));
- MOCK_METHOD2(hookSystemRegisterCrossfader,
- am_Error_e(const am_Crossfader_s& crossfaderData, am_crossfaderID_t& crossfaderID));
- MOCK_METHOD1(hookSystemDeregisterCrossfader,
- am_Error_e(const am_crossfaderID_t crossfaderID));
- MOCK_METHOD3(hookSystemSinkVolumeTick,
- void(const am_Handle_s handle, const am_sinkID_t sinkID, const am_volume_t volume));
- MOCK_METHOD3(hookSystemSourceVolumeTick,
- void(const am_Handle_s handle, const am_sourceID_t sourceID, const am_volume_t volume));
- MOCK_METHOD2(hookSystemInterruptStateChange,
- void(const am_sourceID_t sourceID, const am_InterruptState_e interruptState));
- MOCK_METHOD2(hookSystemSinkAvailablityStateChange,
- void(const am_sinkID_t sinkID, const am_Availability_s& availability));
- MOCK_METHOD2(hookSystemSourceAvailablityStateChange,
- void(const am_sourceID_t sourceID, const am_Availability_s& availability));
- MOCK_METHOD2(hookSystemDomainStateChange,
- void(const am_domainID_t domainID, const am_DomainState_e state));
- MOCK_METHOD1(hookSystemReceiveEarlyData,
- void(const std::vector<am_EarlyData_s>& data));
- MOCK_METHOD1(hookSystemSpeedChange,
- void(const am_speed_t speed));
- MOCK_METHOD2(hookSystemTimingInformationChanged,
- void(const am_mainConnectionID_t mainConnectionID, const am_timeSync_t time));
- MOCK_METHOD2(cbAckConnect,
- void(const am_Handle_s handle, const am_Error_e errorID));
- MOCK_METHOD2(cbAckDisconnect,
- void(const am_Handle_s handle, const am_Error_e errorID));
- MOCK_METHOD3(cbAckCrossFade,
- void(const am_Handle_s handle, const am_HotSink_e hostsink, const am_Error_e error));
- MOCK_METHOD3(cbAckSetSinkVolumeChange,
- void(const am_Handle_s handle, const am_volume_t volume, const am_Error_e error));
- MOCK_METHOD3(cbAckSetSourceVolumeChange,
- void(const am_Handle_s handle, const am_volume_t voulme, const am_Error_e error));
- MOCK_METHOD2(cbAckSetSourceState,
- void(const am_Handle_s handle, const am_Error_e error));
- MOCK_METHOD2(cbAckSetSourceSoundProperties,
- void(const am_Handle_s handle, const am_Error_e error));
- MOCK_METHOD2(cbAckSetSourceSoundProperty,
- void(const am_Handle_s handle, const am_Error_e error));
- MOCK_METHOD2(cbAckSetSinkSoundProperties,
- void(const am_Handle_s handle, const am_Error_e error));
- MOCK_METHOD2(cbAckSetSinkSoundProperty,
- void(const am_Handle_s handle, const am_Error_e error));
- MOCK_METHOD5(getConnectionFormatChoice,
- am_Error_e(const am_sourceID_t sourceID, const am_sinkID_t sinkID, const am_Route_s listRoute, const std::vector<am_ConnectionFormat_e> listPossibleConnectionFormats, std::vector<am_ConnectionFormat_e>& listPrioConnectionFormats));
- MOCK_CONST_METHOD0(getInterfaceVersion,
- uint16_t());
+ MOCK_METHOD1(startupController,
+ am_Error_e(ControlReceiveInterface* controlreceiveinterface));
+ MOCK_METHOD0(setControllerReady,
+ void());
+ MOCK_METHOD0(setControllerRundown,
+ void());
+ MOCK_METHOD3(hookUserConnectionRequest,
+ am_Error_e(const am_sourceID_t sourceID, const am_sinkID_t sinkID, am_mainConnectionID_t& mainConnectionID));
+ MOCK_METHOD1(hookUserDisconnectionRequest,
+ am_Error_e(const am_mainConnectionID_t connectionID));
+ MOCK_METHOD2(hookUserSetMainSinkSoundProperty,
+ am_Error_e(const am_sinkID_t sinkID, const am_MainSoundProperty_s& soundProperty));
+ MOCK_METHOD2(hookUserSetMainSourceSoundProperty,
+ am_Error_e(const am_sourceID_t sourceID, const am_MainSoundProperty_s& soundProperty));
+ MOCK_METHOD1(hookUserSetSystemProperty,
+ am_Error_e(const am_SystemProperty_s& property));
+ MOCK_METHOD2(hookUserVolumeChange,
+ am_Error_e(const am_sinkID_t SinkID, const am_mainVolume_t newVolume));
+ MOCK_METHOD2(hookUserVolumeStep,
+ am_Error_e(const am_sinkID_t SinkID, const int16_t increment));
+ MOCK_METHOD2(hookUserSetSinkMuteState,
+ am_Error_e(const am_sinkID_t sinkID, const am_MuteState_e muteState));
+ MOCK_METHOD2(hookSystemRegisterDomain,
+ am_Error_e(const am_Domain_s& domainData, am_domainID_t& domainID));
+ MOCK_METHOD1(hookSystemDeregisterDomain,
+ am_Error_e(const am_domainID_t domainID));
+ MOCK_METHOD1(hookSystemDomainRegistrationComplete,
+ void(const am_domainID_t domainID));
+ MOCK_METHOD2(hookSystemRegisterSink,
+ am_Error_e(const am_Sink_s& sinkData, am_sinkID_t& sinkID));
+ MOCK_METHOD1(hookSystemDeregisterSink,
+ am_Error_e(const am_sinkID_t sinkID));
+ MOCK_METHOD2(hookSystemRegisterSource,
+ am_Error_e(const am_Source_s& sourceData, am_sourceID_t& sourceID));
+ MOCK_METHOD1(hookSystemDeregisterSource,
+ am_Error_e(const am_sourceID_t sourceID));
+ MOCK_METHOD2(hookSystemRegisterGateway,
+ am_Error_e(const am_Gateway_s& gatewayData, am_gatewayID_t& gatewayID));
+ MOCK_METHOD1(hookSystemDeregisterGateway,
+ am_Error_e(const am_gatewayID_t gatewayID));
+ MOCK_METHOD2(hookSystemRegisterCrossfader,
+ am_Error_e(const am_Crossfader_s& crossfaderData, am_crossfaderID_t& crossfaderID));
+ MOCK_METHOD1(hookSystemDeregisterCrossfader,
+ am_Error_e(const am_crossfaderID_t crossfaderID));
+ MOCK_METHOD3(hookSystemSinkVolumeTick,
+ void(const am_Handle_s handle, const am_sinkID_t sinkID, const am_volume_t volume));
+ MOCK_METHOD3(hookSystemSourceVolumeTick,
+ void(const am_Handle_s handle, const am_sourceID_t sourceID, const am_volume_t volume));
+ MOCK_METHOD2(hookSystemInterruptStateChange,
+ void(const am_sourceID_t sourceID, const am_InterruptState_e interruptState));
+ MOCK_METHOD2(hookSystemSinkAvailablityStateChange,
+ void(const am_sinkID_t sinkID, const am_Availability_s& availability));
+ MOCK_METHOD2(hookSystemSourceAvailablityStateChange,
+ void(const am_sourceID_t sourceID, const am_Availability_s& availability));
+ MOCK_METHOD2(hookSystemDomainStateChange,
+ void(const am_domainID_t domainID, const am_DomainState_e state));
+ MOCK_METHOD1(hookSystemReceiveEarlyData,
+ void(const std::vector<am_EarlyData_s>& data));
+ MOCK_METHOD1(hookSystemSpeedChange,
+ void(const am_speed_t speed));
+ MOCK_METHOD2(hookSystemTimingInformationChanged,
+ void(const am_mainConnectionID_t mainConnectionID, const am_timeSync_t time));
+ MOCK_METHOD2(cbAckConnect,
+ void(const am_Handle_s handle, const am_Error_e errorID));
+ MOCK_METHOD2(cbAckDisconnect,
+ void(const am_Handle_s handle, const am_Error_e errorID));
+ MOCK_METHOD3(cbAckCrossFade,
+ void(const am_Handle_s handle, const am_HotSink_e hostsink, const am_Error_e error));
+ MOCK_METHOD3(cbAckSetSinkVolumeChange,
+ void(const am_Handle_s handle, const am_volume_t volume, const am_Error_e error));
+ MOCK_METHOD3(cbAckSetSourceVolumeChange,
+ void(const am_Handle_s handle, const am_volume_t voulme, const am_Error_e error));
+ MOCK_METHOD2(cbAckSetSourceState,
+ void(const am_Handle_s handle, const am_Error_e error));
+ MOCK_METHOD2(cbAckSetSourceSoundProperties,
+ void(const am_Handle_s handle, const am_Error_e error));
+ MOCK_METHOD2(cbAckSetSourceSoundProperty,
+ void(const am_Handle_s handle, const am_Error_e error));
+ MOCK_METHOD2(cbAckSetSinkSoundProperties,
+ void(const am_Handle_s handle, const am_Error_e error));
+ MOCK_METHOD2(cbAckSetSinkSoundProperty,
+ void(const am_Handle_s handle, const am_Error_e error));
+ MOCK_METHOD5(getConnectionFormatChoice,
+ am_Error_e(const am_sourceID_t sourceID, const am_sinkID_t sinkID, const am_Route_s listRoute, const std::vector<am_ConnectionFormat_e> listPossibleConnectionFormats, std::vector<am_ConnectionFormat_e>& listPrioConnectionFormats));
+ MOCK_CONST_METHOD1(getInterfaceVersion,
+ void(std::string& version));
+ MOCK_METHOD0(confirmCommandReady,
+ void());
+ MOCK_METHOD0(confirmRoutingReady,
+ void());
+ MOCK_METHOD0(confirmCommandRundown,
+ void());
+ MOCK_METHOD0(confirmRoutingRundown,
+ void());
+
};
diff --git a/AudioManagerDaemon/test/routing/routingTest.cpp b/AudioManagerDaemon/test/routing/routingTest.cpp
index 5b073d2..aa3f333 100644
--- a/AudioManagerDaemon/test/routing/routingTest.cpp
+++ b/AudioManagerDaemon/test/routing/routingTest.cpp
@@ -42,6 +42,7 @@ using namespace testing;
routingTest::routingTest() :
plistRoutingPluginDirs(), //
plistCommandPluginDirs(), //
+ pSocketHandler(), //
pDatabaseHandler(std::string(":memory:")), //
pControlSender(std::string("")), //
pRouter(&pDatabaseHandler, &pControlSender), //
@@ -52,8 +53,8 @@ routingTest::routingTest() :
pRoutingInterfaceBackdoor(), //
pCommandInterfaceBackdoor(), //
pControlInterfaceBackdoor(), //
- pControlReceiver(&pDatabaseHandler, &pRoutingSender, &pCommandSender, &pRouter), //
- pObserver(&pCommandSender, &pRoutingSender)
+ pControlReceiver(&pDatabaseHandler, &pRoutingSender, &pCommandSender,&pSocketHandler, &pRouter), //
+ pObserver(&pCommandSender, &pRoutingSender, &pSocketHandler)
{
pDatabaseHandler.registerObserver(&pObserver);
pCommandInterfaceBackdoor.injectInterface(&pCommandSender, &pMockInterface);
@@ -80,8 +81,6 @@ arg4=arg3;
//test that checks just sinks and source in a domain but connectionformats do not match
TEST_F(routingTest,simpleRoute2withDomainNoMatchFormats)
{
- EXPECT_CALL(pMockInterface,cbNumberOfSourcesChanged()).Times(1);
- EXPECT_CALL(pMockInterface,cbNumberOfSinksChanged()).Times(1);
EXPECT_CALL(pMockControlInterface,getConnectionFormatChoice(_,_,_,_,_)).WillRepeatedly(DoAll(returnConnectionFormat(), Return(E_OK)));
//initialize 2 domains
@@ -143,8 +142,6 @@ TEST_F(routingTest,simpleRoute2withDomainNoMatchFormats)
//test that checks just sinks and source in a domain
TEST_F(routingTest,simpleRoute2withDomain)
{
- EXPECT_CALL(pMockInterface,cbNumberOfSourcesChanged()).Times(1);
- EXPECT_CALL(pMockInterface,cbNumberOfSinksChanged()).Times(1);
EXPECT_CALL(pMockControlInterface,getConnectionFormatChoice(_,_,_,_,_)).WillRepeatedly(DoAll(returnConnectionFormat(), Return(E_OK)));
//initialize 2 domains
@@ -207,8 +204,8 @@ TEST_F(routingTest,simpleRoute2withDomain)
//test that checks just 2 domains, one sink one source with only one connection format each
TEST_F(routingTest,simpleRoute2DomainsOnlyFree)
{
- EXPECT_CALL(pMockInterface,cbNumberOfSourcesChanged()).Times(2);
- EXPECT_CALL(pMockInterface,cbNumberOfSinksChanged()).Times(2);
+
+
EXPECT_CALL(pMockControlInterface,getConnectionFormatChoice(_,_,_,_,_)).WillRepeatedly(DoAll(returnConnectionFormat(), Return(E_OK)));
//initialize 2 domains
@@ -315,8 +312,8 @@ TEST_F(routingTest,simpleRoute2DomainsOnlyFree)
//test that checks just 2 domains, one sink one source with only one connection format each
TEST_F(routingTest,simpleRoute2DomainsOnlyFreeNotFree)
{
- EXPECT_CALL(pMockInterface,cbNumberOfSourcesChanged()).Times(2);
- EXPECT_CALL(pMockInterface,cbNumberOfSinksChanged()).Times(2);
+
+
EXPECT_CALL(pMockControlInterface,getConnectionFormatChoice(_,_,_,_,_)).WillRepeatedly(DoAll(returnConnectionFormat(), Return(E_OK)));
//initialize 2 domains
@@ -439,8 +436,7 @@ TEST_F(routingTest,simpleRoute2DomainsOnlyFreeNotFree)
//test that checks 3 domains, one sink one source, longer lists of connectionformats.
TEST_F(routingTest,simpleRoute3DomainsListConnectionFormats_2)
{
- EXPECT_CALL(pMockInterface,cbNumberOfSourcesChanged()).Times(3);
- EXPECT_CALL(pMockInterface,cbNumberOfSinksChanged()).Times(3);
+
EXPECT_CALL(pMockControlInterface,getConnectionFormatChoice(_,_,_,_,_)).WillRepeatedly(DoAll(returnConnectionFormat(), Return(E_OK)));
//initialize 2 domains
@@ -600,8 +596,6 @@ TEST_F(routingTest,simpleRoute3DomainsListConnectionFormats_2)
//test that checks 3 domains, one sink one source, longer lists of connectionformats.
TEST_F(routingTest,simpleRoute3DomainsListConnectionFormats_1)
{
- EXPECT_CALL(pMockInterface,cbNumberOfSourcesChanged()).Times(3);
- EXPECT_CALL(pMockInterface,cbNumberOfSinksChanged()).Times(3);
EXPECT_CALL(pMockControlInterface,getConnectionFormatChoice(_,_,_,_,_)).WillRepeatedly(DoAll(returnConnectionFormat(), Return(E_OK)));
//initialize 2 domains
@@ -757,8 +751,6 @@ TEST_F(routingTest,simpleRoute3DomainsListConnectionFormats_1)
//test that checks 3 domains, one sink one source, longer lists of connectionformats.
TEST_F(routingTest,simpleRoute3DomainsListConnectionFormats)
{
- EXPECT_CALL(pMockInterface,cbNumberOfSourcesChanged()).Times(3);
- EXPECT_CALL(pMockInterface,cbNumberOfSinksChanged()).Times(3);
EXPECT_CALL(pMockControlInterface,getConnectionFormatChoice(_,_,_,_,_)).WillRepeatedly(DoAll(returnConnectionFormat(), Return(E_OK)));
//initialize 2 domains
@@ -908,8 +900,6 @@ TEST_F(routingTest,simpleRoute3DomainsListConnectionFormats)
//test that checks 4 domains, one sink and one source but there are 2 routes because there are 2 gateways
TEST_F(routingTest,simpleRoute4Domains2Routes)
{
- EXPECT_CALL(pMockInterface,cbNumberOfSourcesChanged()).Times(5);
- EXPECT_CALL(pMockInterface,cbNumberOfSinksChanged()).Times(5);
EXPECT_CALL(pMockControlInterface,getConnectionFormatChoice(_,_,_,_,_)).WillRepeatedly(DoAll(returnConnectionFormat(), Return(E_OK)));
//initialize 2 domains
@@ -1144,8 +1134,7 @@ TEST_F(routingTest,simpleRoute4Domains2Routes)
//test that checks 3 domains, one sink one source but the connectionformat of third domains do not fit.
TEST_F(routingTest,simpleRoute3DomainsNoConnection)
{
- EXPECT_CALL(pMockInterface,cbNumberOfSourcesChanged()).Times(3);
- EXPECT_CALL(pMockInterface,cbNumberOfSinksChanged()).Times(3);
+
EXPECT_CALL(pMockControlInterface,getConnectionFormatChoice(_,_,_,_,_)).WillRepeatedly(DoAll(returnConnectionFormat(), Return(E_OK)));
//initialize 2 domains
@@ -1289,8 +1278,8 @@ TEST_F(routingTest,simpleRoute3DomainsNoConnection)
//test that checks just 2 domains, one sink one source with only one connection format each
TEST_F(routingTest,simpleRoute2Domains)
{
- EXPECT_CALL(pMockInterface,cbNumberOfSourcesChanged()).Times(2);
- EXPECT_CALL(pMockInterface,cbNumberOfSinksChanged()).Times(2);
+
+
EXPECT_CALL(pMockControlInterface,getConnectionFormatChoice(_,_,_,_,_)).WillRepeatedly(DoAll(returnConnectionFormat(), Return(E_OK)));
//initialize 2 domains
@@ -1397,8 +1386,8 @@ TEST_F(routingTest,simpleRoute2Domains)
//test that checks just 2 domains, one sink one source but the connectionformat of source
TEST_F(routingTest,simpleRoute2DomainsNoMatchConnectionFormats)
{
- EXPECT_CALL(pMockInterface,cbNumberOfSourcesChanged()).Times(2);
- EXPECT_CALL(pMockInterface,cbNumberOfSinksChanged()).Times(2);
+
+
EXPECT_CALL(pMockControlInterface,getConnectionFormatChoice(_,_,_,_,_)).WillRepeatedly(DoAll(returnConnectionFormat(), Return(E_OK)));
//initialize 2 domains
@@ -1503,8 +1492,6 @@ TEST_F(routingTest,simpleRoute2DomainsNoMatchConnectionFormats)
//test that checks 3 domains, one sink one source.
TEST_F(routingTest,simpleRoute3Domains)
{
- EXPECT_CALL(pMockInterface,cbNumberOfSourcesChanged()).Times(3);
- EXPECT_CALL(pMockInterface,cbNumberOfSinksChanged()).Times(3);
EXPECT_CALL(pMockControlInterface,getConnectionFormatChoice(_,_,_,_,_)).WillRepeatedly(DoAll(returnConnectionFormat(), Return(E_OK)));
//initialize 2 domains
@@ -1650,8 +1637,6 @@ TEST_F(routingTest,simpleRoute3Domains)
//test that checks 4 domains, one sink and one source.
TEST_F(routingTest,simpleRoute4Domains)
{
- EXPECT_CALL(pMockInterface,cbNumberOfSourcesChanged()).Times(4);
- EXPECT_CALL(pMockInterface,cbNumberOfSinksChanged()).Times(4);
EXPECT_CALL(pMockControlInterface,getConnectionFormatChoice(_,_,_,_,_)).WillRepeatedly(DoAll(returnConnectionFormat(), Return(E_OK)));
//initialize 2 domains
diff --git a/AudioManagerDaemon/test/routing/routingTest.h b/AudioManagerDaemon/test/routing/routingTest.h
index 915c239..64ed8c5 100644
--- a/AudioManagerDaemon/test/routing/routingTest.h
+++ b/AudioManagerDaemon/test/routing/routingTest.h
@@ -41,6 +41,7 @@
#include "DatabaseObserver.h"
#include "RoutingSender.h"
#include "Router.h"
+#include "SocketHandler.h"
#include "../ControlInterfaceBackdoor.h"
#include "../CommandInterfaceBackdoor.h"
#include "../CommonFunctions.h"
@@ -55,6 +56,7 @@ public:
~routingTest();
std::vector<std::string> plistRoutingPluginDirs;
std::vector<std::string> plistCommandPluginDirs;
+ SocketHandler pSocketHandler;
DatabaseHandler pDatabaseHandler;
ControlSender pControlSender;
Router pRouter;
diff --git a/AudioManagerDaemon/test/routingInterface/CMakeLists.txt b/AudioManagerDaemon/test/routingInterface/CMakeLists.txt
index 5b5da3c..fbb4ac1 100644
--- a/AudioManagerDaemon/test/routingInterface/CMakeLists.txt
+++ b/AudioManagerDaemon/test/routingInterface/CMakeLists.txt
@@ -54,6 +54,9 @@ file(GLOB ROUTING_INTERFACE_SRCS_CXX
"../../src/ControlSender.cpp"
"../CommonFunctions.cpp"
"../../src/DLTWrapper.cpp"
+ "../../src/SocketHandler.cpp"
+ "../../src/RoutingReceiver.cpp"
+ "../../src/CommandReceiver.cpp"
"*.cpp"
)
diff --git a/AudioManagerDaemon/test/routingInterface/MockRoutingInterface.h b/AudioManagerDaemon/test/routingInterface/MockRoutingInterface.h
index 6c93507..2c21fe6 100644
--- a/AudioManagerDaemon/test/routingInterface/MockRoutingInterface.h
+++ b/AudioManagerDaemon/test/routingInterface/MockRoutingInterface.h
@@ -34,12 +34,12 @@ namespace am {
class MockRoutingSendInterface : public RoutingSendInterface {
public:
- MOCK_METHOD1(startupRoutingInterface,
- void(RoutingReceiveInterface* routingreceiveinterface));
- MOCK_METHOD0(routingInterfacesReady,
- void());
- MOCK_METHOD0(routingInterfacesRundown,
- void());
+ MOCK_METHOD1(startupInterface,
+ am_Error_e(RoutingReceiveInterface* routingreceiveinterface));
+ MOCK_METHOD1(setRoutingReady,
+ void(const uint16_t handle));
+ MOCK_METHOD1(setRoutingRundown,
+ void(const uint16_t handle));
MOCK_METHOD1(asyncAbort,
am_Error_e(const am_Handle_s handle));
MOCK_METHOD5(asyncConnect,
@@ -66,9 +66,10 @@ class MockRoutingSendInterface : public RoutingSendInterface {
am_Error_e(const am_domainID_t domainID, const am_DomainState_e domainState));
MOCK_CONST_METHOD1(returnBusName,
am_Error_e(std::string& BusName));
- MOCK_CONST_METHOD0(getInterfaceVersion,
- uint16_t());
+ MOCK_CONST_METHOD1(getInterfaceVersion,
+ void(std::string& version));
};
+
} // namespace am
diff --git a/AudioManagerDaemon/test/routingInterface/routingInterfaceTest.cpp b/AudioManagerDaemon/test/routingInterface/routingInterfaceTest.cpp
index 33aa7f6..a827ebe 100644
--- a/AudioManagerDaemon/test/routingInterface/routingInterfaceTest.cpp
+++ b/AudioManagerDaemon/test/routingInterface/routingInterfaceTest.cpp
@@ -32,6 +32,7 @@ using namespace testing;
routingInterfaceTest::routingInterfaceTest() :
plistRoutingPluginDirs(), //
plistCommandPluginDirs(), //
+ pSocketHandler(), //
pDatabaseHandler(std::string(":memory:")), //
pRoutingSender(plistRoutingPluginDirs), //
pCommandSender(plistCommandPluginDirs), //
@@ -40,8 +41,8 @@ routingInterfaceTest::routingInterfaceTest() :
pMockInterface(), //
pRoutingInterfaceBackdoor(), //
pCommandInterfaceBackdoor(), //
- pControlReceiver(&pDatabaseHandler, &pRoutingSender, &pCommandSender, &pRouter), //
- pObserver(&pCommandSender, &pRoutingSender)
+ pControlReceiver(&pDatabaseHandler, &pRoutingSender, &pCommandSender, &pSocketHandler, &pRouter), //
+ pObserver(&pCommandSender, &pRoutingSender, &pSocketHandler)
{
pDatabaseHandler.registerObserver(&pObserver);
pRoutingInterfaceBackdoor.unloadPlugins(&pRoutingSender);
diff --git a/AudioManagerDaemon/test/routingInterface/routingInterfaceTest.h b/AudioManagerDaemon/test/routingInterface/routingInterfaceTest.h
index 0608eb4..f102221 100644
--- a/AudioManagerDaemon/test/routingInterface/routingInterfaceTest.h
+++ b/AudioManagerDaemon/test/routingInterface/routingInterfaceTest.h
@@ -37,6 +37,7 @@
#include "ControlReceiver.h"
#include "ControlSender.h"
#include "DatabaseObserver.h"
+#include "SocketHandler.h"
#include "Router.h"
#include "../RoutingInterfaceBackdoor.h"
#include "../CommandInterfaceBackdoor.h"
@@ -52,6 +53,7 @@ public:
~routingInterfaceTest();
std::vector<std::string> plistRoutingPluginDirs;
std::vector<std::string> plistCommandPluginDirs;
+ SocketHandler pSocketHandler;
DatabaseHandler pDatabaseHandler;
RoutingSender pRoutingSender;
CommandSender pCommandSender;
diff --git a/AudioManagerDaemon/test/sockethandler/sockethandlerTest.h b/AudioManagerDaemon/test/sockethandler/sockethandlerTest.h
index d2d1bc6..abb8ace 100644
--- a/AudioManagerDaemon/test/sockethandler/sockethandlerTest.h
+++ b/AudioManagerDaemon/test/sockethandler/sockethandlerTest.h
@@ -41,7 +41,7 @@ public:
UNIX, INET
};
SamplePlugin(SocketHandler *mySocketHandler, sockType_e socketType);
- virtual ~SamplePlugin()
+ ~SamplePlugin()
{
}
;
@@ -79,7 +79,7 @@ class sockethandlerTest: public ::testing::Test
{
public:
sockethandlerTest();
- virtual ~sockethandlerTest();
+ ~sockethandlerTest();
void SetUp();
void TearDown();
};
diff --git a/AudioManagerDaemon/test/telnetserver/CAmTelnetServerTest.cpp b/AudioManagerDaemon/test/telnetserver/CAmTelnetServerTest.cpp
index d3d621e..d727fff 100644
--- a/AudioManagerDaemon/test/telnetserver/CAmTelnetServerTest.cpp
+++ b/AudioManagerDaemon/test/telnetserver/CAmTelnetServerTest.cpp
@@ -88,11 +88,11 @@ void MyEnvironment::setSocketHandler(SocketHandler* pSocketHandler)
//startup all the Plugins and Interfaces
mControlSender.startupController(mpControlReceiver);
- mCommandSender.startupInterface(mpCommandReceiver);
- mRoutingSender.startupRoutingInterface(mpRoutingReceiver);
+ mCommandSender.startupInterfaces(mpCommandReceiver);
+ mRoutingSender.startupInterfaces(mpRoutingReceiver);
//when the routingInterface is done, all plugins are loaded:
- mControlSender.hookAllPluginsLoaded();
+ mControlSender.setControllerReady();
// Starting TelnetServer
mpTelnetServer = new TelnetServer(mpSocketHandler,&mCommandSender,mpCommandReceiver,&mRoutingSender,mpRoutingReceiver,&mControlSender,mpControlReceiver,&mDatabasehandler,&mRouter,servPort,3);