summaryrefslogtreecommitdiff
path: root/AudioManagerDaemon/test/AmRouterTest
diff options
context:
space:
mode:
Diffstat (limited to 'AudioManagerDaemon/test/AmRouterTest')
-rw-r--r--AudioManagerDaemon/test/AmRouterTest/CAmRouterTest.cpp1960
-rw-r--r--AudioManagerDaemon/test/AmRouterTest/CAmRouterTest.h81
-rw-r--r--AudioManagerDaemon/test/AmRouterTest/CMakeLists.txt81
3 files changed, 0 insertions, 2122 deletions
diff --git a/AudioManagerDaemon/test/AmRouterTest/CAmRouterTest.cpp b/AudioManagerDaemon/test/AmRouterTest/CAmRouterTest.cpp
deleted file mode 100644
index e88d54b..0000000
--- a/AudioManagerDaemon/test/AmRouterTest/CAmRouterTest.cpp
+++ /dev/null
@@ -1,1960 +0,0 @@
-/**
- * SPDX license identifier: MPL-2.0
- *
- * Copyright (C) 2012, BMW AG
- *
- * This file is part of GENIVI Project AudioManager.
- *
- * Contributions are licensed to the GENIVI Alliance under one or more
- * Contribution License Agreements.
- *
- * \copyright
- * This Source Code Form is subject to the terms of the
- * Mozilla Public License, v. 2.0. If a copy of the MPL was not distributed with
- * this file, You can obtain one at http://mozilla.org/MPL/2.0/.
- *
- *
- * \author Aleksandar Donchev, aleksander.donchev@partner.bmw.de BMW 2013
- *
- * For further information see http://www.genivi.org/.
- *
- */
-
-#include "CAmRouterTest.h"
-#include <string.h>
-#include "CAmDltWrapper.h"
-
-using namespace am;
-using namespace testing;
-
-CAmRouterTest::CAmRouterTest() :
- plistRoutingPluginDirs(), //
- plistCommandPluginDirs(), //
- pSocketHandler(), //
- pControlSender(), //
- pDatabaseHandler(),
- pRouter(&pDatabaseHandler, &pControlSender), //
- pRoutingSender(plistRoutingPluginDirs), //
- pCommandSender(plistCommandPluginDirs), //
- pMockInterface(), //
- pMockControlInterface(), //
- pRoutingInterfaceBackdoor(), //
- pCommandInterfaceBackdoor(), //
- pControlInterfaceBackdoor(), //
- pControlReceiver(&pDatabaseHandler, &pRoutingSender, &pCommandSender,&pSocketHandler, &pRouter), //
- pObserver(&pCommandSender, &pRoutingSender, &pSocketHandler)
-{
- pDatabaseHandler.registerObserver(&pObserver);
- pCommandInterfaceBackdoor.injectInterface(&pCommandSender, &pMockInterface);
- pControlInterfaceBackdoor.replaceController(&pControlSender, &pMockControlInterface);
-}
-
-CAmRouterTest::~CAmRouterTest()
-{
-
-}
-
-void CAmRouterTest::SetUp()
-{
- logInfo("Routing Test started ");
-}
-
-void CAmRouterTest::TearDown()
-{
-}
-
-ACTION(returnConnectionFormat){
-arg4=arg3;
-}
-
-//test that checks just sinks and source in a domain but connectionformats do not match
-TEST_F(CAmRouterTest,simpleRoute2withDomainNoMatchFormats)
-{
- EXPECT_CALL(pMockControlInterface,getConnectionFormatChoice(_,_,_,_,_)).WillRepeatedly(DoAll(returnConnectionFormat(), Return(E_OK)));
-
- //initialize 2 domains
- am_Domain_s domain1;
- am_domainID_t domainID1;
-
- domain1.domainID = 0;
- domain1.name = "domain1";
- domain1.busname = "domain1bus";
- domain1.state = DS_CONTROLLED;
-
- ASSERT_EQ(E_OK, pDatabaseHandler.enterDomainDB(domain1,domainID1));
-
- am_Source_s source;
- am_sourceID_t sourceID;
-
- source.domainID = domainID1;
- source.name = "source1";
- source.sourceState = SS_ON;
- source.sourceID = 0;
- source.sourceClassID = 5;
- source.listConnectionFormats.push_back(CF_GENIVI_MONO);
-
- ASSERT_EQ(E_OK, pDatabaseHandler.enterSourceDB(source,sourceID));
- source.sourceID=sourceID;
-
- am_Sink_s sink;
- am_sinkID_t sinkID;
-
- sink.domainID = domainID1;
- sink.name = "sink1";
- sink.sinkID = 0;
- sink.sinkClassID = 5;
- sink.muteState = MS_MUTED;
- sink.listConnectionFormats.push_back(CF_GENIVI_ANALOG);
-
- ASSERT_EQ(E_OK, pDatabaseHandler.enterSinkDB(sink,sinkID));
- sink.sinkID=sinkID;
-
- std::vector<am_Route_s> listRoutes;
- std::vector<am_RoutingElement_s> listRoutingElements;
- am_RoutingElement_s hopp1;
-
- hopp1.sinkID = sinkID;
- hopp1.sourceID = sourceID;
- hopp1.domainID = domainID1;
- hopp1.connectionFormat = source.listConnectionFormats[0];
-
- listRoutingElements.push_back(hopp1);
-
- am_Route_s compareRoute;
- compareRoute.route = listRoutingElements;
- compareRoute.sinkID = sinkID;
- compareRoute.sourceID = sourceID;
-
- ASSERT_EQ(E_OK, pRouter.getRoute(true,sourceID,sinkID,listRoutes));
- ASSERT_EQ(static_cast<uint>(0), listRoutes.size());
-
-}
-
-//test that checks just sinks and source in a domain
-TEST_F(CAmRouterTest,simpleRoute2withDomain)
-{
- EXPECT_CALL(pMockControlInterface,getConnectionFormatChoice(_,_,_,_,_)).WillRepeatedly(DoAll(returnConnectionFormat(), Return(E_OK)));
-
- //initialize 2 domains
- am_Domain_s domain1;
- am_domainID_t domainID1;
-
- domain1.domainID = 0;
- domain1.name = "domain1";
- domain1.busname = "domain1bus";
- domain1.state = DS_CONTROLLED;
-
- ASSERT_EQ(E_OK, pDatabaseHandler.enterDomainDB(domain1,domainID1));
-
- am_Source_s source;
- am_sourceID_t sourceID;
-
- source.domainID = domainID1;
- source.name = "source1";
- source.sourceState = SS_ON;
- source.sourceID = 0;
- source.sourceClassID = 5;
- source.listConnectionFormats.push_back(CF_GENIVI_ANALOG);
-
- ASSERT_EQ(E_OK, pDatabaseHandler.enterSourceDB(source,sourceID));
-
- am_Sink_s sink;
- am_sinkID_t sinkID;
-
- sink.domainID = domainID1;
- sink.name = "sink1";
- sink.sinkID = 0;
- sink.sinkClassID = 5;
- sink.muteState = MS_MUTED;
- sink.listConnectionFormats.push_back(CF_GENIVI_ANALOG);
-
- ASSERT_EQ(E_OK, pDatabaseHandler.enterSinkDB(sink,sinkID));
-
- std::vector<am_Route_s> listRoutes;
- std::vector<am_RoutingElement_s> listRoutingElements;
- am_RoutingElement_s hopp1;
-
- hopp1.sinkID = sinkID;
- hopp1.sourceID = sourceID;
- hopp1.domainID = domainID1;
- hopp1.connectionFormat = source.listConnectionFormats[0];
-
- listRoutingElements.push_back(hopp1);
-
- am_Route_s compareRoute;
- compareRoute.route = listRoutingElements;
- compareRoute.sinkID = sinkID;
- compareRoute.sourceID = sourceID;
-
- ASSERT_EQ(E_OK, pRouter.getRoute(true,sourceID,sinkID,listRoutes));
- ASSERT_EQ(static_cast<uint>(1), listRoutes.size());
- ASSERT_TRUE(pCF.compareRoute(compareRoute,listRoutes[0]));
-
-}
-
-//test that checks just 2 domains, one sink one source with only one connection format each
-TEST_F(CAmRouterTest,simpleRoute2DomainsOnlyFree)
-{
- EXPECT_CALL(pMockControlInterface,getConnectionFormatChoice(_,_,_,_,_)).WillRepeatedly(DoAll(returnConnectionFormat(), Return(E_OK)));
-
- //initialize 2 domains
- am_Domain_s domain1, domain2;
- am_domainID_t domainID1, domainID2;
-
- domain1.domainID = 0;
- domain1.name = "domain1";
- domain1.busname = "domain1bus";
- domain1.state = DS_CONTROLLED;
- domain2.domainID = 0;
- domain2.name = "domain2";
- domain2.busname = "domain2bus";
- domain2.state = DS_CONTROLLED;
-
- ASSERT_EQ(E_OK, pDatabaseHandler.enterDomainDB(domain1,domainID1));
- ASSERT_EQ(E_OK, pDatabaseHandler.enterDomainDB(domain2,domainID2));
-
- am_Source_s source, gwSource;
- am_sourceID_t sourceID, gwSourceID;
-
- source.domainID = domainID1;
- source.name = "source1";
- source.sourceState = SS_ON;
- source.sourceID = 0;
- source.sourceClassID = 5;
- source.listConnectionFormats.push_back(CF_GENIVI_ANALOG);
-
- gwSource.domainID = domainID2;
- gwSource.name = "gwsource1";
- gwSource.sourceState = SS_ON;
- gwSource.sourceID = 0;
- gwSource.sourceClassID = 5;
- gwSource.listConnectionFormats.push_back(CF_GENIVI_MONO);
-
- ASSERT_EQ(E_OK, pDatabaseHandler.enterSourceDB(source,sourceID));
- ASSERT_EQ(E_OK, pDatabaseHandler.enterSourceDB(gwSource,gwSourceID));
-
- am_Sink_s sink, gwSink;
- am_sinkID_t sinkID, gwSinkID;
-
- sink.domainID = domainID2;
- sink.name = "sink1";
- sink.sinkID = 0;
- sink.sinkClassID = 5;
- sink.muteState = MS_MUTED;
- sink.listConnectionFormats.push_back(CF_GENIVI_MONO);
-
- gwSink.domainID = domainID1;
- gwSink.name = "gwSink";
- gwSink.sinkID = 0;
- gwSink.sinkClassID = 5;
- gwSink.muteState = MS_MUTED;
- gwSink.listConnectionFormats.push_back(CF_GENIVI_ANALOG);
-
- ASSERT_EQ(E_OK, pDatabaseHandler.enterSinkDB(sink,sinkID));
- ASSERT_EQ(E_OK, pDatabaseHandler.enterSinkDB(gwSink,gwSinkID));
-
- am_Gateway_s gateway;
- am_gatewayID_t gatewayID;
-
- gateway.controlDomainID = domainID1;
- gateway.gatewayID = 0;
- gateway.sinkID = gwSinkID;
- gateway.sourceID = gwSourceID;
- gateway.domainSourceID = domainID2;
- gateway.domainSinkID = domainID1;
- gateway.listSinkFormats = gwSink.listConnectionFormats;
- gateway.listSourceFormats = gwSource.listConnectionFormats;
- gateway.convertionMatrix.push_back(true);
- gateway.name = "gateway";
-
- ASSERT_EQ(E_OK, pDatabaseHandler.enterGatewayDB(gateway,gatewayID));
-
- std::vector<am_Route_s> listRoutes;
- std::vector<am_RoutingElement_s> listRoutingElements;
- am_RoutingElement_s hopp1;
- am_RoutingElement_s hopp2;
-
- hopp1.sinkID = gwSinkID;
- hopp1.sourceID = sourceID;
- hopp1.domainID = domainID1;
- hopp1.connectionFormat = source.listConnectionFormats[0];
-
- hopp2.sinkID = sinkID;
- hopp2.sourceID = gwSourceID;
- hopp2.domainID = domainID2;
- hopp2.connectionFormat = sink.listConnectionFormats[0];
-
- listRoutingElements.push_back(hopp1);
- listRoutingElements.push_back(hopp2);
-
- am_Route_s compareRoute;
- compareRoute.route = listRoutingElements;
- compareRoute.sinkID = sinkID;
- compareRoute.sourceID = sourceID;
-
- std::vector<am_Connection_s> listConnections;
- pDatabaseHandler.getListConnections(listConnections);
- ASSERT_EQ(0, listConnections.size());
- ASSERT_EQ(E_OK, pRouter.getRoute(true,sourceID,sinkID,listRoutes));
- ASSERT_EQ(static_cast<uint>(1), listRoutes.size());
- ASSERT_TRUE(pCF.compareRoute(compareRoute,listRoutes[0]));
-
-}
-
-//test that checks just 2 domains, one sink one source with only one connection format each
-TEST_F(CAmRouterTest,simpleRoute2DomainsOnlyFreeNotFree)
-{
-
-
- EXPECT_CALL(pMockControlInterface,getConnectionFormatChoice(_,_,_,_,_)).WillRepeatedly(DoAll(returnConnectionFormat(), Return(E_OK)));
-
- //initialize 2 domains
- am_Domain_s domain1, domain2;
- am_domainID_t domainID1, domainID2;
-
- domain1.domainID = 0;
- domain1.name = "domain1";
- domain1.busname = "domain1bus";
- domain1.state = DS_CONTROLLED;
- domain2.domainID = 0;
- domain2.name = "domain2";
- domain2.busname = "domain2bus";
- domain2.state = DS_CONTROLLED;
-
- ASSERT_EQ(E_OK, pDatabaseHandler.enterDomainDB(domain1,domainID1));
- ASSERT_EQ(E_OK, pDatabaseHandler.enterDomainDB(domain2,domainID2));
-
- am_Source_s source, gwSource;
- am_sourceID_t sourceID, gwSourceID;
-
- source.domainID = domainID1;
- source.name = "source1";
- source.sourceState = SS_ON;
- source.sourceID = 0;
- source.sourceClassID = 5;
- source.listConnectionFormats.push_back(CF_GENIVI_ANALOG);
-
- gwSource.domainID = domainID2;
- gwSource.name = "gwsource1";
- gwSource.sourceState = SS_ON;
- gwSource.sourceID = 0;
- gwSource.sourceClassID = 5;
- gwSource.listConnectionFormats.push_back(CF_GENIVI_MONO);
-
- ASSERT_EQ(E_OK, pDatabaseHandler.enterSourceDB(source,sourceID));
- ASSERT_EQ(E_OK, pDatabaseHandler.enterSourceDB(gwSource,gwSourceID));
-
- am_Sink_s sink, gwSink;
- am_sinkID_t sinkID, gwSinkID;
-
- sink.domainID = domainID2;
- sink.name = "sink1";
- sink.sinkID = 0;
- sink.sinkClassID = 5;
- sink.muteState = MS_MUTED;
- sink.listConnectionFormats.push_back(CF_GENIVI_MONO);
-
- gwSink.domainID = domainID1;
- gwSink.name = "gwSink";
- gwSink.sinkID = 0;
- gwSink.sinkClassID = 5;
- gwSink.muteState = MS_MUTED;
- gwSink.listConnectionFormats.push_back(CF_GENIVI_ANALOG);
-
- ASSERT_EQ(E_OK, pDatabaseHandler.enterSinkDB(sink,sinkID));
- ASSERT_EQ(E_OK, pDatabaseHandler.enterSinkDB(gwSink,gwSinkID));
-
- am_Gateway_s gateway;
- am_gatewayID_t gatewayID;
-
- gateway.controlDomainID = domainID1;
- gateway.gatewayID = 0;
- gateway.sinkID = gwSinkID;
- gateway.sourceID = gwSourceID;
- gateway.domainSourceID = domainID2;
- gateway.domainSinkID = domainID1;
- gateway.listSinkFormats = gwSink.listConnectionFormats;
- gateway.listSourceFormats = gwSource.listConnectionFormats;
- gateway.convertionMatrix.push_back(true);
- gateway.name = "gateway";
-
- ASSERT_EQ(E_OK, pDatabaseHandler.enterGatewayDB(gateway,gatewayID));
-
- std::vector<am_Route_s> listRoutes;
- std::vector<am_RoutingElement_s> listRoutingElements;
- am_RoutingElement_s hopp1;
- am_RoutingElement_s hopp2;
-
- hopp1.sinkID = gwSinkID;
- hopp1.sourceID = sourceID;
- hopp1.domainID = domainID1;
- hopp1.connectionFormat = source.listConnectionFormats[0];
-
- hopp2.sinkID = sinkID;
- hopp2.sourceID = gwSourceID;
- hopp2.domainID = domainID2;
- hopp2.connectionFormat = sink.listConnectionFormats[0];
-
- listRoutingElements.push_back(hopp1);
- listRoutingElements.push_back(hopp2);
-
- am_Route_s compareRoute;
- compareRoute.route = listRoutingElements;
- compareRoute.sinkID = sinkID;
- compareRoute.sourceID = sourceID;
-
- am_Connection_s connection,connection1;
- am_connectionID_t id1,id2;
- connection.sourceID=sourceID;
- connection.sinkID=gwSinkID;
- connection.connectionFormat=CF_GENIVI_ANALOG;
- connection.connectionID=0;
- connection1.sourceID=gwSourceID;
- connection1.sinkID=sinkID;
- connection1.connectionFormat=CF_GENIVI_ANALOG;
- connection1.connectionID=0;
-
- ASSERT_EQ(E_OK,pDatabaseHandler.enterConnectionDB(connection,id1));
- ASSERT_EQ(E_OK,pDatabaseHandler.enterConnectionDB(connection1,id2));
-
- ASSERT_EQ(E_OK, pRouter.getRoute(true,sourceID,sinkID,listRoutes));
- ASSERT_EQ(static_cast<uint>(0), listRoutes.size());
-
- ASSERT_EQ(E_OK, pRouter.getRoute(false,sourceID,sinkID,listRoutes));
- ASSERT_EQ(static_cast<uint>(1), listRoutes.size());
- ASSERT_TRUE(pCF.compareRoute(compareRoute,listRoutes[0]));
-}
-
-//test that checks just 2 domains, with gateway for each direction (possible circular route)
-TEST_F(CAmRouterTest,simpleRoute2DomainsCircularGWOnlyFree)
-{
-
- EXPECT_CALL(pMockControlInterface,getConnectionFormatChoice(_,_,_,_,_)).WillRepeatedly(DoAll(returnConnectionFormat(), Return(E_OK)));
-
- //initialize 2 domains
- am_Domain_s domain1, domain2;
- am_domainID_t domainID1, domainID2;
-
- domain1.domainID = 0;
- domain1.name = "domain1";
- domain1.busname = "domain1bus";
- domain1.state = DS_CONTROLLED;
- domain2.domainID = 0;
- domain2.name = "domain2";
- domain2.busname = "domain2bus";
- domain2.state = DS_CONTROLLED;
-
- ASSERT_EQ(E_OK, pDatabaseHandler.enterDomainDB(domain1,domainID1));
- ASSERT_EQ(E_OK, pDatabaseHandler.enterDomainDB(domain2,domainID2));
-
- am_Source_s source, gwSource, gwSource2;
- am_sourceID_t sourceID, gwSourceID, gwSourceID2;
-
- source.domainID = domainID1;
- source.name = "source1";
- source.sourceState = SS_ON;
- source.sourceID = 0;
- source.sourceClassID = 5;
- source.listConnectionFormats.push_back(CF_GENIVI_ANALOG);
-
- gwSource.domainID = domainID2;
- gwSource.name = "gwsource1";
- gwSource.sourceState = SS_ON;
- gwSource.sourceID = 0;
- gwSource.sourceClassID = 5;
- gwSource.listConnectionFormats.push_back(CF_GENIVI_MONO);
-
- gwSource2.domainID = domainID1;
- gwSource2.name = "gwsource2";
- gwSource2.sourceState = SS_ON;
- gwSource2.sourceID = 0;
- gwSource2.sourceClassID = 5;
- gwSource2.listConnectionFormats.push_back(CF_GENIVI_MONO);
-
- ASSERT_EQ(E_OK, pDatabaseHandler.enterSourceDB(source,sourceID));
- ASSERT_EQ(E_OK, pDatabaseHandler.enterSourceDB(gwSource,gwSourceID));
- ASSERT_EQ(E_OK, pDatabaseHandler.enterSourceDB(gwSource2,gwSourceID2));
-
- am_Sink_s sink, gwSink, gwSink2;
- am_sinkID_t sinkID, gwSinkID, gwSinkID2;
-
- sink.domainID = domainID2;
- sink.name = "sink1";
- sink.sinkID = 0;
- sink.sinkClassID = 5;
- sink.muteState = MS_MUTED;
- sink.listConnectionFormats.push_back(CF_GENIVI_MONO);
-
- gwSink.domainID = domainID1;
- gwSink.name = "gwSink";
- gwSink.sinkID = 0;
- gwSink.sinkClassID = 5;
- gwSink.muteState = MS_MUTED;
- gwSink.listConnectionFormats.push_back(CF_GENIVI_ANALOG);
-
- gwSink2.domainID = domainID2;
- gwSink2.name = "gwSink2";
- gwSink2.sinkID = 0;
- gwSink2.sinkClassID = 5;
- gwSink2.muteState = MS_MUTED;
- gwSink2.listConnectionFormats.push_back(CF_GENIVI_MONO);
-
- ASSERT_EQ(E_OK, pDatabaseHandler.enterSinkDB(sink,sinkID));
- ASSERT_EQ(E_OK, pDatabaseHandler.enterSinkDB(gwSink,gwSinkID));
- ASSERT_EQ(E_OK, pDatabaseHandler.enterSinkDB(gwSink2,gwSinkID2));
-
- am_Gateway_s gateway, gateway2;
- am_gatewayID_t gatewayID, gatewayID2;
-
- gateway.controlDomainID = domainID1;
- gateway.gatewayID = 0;
- gateway.sinkID = gwSinkID;
- gateway.sourceID = gwSourceID;
- gateway.domainSourceID = domainID2;
- gateway.domainSinkID = domainID1;
- gateway.listSinkFormats = gwSink.listConnectionFormats;
- gateway.listSourceFormats = gwSource.listConnectionFormats;
- gateway.convertionMatrix.push_back(true);
- gateway.name = "gateway";
-
- gateway2.controlDomainID = domainID1;
- gateway2.gatewayID = 0;
- gateway2.sinkID = gwSinkID2;
- gateway2.sourceID = gwSourceID2;
- gateway2.domainSourceID = domainID1;
- gateway2.domainSinkID = domainID2;
- gateway2.listSinkFormats = gwSink2.listConnectionFormats;
- gateway2.listSourceFormats = gwSource2.listConnectionFormats;
- gateway2.convertionMatrix.push_back(true);
- gateway2.name = "gateway2";
-
- ASSERT_EQ(E_OK, pDatabaseHandler.enterGatewayDB(gateway,gatewayID));
- ASSERT_EQ(E_OK, pDatabaseHandler.enterGatewayDB(gateway2,gatewayID2));
-
- std::vector<am_Route_s> listRoutes;
- std::vector<am_RoutingElement_s> listRoutingElements;
- am_RoutingElement_s hopp1;
- am_RoutingElement_s hopp2;
-
- hopp1.sinkID = gwSinkID;
- hopp1.sourceID = sourceID;
- hopp1.domainID = domainID1;
- hopp1.connectionFormat = source.listConnectionFormats[0];
-
- hopp2.sinkID = sinkID;
- hopp2.sourceID = gwSourceID;
- hopp2.domainID = domainID2;
- hopp2.connectionFormat = sink.listConnectionFormats[0];
-
- listRoutingElements.push_back(hopp1);
- listRoutingElements.push_back(hopp2);
-
- am_Route_s compareRoute;
- compareRoute.route = listRoutingElements;
- compareRoute.sinkID = sinkID;
- compareRoute.sourceID = sourceID;
-
- ASSERT_EQ(E_OK, pRouter.getRoute(true,sourceID,sinkID,listRoutes));
- ASSERT_EQ(static_cast<uint>(1), listRoutes.size());
- ASSERT_TRUE(pCF.compareRoute(compareRoute,listRoutes[0]));
-}
-
-//test that checks 3 domains, one sink one source, longer lists of connectionformats.
-TEST_F(CAmRouterTest,simpleRoute3DomainsListConnectionFormats_2)
-{
-
- EXPECT_CALL(pMockControlInterface,getConnectionFormatChoice(_,_,_,_,_)).WillRepeatedly(DoAll(returnConnectionFormat(), Return(E_OK)));
-
- //initialize 2 domains
- am_Domain_s domain1, domain2, domain3;
- am_domainID_t domainID1, domainID2, domainID3;
-
- domain1.domainID = 0;
- domain1.name = "domain1";
- domain1.busname = "domain1bus";
- domain1.state = DS_CONTROLLED;
- domain2.domainID = 0;
- domain2.name = "domain2";
- domain2.busname = "domain2bus";
- domain2.state = DS_CONTROLLED;
- domain3.domainID = 0;
- domain3.name = "domain3";
- domain3.busname = "domain3bus";
- domain3.state = DS_CONTROLLED;
-
- ASSERT_EQ(E_OK, pDatabaseHandler.enterDomainDB(domain1,domainID1));
- ASSERT_EQ(E_OK, pDatabaseHandler.enterDomainDB(domain2,domainID2));
- ASSERT_EQ(E_OK, pDatabaseHandler.enterDomainDB(domain3,domainID3));
-
- am_Source_s source, gwSource, gwSource1;
- am_sourceID_t sourceID, gwSourceID, gwSourceID1;
-
- source.domainID = domainID1;
- source.name = "source1";
- source.sourceState = SS_ON;
- source.sourceID = 0;
- source.sourceClassID = 5;
- source.listConnectionFormats.push_back(CF_GENIVI_STEREO);
- source.listConnectionFormats.push_back(CF_GENIVI_MONO);
-
- gwSource.domainID = domainID2;
- gwSource.name = "gwsource1";
- gwSource.sourceState = SS_ON;
- gwSource.sourceID = 0;
- gwSource.sourceClassID = 5;
- gwSource.listConnectionFormats.push_back(CF_GENIVI_MONO);
- gwSource.listConnectionFormats.push_back(CF_GENIVI_STEREO);
- gwSource.listConnectionFormats.push_back(CF_GENIVI_ANALOG);
-
- gwSource1.domainID = domainID3;
- gwSource1.name = "gwsource2";
- gwSource1.sourceState = SS_ON;
- gwSource1.sourceID = 0;
- gwSource1.sourceClassID = 5;
- gwSource1.listConnectionFormats.push_back(CF_GENIVI_STEREO);
- gwSource1.listConnectionFormats.push_back(CF_GENIVI_MONO);
-
- ASSERT_EQ(E_OK, pDatabaseHandler.enterSourceDB(source,sourceID));
- ASSERT_EQ(E_OK, pDatabaseHandler.enterSourceDB(gwSource,gwSourceID));
- ASSERT_EQ(E_OK, pDatabaseHandler.enterSourceDB(gwSource1,gwSourceID1));
-
- am_Sink_s sink, gwSink, gwSink1;
- am_sinkID_t sinkID, gwSinkID, gwSinkID1;
-
- sink.domainID = domainID3;
- sink.name = "sink1";
- sink.sinkID = 0;
- sink.sinkClassID = 5;
- sink.muteState = MS_MUTED;
- sink.listConnectionFormats.push_back(CF_GENIVI_MONO);
-
- gwSink.domainID = domainID1;
- gwSink.name = "gwSink";
- gwSink.sinkID = 0;
- gwSink.sinkClassID = 5;
- gwSink.muteState = MS_MUTED;
- gwSink.listConnectionFormats.push_back(CF_GENIVI_STEREO);
- gwSink.listConnectionFormats.push_back(CF_GENIVI_MONO);
-
- gwSink1.domainID = domainID2;
- gwSink1.name = "gwSink1";
- gwSink1.sinkID = 0;
- gwSink1.sinkClassID = 5;
- gwSink1.muteState = MS_MUTED;
- gwSink1.listConnectionFormats.push_back(CF_GENIVI_ANALOG);
- gwSink1.listConnectionFormats.push_back(CF_GENIVI_STEREO);
-
- ASSERT_EQ(E_OK, pDatabaseHandler.enterSinkDB(sink,sinkID));
- ASSERT_EQ(E_OK, pDatabaseHandler.enterSinkDB(gwSink,gwSinkID));
- ASSERT_EQ(E_OK, pDatabaseHandler.enterSinkDB(gwSink1,gwSinkID1));
-
- am_Gateway_s gateway, gateway1;
- am_gatewayID_t gatewayID, gatewayID1;
-
- gateway.controlDomainID = domainID1;
- gateway.gatewayID = 0;
- gateway.sinkID = gwSinkID;
- gateway.sourceID = gwSourceID;
- gateway.domainSourceID = domainID2;
- gateway.domainSinkID = domainID1;
- gateway.listSinkFormats = gwSink.listConnectionFormats;
- gateway.listSourceFormats = gwSource.listConnectionFormats;
- gateway.convertionMatrix.push_back(false);
- gateway.convertionMatrix.push_back(false);
- gateway.convertionMatrix.push_back(false);
- gateway.convertionMatrix.push_back(true);
- gateway.convertionMatrix.push_back(true);
- gateway.convertionMatrix.push_back(false);
- gateway.name = "gateway";
-
- gateway1.controlDomainID = domainID2;
- gateway1.gatewayID = 0;
- gateway1.sinkID = gwSinkID1;
- gateway1.sourceID = gwSourceID1;
- gateway1.domainSourceID = domainID3;
- gateway1.domainSinkID = domainID2;
- gateway1.listSinkFormats = gwSink1.listConnectionFormats;
- gateway1.listSourceFormats = gwSource1.listConnectionFormats;
- gateway1.convertionMatrix.push_back(false);
- gateway1.convertionMatrix.push_back(false);
- gateway1.convertionMatrix.push_back(false);
- gateway1.convertionMatrix.push_back(true);
- gateway1.name = "gateway1";
-
- ASSERT_EQ(E_OK, pDatabaseHandler.enterGatewayDB(gateway,gatewayID));
- ASSERT_EQ(E_OK, pDatabaseHandler.enterGatewayDB(gateway1,gatewayID1));
-
- std::vector<am_Route_s> listRoutes;
- std::vector<am_RoutingElement_s> listRoutingElements;
- am_RoutingElement_s hopp1;
- am_RoutingElement_s hopp2;
- am_RoutingElement_s hopp3;
-
- hopp1.sourceID = sourceID;
- hopp1.sinkID = gwSinkID;
- hopp1.domainID = domainID1;
- hopp1.connectionFormat = source.listConnectionFormats[1];
-
- hopp2.sourceID = gwSourceID;
- hopp2.sinkID = gwSinkID1;
- hopp2.domainID = domainID2;
- hopp2.connectionFormat = gwSink1.listConnectionFormats[1];
-
- hopp3.sourceID = gwSourceID1;
- hopp3.sinkID = sinkID;
- hopp3.domainID = domainID3;
- hopp3.connectionFormat = sink.listConnectionFormats[0];
-
- listRoutingElements.push_back(hopp1);
- listRoutingElements.push_back(hopp2);
- listRoutingElements.push_back(hopp3);
-
- am_Route_s compareRoute;
- compareRoute.route = listRoutingElements;
- compareRoute.sinkID = sinkID;
- compareRoute.sourceID = sourceID;
-
- ASSERT_EQ(E_OK, pRouter.getRoute(false,sourceID,sinkID,listRoutes));
- ASSERT_EQ(static_cast<uint>(1), listRoutes.size());
- ASSERT_TRUE(pCF.compareRoute(compareRoute,listRoutes[0]));
-}
-
-//test that checks 3 domains, one sink one source, longer lists of connectionformats.
-TEST_F(CAmRouterTest,simpleRoute3DomainsListConnectionFormats_1)
-{
- EXPECT_CALL(pMockControlInterface,getConnectionFormatChoice(_,_,_,_,_)).WillRepeatedly(DoAll(returnConnectionFormat(), Return(E_OK)));
-
- //initialize 2 domains
- am_Domain_s domain1, domain2, domain3;
- am_domainID_t domainID1, domainID2, domainID3;
-
- domain1.domainID = 0;
- domain1.name = "domain1";
- domain1.busname = "domain1bus";
- domain1.state = DS_CONTROLLED;
- domain2.domainID = 0;
- domain2.name = "domain2";
- domain2.busname = "domain2bus";
- domain2.state = DS_CONTROLLED;
- domain3.domainID = 0;
- domain3.name = "domain3";
- domain3.busname = "domain3bus";
- domain3.state = DS_CONTROLLED;
-
- ASSERT_EQ(E_OK, pDatabaseHandler.enterDomainDB(domain1,domainID1));
- ASSERT_EQ(E_OK, pDatabaseHandler.enterDomainDB(domain2,domainID2));
- ASSERT_EQ(E_OK, pDatabaseHandler.enterDomainDB(domain3,domainID3));
-
- am_Source_s source, gwSource, gwSource1;
- am_sourceID_t sourceID, gwSourceID, gwSourceID1;
-
- source.domainID = domainID1;
- source.name = "source1";
- source.sourceState = SS_ON;
- source.sourceID = 0;
- source.sourceClassID = 5;
- source.listConnectionFormats.push_back(CF_GENIVI_STEREO);
- source.listConnectionFormats.push_back(CF_GENIVI_MONO);
-
- gwSource.domainID = domainID2;
- gwSource.name = "gwsource1";
- gwSource.sourceState = SS_ON;
- gwSource.sourceID = 0;
- gwSource.sourceClassID = 5;
- gwSource.listConnectionFormats.push_back(CF_GENIVI_STEREO);
- gwSource.listConnectionFormats.push_back(CF_GENIVI_MONO);
- gwSource.listConnectionFormats.push_back(CF_GENIVI_ANALOG);
-
- gwSource1.domainID = domainID3;
- gwSource1.name = "gwsource2";
- gwSource1.sourceState = SS_ON;
- gwSource1.sourceID = 0;
- gwSource1.sourceClassID = 5;
- gwSource1.listConnectionFormats.push_back(CF_GENIVI_MONO);
-
- ASSERT_EQ(E_OK, pDatabaseHandler.enterSourceDB(source,sourceID));
- ASSERT_EQ(E_OK, pDatabaseHandler.enterSourceDB(gwSource,gwSourceID));
- ASSERT_EQ(E_OK, pDatabaseHandler.enterSourceDB(gwSource1,gwSourceID1));
-
- am_Sink_s sink, gwSink, gwSink1;
- am_sinkID_t sinkID, gwSinkID, gwSinkID1;
-
- sink.domainID = domainID3;
- sink.name = "sink1";
- sink.sinkID = 0;
- sink.sinkClassID = 5;
- sink.muteState = MS_MUTED;
- sink.listConnectionFormats.push_back(CF_GENIVI_MONO);
-
- gwSink.domainID = domainID1;
- gwSink.name = "gwSink";
- gwSink.sinkID = 0;
- gwSink.sinkClassID = 5;
- gwSink.muteState = MS_MUTED;
- gwSink.listConnectionFormats.push_back(CF_GENIVI_STEREO);
- gwSink.listConnectionFormats.push_back(CF_GENIVI_MONO);
-
- gwSink1.domainID = domainID2;
- gwSink1.name = "gwSink1";
- gwSink1.sinkID = 0;
- gwSink1.sinkClassID = 5;
- gwSink1.muteState = MS_MUTED;
- gwSink1.listConnectionFormats.push_back(CF_GENIVI_ANALOG);
-
- ASSERT_EQ(E_OK, pDatabaseHandler.enterSinkDB(sink,sinkID));
- ASSERT_EQ(E_OK, pDatabaseHandler.enterSinkDB(gwSink,gwSinkID));
- ASSERT_EQ(E_OK, pDatabaseHandler.enterSinkDB(gwSink1,gwSinkID1));
-
- am_Gateway_s gateway, gateway1;
- am_gatewayID_t gatewayID, gatewayID1;
-
- gateway.controlDomainID = domainID1;
- gateway.gatewayID = 0;
- gateway.sinkID = gwSinkID;
- gateway.sourceID = gwSourceID;
- gateway.domainSourceID = domainID2;
- gateway.domainSinkID = domainID1;
- gateway.listSinkFormats = gwSink.listConnectionFormats;
- gateway.listSourceFormats = gwSource.listConnectionFormats;
- gateway.convertionMatrix.push_back(false);
- gateway.convertionMatrix.push_back(false);
- gateway.convertionMatrix.push_back(false);
- gateway.convertionMatrix.push_back(false);
- gateway.convertionMatrix.push_back(true);
- gateway.convertionMatrix.push_back(false);
- gateway.name = "gateway";
-
- gateway1.controlDomainID = domainID2;
- gateway1.gatewayID = 0;
- gateway1.sinkID = gwSinkID1;
- gateway1.sourceID = gwSourceID1;
- gateway1.domainSourceID = domainID3;
- gateway1.domainSinkID = domainID2;
- gateway1.listSinkFormats = gwSink1.listConnectionFormats;
- gateway1.listSourceFormats = gwSource1.listConnectionFormats;
- gateway1.convertionMatrix.push_back(true);
- gateway1.name = "gateway";
-
- ASSERT_EQ(E_OK, pDatabaseHandler.enterGatewayDB(gateway,gatewayID));
- ASSERT_EQ(E_OK, pDatabaseHandler.enterGatewayDB(gateway1,gatewayID1));
-
- std::vector<am_Route_s> listRoutes;
- std::vector<am_RoutingElement_s> listRoutingElements;
- am_RoutingElement_s hopp1;
- am_RoutingElement_s hopp2;
- am_RoutingElement_s hopp3;
-
- hopp1.sourceID = sourceID;
- hopp1.sinkID = gwSinkID;
- hopp1.domainID = domainID1;
- hopp1.connectionFormat = source.listConnectionFormats[0];
-
- hopp2.sourceID = gwSourceID;
- hopp2.sinkID = gwSinkID1;
- hopp2.domainID = domainID2;
- hopp2.connectionFormat = gwSink1.listConnectionFormats[0];
-
- hopp3.sourceID = gwSourceID1;
- hopp3.sinkID = sinkID;
- hopp3.domainID = domainID3;
- hopp3.connectionFormat = sink.listConnectionFormats[0];
-
- listRoutingElements.push_back(hopp1);
- listRoutingElements.push_back(hopp2);
- listRoutingElements.push_back(hopp3);
-
- am_Route_s compareRoute;
- compareRoute.route = listRoutingElements;
- compareRoute.sinkID = sinkID;
- compareRoute.sourceID = sourceID;
-
- ASSERT_EQ(E_OK, pRouter.getRoute(false,sourceID,sinkID,listRoutes));
- ASSERT_EQ(static_cast<uint>(1), listRoutes.size());
- ASSERT_TRUE(pCF.compareRoute(compareRoute,listRoutes[0]));
-}
-
-
-//test that checks 3 domains, one sink one source, longer lists of connectionformats.
-TEST_F(CAmRouterTest,simpleRoute3DomainsListConnectionFormats)
-{
- EXPECT_CALL(pMockControlInterface,getConnectionFormatChoice(_,_,_,_,_)).WillRepeatedly(DoAll(returnConnectionFormat(), Return(E_OK)));
-
- //initialize 2 domains
- am_Domain_s domain1, domain2, domain3;
- am_domainID_t domainID1, domainID2, domainID3;
-
- domain1.domainID = 0;
- domain1.name = "domain1";
- domain1.busname = "domain1bus";
- domain1.state = DS_CONTROLLED;
- domain2.domainID = 0;
- domain2.name = "domain2";
- domain2.busname = "domain2bus";
- domain2.state = DS_CONTROLLED;
- domain3.domainID = 0;
- domain3.name = "domain3";
- domain3.busname = "domain3bus";
- domain3.state = DS_CONTROLLED;
-
- ASSERT_EQ(E_OK, pDatabaseHandler.enterDomainDB(domain1,domainID1));
- ASSERT_EQ(E_OK, pDatabaseHandler.enterDomainDB(domain2,domainID2));
- ASSERT_EQ(E_OK, pDatabaseHandler.enterDomainDB(domain3,domainID3));
-
- am_Source_s source, gwSource, gwSource1;
- am_sourceID_t sourceID, gwSourceID, gwSourceID1;
-
- source.domainID = domainID1;
- source.name = "source1";
- source.sourceState = SS_ON;
- source.sourceID = 0;
- source.sourceClassID = 5;
- source.listConnectionFormats.push_back(CF_GENIVI_STEREO);
- source.listConnectionFormats.push_back(CF_GENIVI_MONO);
-
- gwSource.domainID = domainID2;
- gwSource.name = "gwsource1";
- gwSource.sourceState = SS_ON;
- gwSource.sourceID = 0;
- gwSource.sourceClassID = 5;
- gwSource.listConnectionFormats.push_back(CF_GENIVI_ANALOG);
-
- gwSource1.domainID = domainID3;
- gwSource1.name = "gwsource2";
- gwSource1.sourceState = SS_ON;
- gwSource1.sourceID = 0;
- gwSource1.sourceClassID = 5;
- gwSource1.listConnectionFormats.push_back(CF_GENIVI_MONO);
-
- ASSERT_EQ(E_OK, pDatabaseHandler.enterSourceDB(source,sourceID));
- ASSERT_EQ(E_OK, pDatabaseHandler.enterSourceDB(gwSource,gwSourceID));
- ASSERT_EQ(E_OK, pDatabaseHandler.enterSourceDB(gwSource1,gwSourceID1));
-
- am_Sink_s sink, gwSink, gwSink1;
- am_sinkID_t sinkID, gwSinkID, gwSinkID1;
-
- sink.domainID = domainID3;
- sink.name = "sink1";
- sink.sinkID = 0;
- sink.sinkClassID = 5;
- sink.muteState = MS_MUTED;
- sink.listConnectionFormats.push_back(CF_GENIVI_MONO);
-
- gwSink.domainID = domainID1;
- gwSink.name = "gwSink";
- gwSink.sinkID = 0;
- gwSink.sinkClassID = 5;
- gwSink.muteState = MS_MUTED;
- gwSink.listConnectionFormats.push_back(CF_GENIVI_STEREO);
- gwSink.listConnectionFormats.push_back(CF_GENIVI_MONO);
-
- gwSink1.domainID = domainID2;
- gwSink1.name = "gwSink1";
- gwSink1.sinkID = 0;
- gwSink1.sinkClassID = 5;
- gwSink1.muteState = MS_MUTED;
- gwSink1.listConnectionFormats.push_back(CF_GENIVI_ANALOG);
-
- ASSERT_EQ(E_OK, pDatabaseHandler.enterSinkDB(sink,sinkID));
- ASSERT_EQ(E_OK, pDatabaseHandler.enterSinkDB(gwSink,gwSinkID));
- ASSERT_EQ(E_OK, pDatabaseHandler.enterSinkDB(gwSink1,gwSinkID1));
-
- am_Gateway_s gateway, gateway1;
- am_gatewayID_t gatewayID, gatewayID1;
-
- gateway.controlDomainID = domainID1;
- gateway.gatewayID = 0;
- gateway.sinkID = gwSinkID;
- gateway.sourceID = gwSourceID;
- gateway.domainSourceID = domainID2;
- gateway.domainSinkID = domainID1;
- gateway.listSinkFormats = gwSink.listConnectionFormats;
- gateway.listSourceFormats = gwSource.listConnectionFormats;
- gateway.convertionMatrix.push_back(false);
- gateway.convertionMatrix.push_back(true);
- gateway.name = "gateway";
-
- gateway1.controlDomainID = domainID2;
- gateway1.gatewayID = 0;
- gateway1.sinkID = gwSinkID1;
- gateway1.sourceID = gwSourceID1;
- gateway1.domainSourceID = domainID3;
- gateway1.domainSinkID = domainID2;
- gateway1.listSinkFormats = gwSink1.listConnectionFormats;
- gateway1.listSourceFormats = gwSource1.listConnectionFormats;
- gateway1.convertionMatrix.push_back(true);
- gateway1.name = "gateway";
-
- ASSERT_EQ(E_OK, pDatabaseHandler.enterGatewayDB(gateway,gatewayID));
- ASSERT_EQ(E_OK, pDatabaseHandler.enterGatewayDB(gateway1,gatewayID1));
-
- std::vector<am_Route_s> listRoutes;
- std::vector<am_RoutingElement_s> listRoutingElements;
- am_RoutingElement_s hopp1;
- am_RoutingElement_s hopp2;
- am_RoutingElement_s hopp3;
-
- hopp1.sourceID = sourceID;
- hopp1.sinkID = gwSinkID;
- hopp1.domainID = domainID1;
- hopp1.connectionFormat = source.listConnectionFormats[1];
-
- hopp2.sourceID = gwSourceID;
- hopp2.sinkID = gwSinkID1;
- hopp2.domainID = domainID2;
- hopp2.connectionFormat = gwSink1.listConnectionFormats[0];
-
- hopp3.sourceID = gwSourceID1;
- hopp3.sinkID = sinkID;
- hopp3.domainID = domainID3;
- hopp3.connectionFormat = sink.listConnectionFormats[0];
-
- listRoutingElements.push_back(hopp1);
- listRoutingElements.push_back(hopp2);
- listRoutingElements.push_back(hopp3);
-
- am_Route_s compareRoute;
- compareRoute.route = listRoutingElements;
- compareRoute.sinkID = sinkID;
- compareRoute.sourceID = sourceID;
-
- ASSERT_EQ(E_OK, pRouter.getRoute(false,sourceID,sinkID,listRoutes));
- ASSERT_EQ(static_cast<uint>(1), listRoutes.size());
- ASSERT_TRUE(pCF.compareRoute(compareRoute,listRoutes[0]));
-}
-
-
-//test that checks 4 domains, one sink and one source but there are 2 routes because there are 2 gateways
-TEST_F(CAmRouterTest,simpleRoute4Domains2Routes)
-{
- EXPECT_CALL(pMockControlInterface,getConnectionFormatChoice(_,_,_,_,_)).WillRepeatedly(DoAll(returnConnectionFormat(), Return(E_OK)));
-
- //initialize 2 domains
- am_Domain_s domain1, domain2, domain3, domain4;
- am_domainID_t domainID1, domainID2, domainID3, domainID4;
-
- domain1.domainID = 0;
- domain1.name = "domain1";
- domain1.busname = "domain1bus";
- domain1.state = DS_CONTROLLED;
- domain2.domainID = 0;
- domain2.name = "domain2";
- domain2.busname = "domain2bus";
- domain2.state = DS_CONTROLLED;
- domain3.domainID = 0;
- domain3.name = "domain3";
- domain3.busname = "domain3bus";
- domain3.state = DS_CONTROLLED;
- domain4.domainID = 0;
- domain4.name = "domain4";
- domain4.busname = "domain4bus";
- domain4.state = DS_CONTROLLED;
-
- ASSERT_EQ(E_OK, pDatabaseHandler.enterDomainDB(domain1,domainID1));
- ASSERT_EQ(E_OK, pDatabaseHandler.enterDomainDB(domain2,domainID2));
- ASSERT_EQ(E_OK, pDatabaseHandler.enterDomainDB(domain3,domainID3));
- ASSERT_EQ(E_OK, pDatabaseHandler.enterDomainDB(domain4,domainID4));
-
- am_Source_s source, gwSource, gwSource1, gwSource2, gwSource3;
- am_sourceID_t sourceID, gwSourceID, gwSourceID1, gwSourceID2, gwSourceID3;
-
- source.domainID = domainID1;
- source.name = "source1";
- source.sourceState = SS_ON;
- source.sourceID = 0;
- source.sourceClassID = 5;
- source.listConnectionFormats.push_back(CF_GENIVI_MONO);
-
- gwSource.domainID = domainID2;
- gwSource.name = "gwsource1";
- gwSource.sourceState = SS_ON;
- gwSource.sourceID = 0;
- gwSource.sourceClassID = 5;
- gwSource.listConnectionFormats.push_back(CF_GENIVI_ANALOG);
-
- gwSource1.domainID = domainID3;
- gwSource1.name = "gwsource2";
- gwSource1.sourceState = SS_ON;
- gwSource1.sourceID = 0;
- gwSource1.sourceClassID = 5;
- gwSource1.listConnectionFormats.push_back(CF_GENIVI_MONO);
-
- gwSource2.domainID = domainID4;
- gwSource2.name = "gwsource3";
- gwSource2.sourceState = SS_OFF;
- gwSource2.sourceID = 0;
- gwSource2.sourceClassID = 5;
- gwSource2.listConnectionFormats.push_back(CF_GENIVI_STEREO);
-
- gwSource3.domainID = domainID3;
- gwSource3.name = "gwsource4";
- gwSource3.sourceState = SS_OFF;
- gwSource3.sourceID = 0;
- gwSource3.sourceClassID = 5;
- gwSource3.listConnectionFormats.push_back(CF_GENIVI_MONO);
-
- ASSERT_EQ(E_OK, pDatabaseHandler.enterSourceDB(source,sourceID));
- ASSERT_EQ(E_OK, pDatabaseHandler.enterSourceDB(gwSource,gwSourceID));
- ASSERT_EQ(E_OK, pDatabaseHandler.enterSourceDB(gwSource1,gwSourceID1));
- ASSERT_EQ(E_OK, pDatabaseHandler.enterSourceDB(gwSource2,gwSourceID2));
- ASSERT_EQ(E_OK, pDatabaseHandler.enterSourceDB(gwSource3,gwSourceID3));
-
- am_Sink_s sink, gwSink, gwSink1, gwSink2, gwSink3;
- am_sinkID_t sinkID, gwSinkID, gwSinkID1, gwSinkID2, gwSinkID3;
-
- gwSink.domainID = domainID1;
- gwSink.name = "gwSink";
- gwSink.sinkID = 0;
- gwSink.sinkClassID = 5;
- gwSink.muteState = MS_MUTED;
- gwSink.listConnectionFormats.push_back(CF_GENIVI_MONO);
-
- gwSink1.domainID = domainID2;
- gwSink1.name = "gwSink1";
- gwSink1.sinkID = 0;
- gwSink1.sinkClassID = 5;
- gwSink1.muteState = MS_MUTED;
- gwSink1.listConnectionFormats.push_back(CF_GENIVI_ANALOG);
-
- gwSink2.domainID = domainID3;
- gwSink2.name = "gwSink2";
- gwSink2.sinkID = 0;
- gwSink2.sinkClassID = 5;
- gwSink2.muteState = MS_MUTED;
- gwSink2.listConnectionFormats.push_back(CF_GENIVI_MONO);
-
- gwSink3.domainID = domainID2;
- gwSink3.name = "gwSink3";
- gwSink3.sinkID = 0;
- gwSink3.sinkClassID = 5;
- gwSink3.muteState = MS_MUTED;
- gwSink3.listConnectionFormats.push_back(CF_GENIVI_ANALOG);
-
- sink.domainID = domainID4;
- sink.name = "sink1";
- sink.sinkID = 0;
- sink.sinkClassID = 5;
- sink.muteState = MS_MUTED;
- sink.listConnectionFormats.push_back(CF_GENIVI_STEREO);
-
- ASSERT_EQ(E_OK, pDatabaseHandler.enterSinkDB(sink,sinkID));
- ASSERT_EQ(E_OK, pDatabaseHandler.enterSinkDB(gwSink,gwSinkID));
- ASSERT_EQ(E_OK, pDatabaseHandler.enterSinkDB(gwSink1,gwSinkID1));
- ASSERT_EQ(E_OK, pDatabaseHandler.enterSinkDB(gwSink2,gwSinkID2));
- ASSERT_EQ(E_OK, pDatabaseHandler.enterSinkDB(gwSink3,gwSinkID3));
-
- am_Gateway_s gateway, gateway1, gateway2, gateway3;
- am_gatewayID_t gatewayID, gatewayID1, gatewayID2, gatewayID3;
-
- gateway.controlDomainID = domainID1;
- gateway.gatewayID = 0;
- gateway.sinkID = gwSinkID;
- gateway.sourceID = gwSourceID;
- gateway.domainSourceID = domainID2;
- gateway.domainSinkID = domainID1;
- gateway.listSinkFormats = gwSink.listConnectionFormats;
- gateway.listSourceFormats = gwSource.listConnectionFormats;
- gateway.convertionMatrix.push_back(true);
- gateway.name = "gateway";
-
- gateway1.controlDomainID = domainID2;
- gateway1.gatewayID = 0;
- gateway1.sinkID = gwSinkID1;
- gateway1.sourceID = gwSourceID1;
- gateway1.domainSourceID = domainID3;
- gateway1.domainSinkID = domainID2;
- gateway1.listSinkFormats = gwSink1.listConnectionFormats;
- gateway1.listSourceFormats = gwSource1.listConnectionFormats;
- gateway1.convertionMatrix.push_back(true);
- gateway1.name = "gateway1";
-
- gateway2.controlDomainID = domainID3;
- gateway2.gatewayID = 0;
- gateway2.sinkID = gwSinkID2;
- gateway2.sourceID = gwSourceID2;
- gateway2.domainSourceID = domainID4;
- gateway2.domainSinkID = domainID3;
- gateway2.listSinkFormats = gwSink2.listConnectionFormats;
- gateway2.listSourceFormats = gwSource2.listConnectionFormats;
- gateway2.convertionMatrix.push_back(true);
- gateway2.name = "gateway2";
-
- gateway3.controlDomainID = domainID2;
- gateway3.gatewayID = 0;
- gateway3.sinkID = gwSinkID3;
- gateway3.sourceID = gwSourceID3;
- gateway3.domainSourceID = domainID3;
- gateway3.domainSinkID = domainID2;
- gateway3.listSinkFormats = gwSink3.listConnectionFormats;
- gateway3.listSourceFormats = gwSource3.listConnectionFormats;
- gateway3.convertionMatrix.push_back(true);
- gateway3.name = "gateway3";
-
- ASSERT_EQ(E_OK, pDatabaseHandler.enterGatewayDB(gateway,gatewayID));
- ASSERT_EQ(E_OK, pDatabaseHandler.enterGatewayDB(gateway1,gatewayID1));
- ASSERT_EQ(E_OK, pDatabaseHandler.enterGatewayDB(gateway2,gatewayID2));
- ASSERT_EQ(E_OK, pDatabaseHandler.enterGatewayDB(gateway3,gatewayID3));
-
- std::vector<am_Route_s> listRoutes;
- std::vector<am_RoutingElement_s> listRoutingElements, listRoutingElements1;
- am_RoutingElement_s hopp1;
- am_RoutingElement_s hopp2;
- am_RoutingElement_s hopp3;
- am_RoutingElement_s hopp4;
- am_RoutingElement_s hopp2alt;
- am_RoutingElement_s hopp3alt;
-
- hopp1.sourceID = sourceID;
- hopp1.sinkID = gwSinkID;
- hopp1.domainID = domainID1;
- hopp1.connectionFormat = source.listConnectionFormats[0];
-
- hopp2.sourceID = gwSourceID;
- hopp2.sinkID = gwSinkID1;
- hopp2.domainID = domainID2;
- hopp2.connectionFormat = gwSink1.listConnectionFormats[0];
-
- hopp3.sourceID = gwSourceID1;
- hopp3.sinkID = gwSinkID2;
- hopp3.domainID = domainID3;
- hopp3.connectionFormat = gwSink2.listConnectionFormats[0];
-
- hopp4.sourceID = gwSourceID2;
- hopp4.sinkID = sinkID;
- hopp4.domainID = domainID4;
- hopp4.connectionFormat = sink.listConnectionFormats[0];
-
- hopp2alt.sourceID = gwSourceID;
- hopp2alt.sinkID = gwSinkID3;
- hopp2alt.domainID = domainID2;
- hopp2alt.connectionFormat = gwSink3.listConnectionFormats[0];
-
- hopp3alt.sourceID = gwSourceID3;
- hopp3alt.sinkID = gwSinkID2;
- hopp3alt.domainID = domainID3;
- hopp3alt.connectionFormat = gwSink2.listConnectionFormats[0];
-
- listRoutingElements.push_back(hopp1);
- listRoutingElements.push_back(hopp2);
- listRoutingElements.push_back(hopp3);
- listRoutingElements.push_back(hopp4);
- listRoutingElements1.push_back(hopp1);
- listRoutingElements1.push_back(hopp2alt);
- listRoutingElements1.push_back(hopp3alt);
- listRoutingElements1.push_back(hopp4);
-
- am_Route_s compareRoute, compareRoute1;
- compareRoute.route = listRoutingElements;
- compareRoute.sinkID = sinkID;
- compareRoute.sourceID = sourceID;
-
- compareRoute1.route = listRoutingElements1;
- compareRoute1.sinkID = sinkID;
- compareRoute1.sourceID = sourceID;
-
- ASSERT_EQ(E_OK, pRouter.getRoute(false,sourceID,sinkID,listRoutes));
- ASSERT_EQ(static_cast<uint>(2), listRoutes.size());
- ASSERT_TRUE(pCF.compareRoute(compareRoute,listRoutes[0]) || pCF.compareRoute(compareRoute,listRoutes[1]) );
- ASSERT_TRUE(pCF.compareRoute(compareRoute1,listRoutes[1]) || pCF.compareRoute(compareRoute1,listRoutes[0]) );
-}
-
-//test that checks 3 domains, one sink one source but the connectionformat of third domains do not fit.
-TEST_F(CAmRouterTest,simpleRoute3DomainsNoConnection)
-{
-
- EXPECT_CALL(pMockControlInterface,getConnectionFormatChoice(_,_,_,_,_)).WillRepeatedly(DoAll(returnConnectionFormat(), Return(E_OK)));
-
- //initialize 2 domains
- am_Domain_s domain1, domain2, domain3;
- am_domainID_t domainID1, domainID2, domainID3;
-
- domain1.domainID = 0;
- domain1.name = "domain1";
- domain1.busname = "domain1bus";
- domain1.state = DS_CONTROLLED;
- domain2.domainID = 0;
- domain2.name = "domain2";
- domain2.busname = "domain2bus";
- domain2.state = DS_CONTROLLED;
- domain3.domainID = 0;
- domain3.name = "domain3";
- domain3.busname = "domain3bus";
- domain3.state = DS_CONTROLLED;
-
- ASSERT_EQ(E_OK, pDatabaseHandler.enterDomainDB(domain1,domainID1));
- ASSERT_EQ(E_OK, pDatabaseHandler.enterDomainDB(domain2,domainID2));
- ASSERT_EQ(E_OK, pDatabaseHandler.enterDomainDB(domain3,domainID3));
-
- am_Source_s source, gwSource, gwSource1;
- am_sourceID_t sourceID, gwSourceID, gwSourceID1;
-
- source.domainID = domainID1;
- source.name = "source1";
- source.sourceState = SS_ON;
- source.sourceID = 0;
- source.sourceClassID = 5;
- source.listConnectionFormats.push_back(CF_GENIVI_MONO);
-
- gwSource.domainID = domainID2;
- gwSource.name = "gwsource1";
- gwSource.sourceState = SS_ON;
- gwSource.sourceID = 0;
- gwSource.sourceClassID = 5;
- gwSource.listConnectionFormats.push_back(CF_GENIVI_ANALOG);
-
- gwSource1.domainID = domainID3;
- gwSource1.name = "gwsource2";
- gwSource1.sourceState = SS_ON;
- gwSource1.sourceID = 0;
- gwSource1.sourceClassID = 5;
- gwSource1.listConnectionFormats.push_back(CF_GENIVI_MONO);
-
- ASSERT_EQ(E_OK, pDatabaseHandler.enterSourceDB(source,sourceID));
- ASSERT_EQ(E_OK, pDatabaseHandler.enterSourceDB(gwSource,gwSourceID));
- ASSERT_EQ(E_OK, pDatabaseHandler.enterSourceDB(gwSource1,gwSourceID1));
-
- am_Sink_s sink, gwSink, gwSink1;
- am_sinkID_t sinkID, gwSinkID, gwSinkID1;
-
- sink.domainID = domainID3;
- sink.name = "sink1";
- sink.sinkID = 0;
- sink.sinkClassID = 5;
- sink.muteState = MS_MUTED;
- sink.listConnectionFormats.push_back(CF_GENIVI_STEREO);
-
- gwSink.domainID = domainID1;
- gwSink.name = "gwSink";
- gwSink.sinkID = 0;
- gwSink.sinkClassID = 5;
- gwSink.muteState = MS_MUTED;
- gwSink.listConnectionFormats.push_back(CF_GENIVI_MONO);
-
- gwSink1.domainID = domainID2;
- gwSink1.name = "gwSink1";
- gwSink1.sinkID = 0;
- gwSink1.sinkClassID = 5;
- gwSink1.muteState = MS_MUTED;
- gwSink1.listConnectionFormats.push_back(CF_GENIVI_ANALOG);
-
- ASSERT_EQ(E_OK, pDatabaseHandler.enterSinkDB(sink,sinkID));
- ASSERT_EQ(E_OK, pDatabaseHandler.enterSinkDB(gwSink,gwSinkID));
- ASSERT_EQ(E_OK, pDatabaseHandler.enterSinkDB(gwSink1,gwSinkID1));
-
- am_Gateway_s gateway, gateway1;
- am_gatewayID_t gatewayID, gatewayID1;
-
- gateway.controlDomainID = domainID1;
- gateway.gatewayID = 0;
- gateway.sinkID = gwSinkID;
- gateway.sourceID = gwSourceID;
- gateway.domainSourceID = domainID2;
- gateway.domainSinkID = domainID1;
- gateway.listSinkFormats = gwSink.listConnectionFormats;
- gateway.listSourceFormats = gwSource.listConnectionFormats;
- gateway.convertionMatrix.push_back(true);
- gateway.name = "gateway";
-
- gateway1.controlDomainID = domainID2;
- gateway1.gatewayID = 0;
- gateway1.sinkID = gwSinkID1;
- gateway1.sourceID = gwSourceID1;
- gateway1.domainSourceID = domainID3;
- gateway1.domainSinkID = domainID2;
- gateway1.listSinkFormats = gwSink1.listConnectionFormats;
- gateway1.listSourceFormats = gwSource1.listConnectionFormats;
- gateway1.convertionMatrix.push_back(true);
- gateway1.name = "gateway";
-
- ASSERT_EQ(E_OK, pDatabaseHandler.enterGatewayDB(gateway,gatewayID));
- ASSERT_EQ(E_OK, pDatabaseHandler.enterGatewayDB(gateway1,gatewayID1));
-
- std::vector<am_Route_s> listRoutes;
- std::vector<am_RoutingElement_s> listRoutingElements;
- am_RoutingElement_s hopp1;
- am_RoutingElement_s hopp2;
- am_RoutingElement_s hopp3;
-
- hopp1.sourceID = sourceID;
- hopp1.sinkID = gwSinkID;
- hopp1.domainID = domainID1;
- hopp1.connectionFormat = source.listConnectionFormats[0];
-
- hopp2.sourceID = gwSourceID;
- hopp2.sinkID = gwSinkID1;
- hopp2.domainID = domainID2;
- hopp2.connectionFormat = gwSink1.listConnectionFormats[0];
-
- hopp3.sourceID = gwSourceID1;
- hopp3.sinkID = sinkID;
- hopp3.domainID = domainID3;
- hopp3.connectionFormat = sink.listConnectionFormats[0];
-
- listRoutingElements.push_back(hopp1);
- listRoutingElements.push_back(hopp2);
- listRoutingElements.push_back(hopp3);
-
- am_Route_s compareRoute;
- compareRoute.route = listRoutingElements;
- compareRoute.sinkID = sinkID;
- compareRoute.sourceID = sourceID;
-
- ASSERT_EQ(E_OK, pRouter.getRoute(false,sourceID,sinkID,listRoutes));
- ASSERT_EQ(static_cast<uint>(0), listRoutes.size());
-}
-//test that checks just 2 domains, one sink one source with only one connection format each
-TEST_F(CAmRouterTest,simpleRoute2Domains)
-{
-
-
- EXPECT_CALL(pMockControlInterface,getConnectionFormatChoice(_,_,_,_,_)).WillRepeatedly(DoAll(returnConnectionFormat(), Return(E_OK)));
-
- //initialize 2 domains
- am_Domain_s domain1, domain2;
- am_domainID_t domainID1, domainID2;
-
- domain1.domainID = 0;
- domain1.name = "domain1";
- domain1.busname = "domain1bus";
- domain1.state = DS_CONTROLLED;
- domain2.domainID = 0;
- domain2.name = "domain2";
- domain2.busname = "domain2bus";
- domain2.state = DS_CONTROLLED;
-
- ASSERT_EQ(E_OK, pDatabaseHandler.enterDomainDB(domain1,domainID1));
- ASSERT_EQ(E_OK, pDatabaseHandler.enterDomainDB(domain2,domainID2));
-
- am_Source_s source, gwSource;
- am_sourceID_t sourceID, gwSourceID;
-
- source.domainID = domainID1;
- source.name = "source1";
- source.sourceState = SS_ON;
- source.sourceID = 0;
- source.sourceClassID = 5;
- source.listConnectionFormats.push_back(CF_GENIVI_ANALOG);
-
- gwSource.domainID = domainID2;
- gwSource.name = "gwsource1";
- gwSource.sourceState = SS_ON;
- gwSource.sourceID = 0;
- gwSource.sourceClassID = 5;
- gwSource.listConnectionFormats.push_back(CF_GENIVI_MONO);
-
- ASSERT_EQ(E_OK, pDatabaseHandler.enterSourceDB(source,sourceID));
- ASSERT_EQ(E_OK, pDatabaseHandler.enterSourceDB(gwSource,gwSourceID));
-
- am_Sink_s sink, gwSink;
- am_sinkID_t sinkID, gwSinkID;
-
- sink.domainID = domainID2;
- sink.name = "sink1";
- sink.sinkID = 0;
- sink.sinkClassID = 5;
- sink.muteState = MS_MUTED;
- sink.listConnectionFormats.push_back(CF_GENIVI_MONO);
-
- gwSink.domainID = domainID1;
- gwSink.name = "gwSink";
- gwSink.sinkID = 0;
- gwSink.sinkClassID = 5;
- gwSink.muteState = MS_MUTED;
- gwSink.listConnectionFormats.push_back(CF_GENIVI_ANALOG);
-
- ASSERT_EQ(E_OK, pDatabaseHandler.enterSinkDB(sink,sinkID));
- ASSERT_EQ(E_OK, pDatabaseHandler.enterSinkDB(gwSink,gwSinkID));
-
- am_Gateway_s gateway;
- am_gatewayID_t gatewayID;
-
- gateway.controlDomainID = domainID1;
- gateway.gatewayID = 0;
- gateway.sinkID = gwSinkID;
- gateway.sourceID = gwSourceID;
- gateway.domainSourceID = domainID2;
- gateway.domainSinkID = domainID1;
- gateway.listSinkFormats = gwSink.listConnectionFormats;
- gateway.listSourceFormats = gwSource.listConnectionFormats;
- gateway.convertionMatrix.push_back(true);
- gateway.name = "gateway";
-
- ASSERT_EQ(E_OK, pDatabaseHandler.enterGatewayDB(gateway,gatewayID));
-
- std::vector<am_Route_s> listRoutes;
- std::vector<am_RoutingElement_s> listRoutingElements;
- am_RoutingElement_s hopp1;
- am_RoutingElement_s hopp2;
-
- hopp1.sinkID = gwSinkID;
- hopp1.sourceID = sourceID;
- hopp1.domainID = domainID1;
- hopp1.connectionFormat = source.listConnectionFormats[0];
-
- hopp2.sinkID = sinkID;
- hopp2.sourceID = gwSourceID;
- hopp2.domainID = domainID2;
- hopp2.connectionFormat = sink.listConnectionFormats[0];
-
- listRoutingElements.push_back(hopp1);
- listRoutingElements.push_back(hopp2);
-
- am_Route_s compareRoute;
- compareRoute.route = listRoutingElements;
- compareRoute.sinkID = sinkID;
- compareRoute.sourceID = sourceID;
-
- ASSERT_EQ(E_OK, pRouter.getRoute(false,sourceID,sinkID,listRoutes));
- ASSERT_EQ(static_cast<uint>(1), listRoutes.size());
- ASSERT_TRUE(pCF.compareRoute(compareRoute,listRoutes[0]));
-
-}
-
-//test that checks just 2 domains, one sink one source but the connectionformat of source
-TEST_F(CAmRouterTest,simpleRoute2DomainsNoMatchConnectionFormats)
-{
-
-
- EXPECT_CALL(pMockControlInterface,getConnectionFormatChoice(_,_,_,_,_)).WillRepeatedly(DoAll(returnConnectionFormat(), Return(E_OK)));
-
- //initialize 2 domains
- am_Domain_s domain1, domain2;
- am_domainID_t domainID1, domainID2;
-
- domain1.domainID = 0;
- domain1.name = "domain1";
- domain1.busname = "domain1bus";
- domain1.state = DS_CONTROLLED;
- domain2.domainID = 0;
- domain2.name = "domain2";
- domain2.busname = "domain2bus";
- domain2.state = DS_CONTROLLED;
-
- ASSERT_EQ(E_OK, pDatabaseHandler.enterDomainDB(domain1,domainID1));
- ASSERT_EQ(E_OK, pDatabaseHandler.enterDomainDB(domain2,domainID2));
-
- am_Source_s source, gwSource;
- am_sourceID_t sourceID, gwSourceID;
-
- source.domainID = domainID1;
- source.name = "source1";
- source.sourceState = SS_ON;
- source.sourceID = 0;
- source.sourceClassID = 5;
- source.listConnectionFormats.push_back(CF_GENIVI_STEREO);
-
- gwSource.domainID = domainID2;
- gwSource.name = "gwsource1";
- gwSource.sourceState = SS_ON;
- gwSource.sourceID = 0;
- gwSource.sourceClassID = 5;
- gwSource.listConnectionFormats.push_back(CF_GENIVI_MONO);
-
- ASSERT_EQ(E_OK, pDatabaseHandler.enterSourceDB(source,sourceID));
- ASSERT_EQ(E_OK, pDatabaseHandler.enterSourceDB(gwSource,gwSourceID));
-
- am_Sink_s sink, gwSink;
- am_sinkID_t sinkID, gwSinkID;
-
- sink.domainID = domainID2;
- sink.name = "sink1";
- sink.sinkID = 0;
- sink.sinkClassID = 5;
- sink.muteState = MS_MUTED;
- sink.listConnectionFormats.push_back(CF_GENIVI_MONO);
-
- gwSink.domainID = domainID1;
- gwSink.name = "gwSink";
- gwSink.sinkID = 0;
- gwSink.sinkClassID = 5;
- gwSink.muteState = MS_MUTED;
- gwSink.listConnectionFormats.push_back(CF_GENIVI_ANALOG);
-
- ASSERT_EQ(E_OK, pDatabaseHandler.enterSinkDB(sink,sinkID));
- ASSERT_EQ(E_OK, pDatabaseHandler.enterSinkDB(gwSink,gwSinkID));
-
- am_Gateway_s gateway;
- am_gatewayID_t gatewayID;
-
- gateway.controlDomainID = domainID1;
- gateway.gatewayID = 0;
- gateway.sinkID = gwSinkID;
- gateway.sourceID = gwSourceID;
- gateway.domainSourceID = domainID2;
- gateway.domainSinkID = domainID1;
- gateway.listSinkFormats = gwSink.listConnectionFormats;
- gateway.listSourceFormats = gwSource.listConnectionFormats;
- gateway.convertionMatrix.push_back(true);
- gateway.name = "gateway";
-
- ASSERT_EQ(E_OK, pDatabaseHandler.enterGatewayDB(gateway,gatewayID));
-
- std::vector<am_Route_s> listRoutes;
- std::vector<am_RoutingElement_s> listRoutingElements;
- am_RoutingElement_s hopp1;
- am_RoutingElement_s hopp2;
-
- hopp1.sinkID = gwSinkID;
- hopp1.sourceID = sourceID;
- hopp1.domainID = domainID1;
- hopp1.connectionFormat = source.listConnectionFormats[0];
-
- hopp2.sinkID = sinkID;
- hopp2.sourceID = gwSourceID;
- hopp2.domainID = domainID2;
- hopp2.connectionFormat = sink.listConnectionFormats[0];
-
- listRoutingElements.push_back(hopp1);
- listRoutingElements.push_back(hopp2);
-
- am_Route_s compareRoute;
- compareRoute.route = listRoutingElements;
- compareRoute.sinkID = sinkID;
- compareRoute.sourceID = sourceID;
-
- ASSERT_EQ(E_OK, pRouter.getRoute(false,sourceID,sinkID,listRoutes));
- ASSERT_EQ(static_cast<uint>(0), listRoutes.size());
-}
-
-//test that checks 3 domains, one sink one source.
-TEST_F(CAmRouterTest,simpleRoute3Domains)
-{
- EXPECT_CALL(pMockControlInterface,getConnectionFormatChoice(_,_,_,_,_)).WillRepeatedly(DoAll(returnConnectionFormat(), Return(E_OK)));
-
- //initialize 2 domains
- am_Domain_s domain1, domain2, domain3;
- am_domainID_t domainID1, domainID2, domainID3;
-
- domain1.domainID = 0;
- domain1.name = "domain1";
- domain1.busname = "domain1bus";
- domain1.state = DS_CONTROLLED;
- domain2.domainID = 0;
- domain2.name = "domain2";
- domain2.busname = "domain2bus";
- domain2.state = DS_CONTROLLED;
- domain3.domainID = 0;
- domain3.name = "domain3";
- domain3.busname = "domain3bus";
- domain3.state = DS_CONTROLLED;
-
- ASSERT_EQ(E_OK, pDatabaseHandler.enterDomainDB(domain1,domainID1));
- ASSERT_EQ(E_OK, pDatabaseHandler.enterDomainDB(domain2,domainID2));
- ASSERT_EQ(E_OK, pDatabaseHandler.enterDomainDB(domain3,domainID3));
-
- am_Source_s source, gwSource, gwSource1;
- am_sourceID_t sourceID, gwSourceID, gwSourceID1;
-
- source.domainID = domainID1;
- source.name = "source1";
- source.sourceState = SS_ON;
- source.sourceID = 0;
- source.sourceClassID = 5;
- source.listConnectionFormats.push_back(CF_GENIVI_MONO);
-
- gwSource.domainID = domainID2;
- gwSource.name = "gwsource1";
- gwSource.sourceState = SS_ON;
- gwSource.sourceID = 0;
- gwSource.sourceClassID = 5;
- gwSource.listConnectionFormats.push_back(CF_GENIVI_ANALOG);
-
- gwSource1.domainID = domainID3;
- gwSource1.name = "gwsource2";
- gwSource1.sourceState = SS_ON;
- gwSource1.sourceID = 0;
- gwSource1.sourceClassID = 5;
- gwSource1.listConnectionFormats.push_back(CF_GENIVI_MONO);
-
- ASSERT_EQ(E_OK, pDatabaseHandler.enterSourceDB(source,sourceID));
- ASSERT_EQ(E_OK, pDatabaseHandler.enterSourceDB(gwSource,gwSourceID));
- ASSERT_EQ(E_OK, pDatabaseHandler.enterSourceDB(gwSource1,gwSourceID1));
-
- am_Sink_s sink, gwSink, gwSink1;
- am_sinkID_t sinkID, gwSinkID, gwSinkID1;
-
- sink.domainID = domainID3;
- sink.name = "sink1";
- sink.sinkID = 0;
- sink.sinkClassID = 5;
- sink.muteState = MS_MUTED;
- sink.listConnectionFormats.push_back(CF_GENIVI_MONO);
-
- gwSink.domainID = domainID1;
- gwSink.name = "gwSink";
- gwSink.sinkID = 0;
- gwSink.sinkClassID = 5;
- gwSink.muteState = MS_MUTED;
- gwSink.listConnectionFormats.push_back(CF_GENIVI_MONO);
-
- gwSink1.domainID = domainID2;
- gwSink1.name = "gwSink1";
- gwSink1.sinkID = 0;
- gwSink1.sinkClassID = 5;
- gwSink1.muteState = MS_MUTED;
- gwSink1.listConnectionFormats.push_back(CF_GENIVI_ANALOG);
-
- ASSERT_EQ(E_OK, pDatabaseHandler.enterSinkDB(sink,sinkID));
- ASSERT_EQ(E_OK, pDatabaseHandler.enterSinkDB(gwSink,gwSinkID));
- ASSERT_EQ(E_OK, pDatabaseHandler.enterSinkDB(gwSink1,gwSinkID1));
-
- am_Gateway_s gateway, gateway1;
- am_gatewayID_t gatewayID, gatewayID1;
-
- gateway.controlDomainID = domainID1;
- gateway.gatewayID = 0;
- gateway.sinkID = gwSinkID;
- gateway.sourceID = gwSourceID;
- gateway.domainSourceID = domainID2;
- gateway.domainSinkID = domainID1;
- gateway.listSinkFormats = gwSink.listConnectionFormats;
- gateway.listSourceFormats = gwSource.listConnectionFormats;
- gateway.convertionMatrix.push_back(true);
- gateway.name = "gateway";
-
- gateway1.controlDomainID = domainID2;
- gateway1.gatewayID = 0;
- gateway1.sinkID = gwSinkID1;
- gateway1.sourceID = gwSourceID1;
- gateway1.domainSourceID = domainID3;
- gateway1.domainSinkID = domainID2;
- gateway1.listSinkFormats = gwSink1.listConnectionFormats;
- gateway1.listSourceFormats = gwSource1.listConnectionFormats;
- gateway1.convertionMatrix.push_back(true);
- gateway1.name = "gateway";
-
- ASSERT_EQ(E_OK, pDatabaseHandler.enterGatewayDB(gateway,gatewayID));
- ASSERT_EQ(E_OK, pDatabaseHandler.enterGatewayDB(gateway1,gatewayID1));
-
- std::vector<am_Route_s> listRoutes;
- std::vector<am_RoutingElement_s> listRoutingElements;
- am_RoutingElement_s hopp1;
- am_RoutingElement_s hopp2;
- am_RoutingElement_s hopp3;
-
- hopp1.sourceID = sourceID;
- hopp1.sinkID = gwSinkID;
- hopp1.domainID = domainID1;
- hopp1.connectionFormat = source.listConnectionFormats[0];
-
- hopp2.sourceID = gwSourceID;
- hopp2.sinkID = gwSinkID1;
- hopp2.domainID = domainID2;
- hopp2.connectionFormat = gwSink1.listConnectionFormats[0];
-
- hopp3.sourceID = gwSourceID1;
- hopp3.sinkID = sinkID;
- hopp3.domainID = domainID3;
- hopp3.connectionFormat = sink.listConnectionFormats[0];
-
- listRoutingElements.push_back(hopp1);
- listRoutingElements.push_back(hopp2);
- listRoutingElements.push_back(hopp3);
-
- am_Route_s compareRoute;
- compareRoute.route = listRoutingElements;
- compareRoute.sinkID = sinkID;
- compareRoute.sourceID = sourceID;
-
- ASSERT_EQ(E_OK, pRouter.getRoute(false,sourceID,sinkID,listRoutes));
- ASSERT_EQ(static_cast<uint>(1), listRoutes.size());
- ASSERT_TRUE(pCF.compareRoute(compareRoute,listRoutes[0]));
-}
-
-//test that checks 4 domains, one sink and one source.
-TEST_F(CAmRouterTest,simpleRoute4Domains)
-{
- EXPECT_CALL(pMockControlInterface,getConnectionFormatChoice(_,_,_,_,_)).WillRepeatedly(DoAll(returnConnectionFormat(), Return(E_OK)));
-
- //initialize 2 domains
- am_Domain_s domain1, domain2, domain3, domain4;
- am_domainID_t domainID1, domainID2, domainID3, domainID4;
-
- domain1.domainID = 0;
- domain1.name = "domain1";
- domain1.busname = "domain1bus";
- domain1.state = DS_CONTROLLED;
- domain2.domainID = 0;
- domain2.name = "domain2";
- domain2.busname = "domain2bus";
- domain2.state = DS_CONTROLLED;
- domain3.domainID = 0;
- domain3.name = "domain3";
- domain3.busname = "domain3bus";
- domain3.state = DS_CONTROLLED;
- domain4.domainID = 0;
- domain4.name = "domain4";
- domain4.busname = "domain4bus";
- domain4.state = DS_CONTROLLED;
-
- ASSERT_EQ(E_OK, pDatabaseHandler.enterDomainDB(domain1,domainID1));
- ASSERT_EQ(E_OK, pDatabaseHandler.enterDomainDB(domain2,domainID2));
- ASSERT_EQ(E_OK, pDatabaseHandler.enterDomainDB(domain3,domainID3));
- ASSERT_EQ(E_OK, pDatabaseHandler.enterDomainDB(domain4,domainID4));
-
- am_Source_s source, gwSource, gwSource1, gwSource2;
- am_sourceID_t sourceID, gwSourceID, gwSourceID1, gwSourceID2;
-
- source.domainID = domainID1;
- source.name = "source1";
- source.sourceState = SS_ON;
- source.sourceID = 0;
- source.sourceClassID = 5;
- source.listConnectionFormats.push_back(CF_GENIVI_MONO);
-
- gwSource.domainID = domainID2;
- gwSource.name = "gwsource1";
- gwSource.sourceState = SS_ON;
- gwSource.sourceID = 0;
- gwSource.sourceClassID = 5;
- gwSource.listConnectionFormats.push_back(CF_GENIVI_ANALOG);
-
- gwSource1.domainID = domainID3;
- gwSource1.name = "gwsource2";
- gwSource1.sourceState = SS_ON;
- gwSource1.sourceID = 0;
- gwSource1.sourceClassID = 5;
- gwSource1.listConnectionFormats.push_back(CF_GENIVI_MONO);
-
- gwSource2.domainID = domainID4;
- gwSource2.name = "gwsource3";
- gwSource2.sourceState = SS_OFF;
- gwSource2.sourceID = 0;
- gwSource2.sourceClassID = 5;
- gwSource2.listConnectionFormats.push_back(CF_GENIVI_STEREO);
-
- ASSERT_EQ(E_OK, pDatabaseHandler.enterSourceDB(source,sourceID));
- ASSERT_EQ(E_OK, pDatabaseHandler.enterSourceDB(gwSource,gwSourceID));
- ASSERT_EQ(E_OK, pDatabaseHandler.enterSourceDB(gwSource1,gwSourceID1));
- ASSERT_EQ(E_OK, pDatabaseHandler.enterSourceDB(gwSource2,gwSourceID2));
-
- am_Sink_s sink, gwSink, gwSink1, gwSink2;
- am_sinkID_t sinkID, gwSinkID, gwSinkID1, gwSinkID2;
-
- gwSink.domainID = domainID1;
- gwSink.name = "gwSink";
- gwSink.sinkID = 0;
- gwSink.sinkClassID = 5;
- gwSink.muteState = MS_MUTED;
- gwSink.listConnectionFormats.push_back(CF_GENIVI_MONO);
-
- gwSink1.domainID = domainID2;
- gwSink1.name = "gwSink1";
- gwSink1.sinkID = 0;
- gwSink1.sinkClassID = 5;
- gwSink1.muteState = MS_MUTED;
- gwSink1.listConnectionFormats.push_back(CF_GENIVI_ANALOG);
-
- gwSink2.domainID = domainID3;
- gwSink2.name = "gwSink2";
- gwSink2.sinkID = 0;
- gwSink2.sinkClassID = 5;
- gwSink2.muteState = MS_MUTED;
- gwSink2.listConnectionFormats.push_back(CF_GENIVI_MONO);
-
- sink.domainID = domainID4;
- sink.name = "sink1";
- sink.sinkID = 0;
- sink.sinkClassID = 5;
- sink.muteState = MS_MUTED;
- sink.listConnectionFormats.push_back(CF_GENIVI_STEREO);
-
- ASSERT_EQ(E_OK, pDatabaseHandler.enterSinkDB(sink,sinkID));
- ASSERT_EQ(E_OK, pDatabaseHandler.enterSinkDB(gwSink,gwSinkID));
- ASSERT_EQ(E_OK, pDatabaseHandler.enterSinkDB(gwSink1,gwSinkID1));
- ASSERT_EQ(E_OK, pDatabaseHandler.enterSinkDB(gwSink2,gwSinkID2));
-
- am_Gateway_s gateway, gateway1, gateway2;
- am_gatewayID_t gatewayID, gatewayID1, gatewayID2;
-
- gateway.controlDomainID = domainID1;
- gateway.gatewayID = 0;
- gateway.sinkID = gwSinkID;
- gateway.sourceID = gwSourceID;
- gateway.domainSourceID = domainID2;
- gateway.domainSinkID = domainID1;
- gateway.listSinkFormats = gwSink.listConnectionFormats;
- gateway.listSourceFormats = gwSource.listConnectionFormats;
- gateway.convertionMatrix.push_back(true);
- gateway.name = "gateway";
-
- gateway1.controlDomainID = domainID2;
- gateway1.gatewayID = 0;
- gateway1.sinkID = gwSinkID1;
- gateway1.sourceID = gwSourceID1;
- gateway1.domainSourceID = domainID3;
- gateway1.domainSinkID = domainID2;
- gateway1.listSinkFormats = gwSink1.listConnectionFormats;
- gateway1.listSourceFormats = gwSource1.listConnectionFormats;
- gateway1.convertionMatrix.push_back(true);
- gateway1.name = "gateway1";
-
- gateway2.controlDomainID = domainID3;
- gateway2.gatewayID = 0;
- gateway2.sinkID = gwSinkID2;
- gateway2.sourceID = gwSourceID2;
- gateway2.domainSourceID = domainID4;
- gateway2.domainSinkID = domainID3;
- gateway2.listSinkFormats = gwSink2.listConnectionFormats;
- gateway2.listSourceFormats = gwSource2.listConnectionFormats;
- gateway2.convertionMatrix.push_back(true);
- gateway2.name = "gateway2";
-
- ASSERT_EQ(E_OK, pDatabaseHandler.enterGatewayDB(gateway,gatewayID));
- ASSERT_EQ(E_OK, pDatabaseHandler.enterGatewayDB(gateway1,gatewayID1));
- ASSERT_EQ(E_OK, pDatabaseHandler.enterGatewayDB(gateway2,gatewayID2));
-
- std::vector<am_Route_s> listRoutes;
- std::vector<am_RoutingElement_s> listRoutingElements;
- am_RoutingElement_s hopp1;
- am_RoutingElement_s hopp2;
- am_RoutingElement_s hopp3;
- am_RoutingElement_s hopp4;
-
- hopp1.sourceID = sourceID;
- hopp1.sinkID = gwSinkID;
- hopp1.domainID = domainID1;
- hopp1.connectionFormat = source.listConnectionFormats[0];
-
- hopp2.sourceID = gwSourceID;
- hopp2.sinkID = gwSinkID1;
- hopp2.domainID = domainID2;
- hopp2.connectionFormat = gwSink1.listConnectionFormats[0];
-
- hopp3.sourceID = gwSourceID1;
- hopp3.sinkID = gwSinkID2;
- hopp3.domainID = domainID3;
- hopp3.connectionFormat = gwSink2.listConnectionFormats[0];
-
- hopp4.sourceID = gwSourceID2;
- hopp4.sinkID = sinkID;
- hopp4.domainID = domainID4;
- hopp4.connectionFormat = sink.listConnectionFormats[0];
-
- listRoutingElements.push_back(hopp1);
- listRoutingElements.push_back(hopp2);
- listRoutingElements.push_back(hopp3);
- listRoutingElements.push_back(hopp4);
-
- am_Route_s compareRoute;
- compareRoute.route = listRoutingElements;
- compareRoute.sinkID = sinkID;
- compareRoute.sourceID = sourceID;
-
- ASSERT_EQ(E_OK, pRouter.getRoute(false,sourceID,sinkID,listRoutes));
- size_t size(1);
- ASSERT_EQ(size, listRoutes.size());
- ASSERT_TRUE(pCF.compareRoute(compareRoute,listRoutes[0]));
-}
-
-int main(int argc, char **argv)
-{
-#ifdef WITH_DLT
- CAmDltWrapper::instance()->registerApp("routing", "CAmRouterTest");
-#else
- CAmDltWrapper::instance(true)->registerApp("routing", "CAmRouterTest");
-#endif
- logInfo("Routing Test started ");
- ::testing::InitGoogleTest(&argc, argv);
- return RUN_ALL_TESTS();
-}
-
diff --git a/AudioManagerDaemon/test/AmRouterTest/CAmRouterTest.h b/AudioManagerDaemon/test/AmRouterTest/CAmRouterTest.h
deleted file mode 100644
index 4a4e35b..0000000
--- a/AudioManagerDaemon/test/AmRouterTest/CAmRouterTest.h
+++ /dev/null
@@ -1,81 +0,0 @@
-/**
- * SPDX license identifier: MPL-2.0
- *
- * Copyright (C) 2012, BMW AG
- *
- * This file is part of GENIVI Project AudioManager.
- *
- * Contributions are licensed to the GENIVI Alliance under one or more
- * Contribution License Agreements.
- *
- * \copyright
- * This Source Code Form is subject to the terms of the
- * Mozilla Public License, v. 2.0. If a copy of the MPL was not distributed with
- * this file, You can obtain one at http://mozilla.org/MPL/2.0/.
- *
- *
-* \author Aleksandar Donchev, aleksander.donchev@partner.bmw.de BMW 2013
- *
- * For further information see http://www.genivi.org/.
- *
- */
-
-#ifndef DATABASETEST_H_
-#define DATABASETEST_H_
-
-#define UNIT_TEST 1
-
-#include "gtest/gtest.h"
-#include "gmock/gmock.h"
-
-#include <algorithm>
-#include <string>
-#include <vector>
-#include <set>
-#include "CAmDatabaseHandlerMap.h"
-#include "CAmControlReceiver.h"
-#include "CAmControlSender.h"
-#include "CAmDatabaseObserver.h"
-#include "CAmRoutingSender.h"
-#include "CAmRouter.h"
-#include "CAmSocketHandler.h"
-#include "../IAmControlBackdoor.h"
-#include "../IAmCommandBackdoor.h"
-#include "../CAmCommonFunctions.h"
-#include "../MockIAmControlSend.h"
-#include "../MockIAmCommandSend.h"
-
-
-namespace am
-{
-
-class CAmRouterTest: public ::testing::Test
-{
-public:
- CAmRouterTest();
- ~CAmRouterTest();
- std::vector<std::string> plistRoutingPluginDirs;
- std::vector<std::string> plistCommandPluginDirs;
- CAmSocketHandler pSocketHandler;
- CAmControlSender pControlSender;
- CAmDatabaseHandlerMap pDatabaseHandler;
- CAmRouter pRouter;
- CAmRoutingSender pRoutingSender;
- CAmCommandSender pCommandSender;
- MockIAmCommandSend pMockInterface;
- MockIAmControlSend pMockControlInterface;
- IAmRoutingBackdoor pRoutingInterfaceBackdoor;
- IAmCommandBackdoor pCommandInterfaceBackdoor;
- IAmControlBackdoor pControlInterfaceBackdoor;
- CAmControlReceiver pControlReceiver;
- CAmDatabaseObserver pObserver;
- CAmCommonFunctions pCF;
- void SetUp();
- void TearDown();
-
- void createMainConnectionSetup();
-};
-
-}
-
-#endif /* DATABASETEST_H_ */
diff --git a/AudioManagerDaemon/test/AmRouterTest/CMakeLists.txt b/AudioManagerDaemon/test/AmRouterTest/CMakeLists.txt
deleted file mode 100644
index e9b0e80..0000000
--- a/AudioManagerDaemon/test/AmRouterTest/CMakeLists.txt
+++ /dev/null
@@ -1,81 +0,0 @@
-# Copyright (C) 2012, BMW AG
-#
-# This file is part of GENIVI Project AudioManager.
-#
-# Contributions are licensed to the GENIVI Alliance under one or more
-# Contribution License Agreements.
-#
-# copyright
-# This Source Code Form is subject to the terms of the
-# Mozilla Public License, v. 2.0. if a copy of the MPL was not distributed with
-# this file, You can obtain one at http://mozilla.org/MPL/2.0/.
-#
-# author Christian Linke, christian.linke@bmw.de BMW 2011,2012
-#
-# For further information see http://www.genivi.org/.
-#
-
-cmake_minimum_required(VERSION 2.8.8)
-
-project(AmRouterTest)
-
-set (CMAKE_CXX_FLAGS "${CMAKE_CXX_FLAGS} -g -DUNIT_TEST=1 -DDLT_CONTEXT=AudioManager")
-
-set (AM_LINK_LIBS
- ${CMAKE_DL_LIBS}
- AudioManagerUtilities
- rt)
-
-IF (WITH_CAPI_WRAPPER)
- set (AM_LINK_LIBS
- ${AM_LINK_LIBS}
- -Wl,--as-needed CommonAPI
- )
-ENDIF (WITH_CAPI_WRAPPER)
-
-if(WITH_DLT)
- pkg_check_modules(DLT REQUIRED automotive-dlt>=2.2.0)
- set (AM_LINK_LIBS
- ${AM_LINK_LIBS}
- ${DLT_LIBRARIES})
-endif(WITH_DLT)
-
-INCLUDE_DIRECTORIES(
- ${CMAKE_CURRENT_BINARY_DIR}
- ${AUDIO_INCLUDE_FOLDER}
- ${CMAKE_SOURCE_DIR}
- ${INCLUDE_FOLDER}
- ${GOOGLE_TEST_INCLUDE_DIR}
- ${GMOCK_INCLUDE_DIR}
-)
-
-file(GLOB ROUTING_SRCS_CXX
- "${AUDIOMANAGER_DAEMON_FOLDER}/src/CAmDatabaseHandlerMap.cpp"
- "${AUDIOMANAGER_DAEMON_FOLDER}/src/CAmDatabaseObserver.cpp"
- "${AUDIOMANAGER_DAEMON_FOLDER}/src/CAmCommandSender.cpp"
- "${AUDIOMANAGER_DAEMON_FOLDER}/src/CAmRoutingSender.cpp"
- "${AUDIOMANAGER_DAEMON_FOLDER}/src/CAmControlReceiver.cpp"
- "${AUDIOMANAGER_DAEMON_FOLDER}/src/CAmControlSender.cpp"
- "${AUDIOMANAGER_DAEMON_FOLDER}/src/CAmRouter.cpp"
- "${AUDIOMANAGER_DAEMON_FOLDER}/src/CAmCommandReceiver.cpp"
- "${AUDIOMANAGER_DAEMON_FOLDER}/src/CAmRoutingReceiver.cpp"
- "../CAmCommonFunctions.cpp"
- "*.cpp"
- )
-
-ADD_EXECUTABLE( AmRouterTest ${ROUTING_SRCS_CXX})
-
-TARGET_LINK_LIBRARIES(AmRouterTest
- ${AM_LINK_LIBS}
- gtest
- gmock
-)
-
-ADD_DEPENDENCIES(AmRouterTest gtest gmock AudioManagerUtilities)
-
-INSTALL(TARGETS AmRouterTest
- DESTINATION ${TEST_EXECUTABLE_INSTALL_PATH}
- PERMISSIONS OWNER_EXECUTE OWNER_WRITE OWNER_READ GROUP_EXECUTE GROUP_READ WORLD_EXECUTE WORLD_READ
- COMPONENT tests
-)
-