diff options
author | christian linke <christian.linke@bmw.de> | 2012-12-17 16:15:11 +0100 |
---|---|---|
committer | christian linke <christian.linke@bmw.de> | 2012-12-17 16:15:11 +0100 |
commit | 54c5e965fe8f9a53a78834028fd65c792493da2b (patch) | |
tree | 560d7b1209e6a8d4798de9568e4b4a947c2ab42a /AudioManagerDaemon/test/AmDatabaseHandlerTest/CAmDatabaseHandlerTest.cpp | |
parent | 215e8a72dc81e8a86dd5b3a8ca40fd2c7c6a0b9c (diff) | |
download | audiomanager-54c5e965fe8f9a53a78834028fd65c792493da2b.tar.gz |
* added new interfaces & nsm support + nsm tests + fixed some unit tests + fixed rundown
Signed-off-by: christian linke <christian.linke@bmw.de>
Diffstat (limited to 'AudioManagerDaemon/test/AmDatabaseHandlerTest/CAmDatabaseHandlerTest.cpp')
-rw-r--r-- | AudioManagerDaemon/test/AmDatabaseHandlerTest/CAmDatabaseHandlerTest.cpp | 281 |
1 files changed, 280 insertions, 1 deletions
diff --git a/AudioManagerDaemon/test/AmDatabaseHandlerTest/CAmDatabaseHandlerTest.cpp b/AudioManagerDaemon/test/AmDatabaseHandlerTest/CAmDatabaseHandlerTest.cpp index a1b7e39..a5143ef 100644 --- a/AudioManagerDaemon/test/AmDatabaseHandlerTest/CAmDatabaseHandlerTest.cpp +++ b/AudioManagerDaemon/test/AmDatabaseHandlerTest/CAmDatabaseHandlerTest.cpp @@ -45,7 +45,7 @@ CAmDatabaseHandlerTest::CAmDatabaseHandlerTest() : pMockInterface(), // pRoutingInterfaceBackdoor(), // pCommandInterfaceBackdoor(), // - pControlSender(""), // + pControlSender(), // pRouter(&pDatabaseHandler, &pControlSender), // pControlReceiver(&pDatabaseHandler, &pRoutingSender, &pCommandSender, &pSocketHandler, &pRouter), // pObserver(&pCommandSender,&pRoutingSender, &pSocketHandler) @@ -1915,6 +1915,285 @@ TEST_F(CAmDatabaseHandlerTest,enterSinksCorrect) ASSERT_EQ(true, equal); } +TEST_F(CAmDatabaseHandlerTest,enterNotificationConfigurationCorrect) +{ + am_Sink_s testSinkData; + pCF.createSink(testSinkData); + testSinkData.sinkID = 4; + am_sinkID_t sinkID; + std::vector<am_Sink_s> listSinks; + + am_NotificationConfiguration_s notify; + notify.notificationType=NT_UNKNOWN; + notify.notificationStatus=NS_CHANGE; + notify.notificationParameter=25; + testSinkData.listNotificationConfigurations.push_back(notify); + + //enter the sink in the database + ASSERT_EQ(E_OK,pDatabaseHandler.enterSinkDB(testSinkData,sinkID)) + << "ERROR: database error"; + + //read it again + ASSERT_EQ(E_OK,pDatabaseHandler.getListSinks(listSinks)) + << "ERROR: database error"; + + ASSERT_EQ(listSinks.begin()->listNotificationConfigurations.begin()->notificationParameter,notify.notificationParameter); + ASSERT_EQ(listSinks.begin()->listNotificationConfigurations.begin()->notificationStatus,notify.notificationStatus); + ASSERT_EQ(listSinks.begin()->listNotificationConfigurations.begin()->notificationType,notify.notificationType); +} + +TEST_F(CAmDatabaseHandlerTest,enterMainNotificationConfigurationCorrect) +{ + am_Sink_s testSinkData; + pCF.createSink(testSinkData); + testSinkData.sinkID = 4; + am_sinkID_t sinkID; + std::vector<am_Sink_s> listSinks; + + am_NotificationConfiguration_s notify; + notify.notificationType=NT_UNKNOWN; + notify.notificationStatus=NS_CHANGE; + notify.notificationParameter=25; + + testSinkData.listMainNotificationConfigurations.push_back(notify); + + //enter the sink in the database + ASSERT_EQ(E_OK,pDatabaseHandler.enterSinkDB(testSinkData,sinkID)) + << "ERROR: database error"; + + //read it again + ASSERT_EQ(E_OK,pDatabaseHandler.getListSinks(listSinks)) + << "ERROR: database error"; + + ASSERT_EQ(listSinks.begin()->listMainNotificationConfigurations.begin()->notificationParameter,notify.notificationParameter); + ASSERT_EQ(listSinks.begin()->listMainNotificationConfigurations.begin()->notificationStatus,notify.notificationStatus); + ASSERT_EQ(listSinks.begin()->listMainNotificationConfigurations.begin()->notificationType,notify.notificationType); +} + +TEST_F(CAmDatabaseHandlerTest,removeNotifications) +{ + am_Sink_s testSinkData; + pCF.createSink(testSinkData); + testSinkData.sinkID = 4; + am_sinkID_t sinkID; + std::vector<am_Sink_s> listSinks; + + am_NotificationConfiguration_s notify; + notify.notificationType=NT_UNKNOWN; + notify.notificationStatus=NS_CHANGE; + notify.notificationParameter=25; + + testSinkData.listMainNotificationConfigurations.push_back(notify); + + //enter the sink in the database + ASSERT_EQ(E_OK,pDatabaseHandler.enterSinkDB(testSinkData,sinkID)) + << "ERROR: database error"; + + //read it again + ASSERT_EQ(E_OK,pDatabaseHandler.getListSinks(listSinks)) + << "ERROR: database error"; + + ASSERT_EQ(listSinks.begin()->listMainNotificationConfigurations.begin()->notificationParameter,notify.notificationParameter); + ASSERT_EQ(listSinks.begin()->listMainNotificationConfigurations.begin()->notificationStatus,notify.notificationStatus); + ASSERT_EQ(listSinks.begin()->listMainNotificationConfigurations.begin()->notificationType,notify.notificationType); + + //now we remove the sink + ASSERT_EQ(E_OK,pDatabaseHandler.removeSinkDB(sinkID)); +} + +TEST_F(CAmDatabaseHandlerTest,getMainNotificationsSink) +{ + am_Sink_s testSinkData; + pCF.createSink(testSinkData); + testSinkData.sinkID = 4; + am_sinkID_t sinkID; + std::vector<am_Sink_s> listSinks; + std::vector<am_NotificationConfiguration_s>returnList; + + am_NotificationConfiguration_s notify; + notify.notificationType=NT_UNKNOWN; + notify.notificationStatus=NS_CHANGE; + notify.notificationParameter=25; + + testSinkData.listMainNotificationConfigurations.push_back(notify); + + am_NotificationConfiguration_s notify1; + notify1.notificationType=NT_MAX; + notify1.notificationStatus=NS_PERIODIC; + notify1.notificationParameter=5; + + testSinkData.listMainNotificationConfigurations.push_back(notify1); + + //enter the sink in the database + ASSERT_EQ(E_OK,pDatabaseHandler.enterSinkDB(testSinkData,sinkID)) + << "ERROR: database error"; + + //read it again + ASSERT_EQ(E_OK,pDatabaseHandler.getListSinkMainNotificationConfigurations(sinkID,returnList)) + << "ERROR: database error"; + + ASSERT_EQ(returnList[0].notificationParameter,notify.notificationParameter); + ASSERT_EQ(returnList[0].notificationStatus,notify.notificationStatus); + ASSERT_EQ(returnList[0].notificationType,notify.notificationType); + + ASSERT_EQ(returnList[1].notificationParameter,notify1.notificationParameter); + ASSERT_EQ(returnList[1].notificationStatus,notify1.notificationStatus); + ASSERT_EQ(returnList[1].notificationType,notify1.notificationType); + +} + +TEST_F(CAmDatabaseHandlerTest,getMainNotificationsSources) +{ + am_Source_s testSourceData; + pCF.createSource(testSourceData); + testSourceData.sourceID = 4; + am_sourceID_t sourceID; + std::vector<am_Source_s> listSources; + std::vector<am_NotificationConfiguration_s>returnList; + + am_NotificationConfiguration_s notify; + notify.notificationType=NT_UNKNOWN; + notify.notificationStatus=NS_CHANGE; + notify.notificationParameter=25; + + testSourceData.listMainNotificationConfigurations.push_back(notify); + + am_NotificationConfiguration_s notify1; + notify1.notificationType=NT_MAX; + notify1.notificationStatus=NS_PERIODIC; + notify1.notificationParameter=5; + + testSourceData.listMainNotificationConfigurations.push_back(notify1); + + //enter the sink in the database + ASSERT_EQ(E_OK,pDatabaseHandler.enterSourceDB(testSourceData,sourceID)) + << "ERROR: database error"; + + //read it again + ASSERT_EQ(E_OK,pDatabaseHandler.getListSourceMainNotificationConfigurations(sourceID,returnList)) + << "ERROR: database error"; + + ASSERT_EQ(returnList[0].notificationParameter,notify.notificationParameter); + ASSERT_EQ(returnList[0].notificationStatus,notify.notificationStatus); + ASSERT_EQ(returnList[0].notificationType,notify.notificationType); + + ASSERT_EQ(returnList[1].notificationParameter,notify1.notificationParameter); + ASSERT_EQ(returnList[1].notificationStatus,notify1.notificationStatus); + ASSERT_EQ(returnList[1].notificationType,notify1.notificationType); + +} + +TEST_F(CAmDatabaseHandlerTest,changeMainNotificationsSources) +{ + am_Source_s testSourceData; + pCF.createSource(testSourceData); + testSourceData.sourceID = 4; + am_sourceID_t sourceID; + std::vector<am_Source_s> listSources; + std::vector<am_NotificationConfiguration_s>returnList,returnList1; + + am_NotificationConfiguration_s notify; + notify.notificationType=NT_UNKNOWN; + notify.notificationStatus=NS_CHANGE; + notify.notificationParameter=25; + + testSourceData.listMainNotificationConfigurations.push_back(notify); + + am_NotificationConfiguration_s notify1; + notify1.notificationType=NT_MAX; + notify1.notificationStatus=NS_PERIODIC; + notify1.notificationParameter=5; + + am_NotificationConfiguration_s notify2; + notify2.notificationType=NT_MAX; + notify2.notificationStatus=NS_CHANGE; + notify2.notificationParameter=10; + + testSourceData.listMainNotificationConfigurations.push_back(notify1); + + //enter the sink in the database + ASSERT_EQ(E_OK,pDatabaseHandler.enterSourceDB(testSourceData,sourceID)) + << "ERROR: database error"; + + //read it again + ASSERT_EQ(E_OK,pDatabaseHandler.getListSourceMainNotificationConfigurations(sourceID,returnList)) + << "ERROR: database error"; + + ASSERT_EQ(returnList[0].notificationParameter,notify.notificationParameter); + ASSERT_EQ(returnList[0].notificationStatus,notify.notificationStatus); + ASSERT_EQ(returnList[0].notificationType,notify.notificationType); + + ASSERT_EQ(returnList[1].notificationParameter,notify1.notificationParameter); + ASSERT_EQ(returnList[1].notificationStatus,notify1.notificationStatus); + ASSERT_EQ(returnList[1].notificationType,notify1.notificationType); + + //change a setting + ASSERT_EQ(E_OK,pDatabaseHandler.changeMainSourceNotificationConfigurationDB(sourceID,notify2)); + + ASSERT_EQ(E_OK,pDatabaseHandler.getListSourceMainNotificationConfigurations(sourceID,returnList1)) + << "ERROR: database error"; + + ASSERT_EQ(returnList1[1].notificationParameter,notify2.notificationParameter); + ASSERT_EQ(returnList1[1].notificationStatus,notify2.notificationStatus); + ASSERT_EQ(returnList1[1].notificationType,notify2.notificationType); + +} + +TEST_F(CAmDatabaseHandlerTest,changeMainNotificationsSink) +{ + am_Sink_s testSinkData; + pCF.createSink(testSinkData); + testSinkData.sinkID = 4; + am_sinkID_t sinkID; + std::vector<am_Sink_s> listSinks; + std::vector<am_NotificationConfiguration_s>returnList,returnList1; + + am_NotificationConfiguration_s notify; + notify.notificationType=NT_UNKNOWN; + notify.notificationStatus=NS_CHANGE; + notify.notificationParameter=25; + + testSinkData.listMainNotificationConfigurations.push_back(notify); + + am_NotificationConfiguration_s notify1; + notify1.notificationType=NT_MAX; + notify1.notificationStatus=NS_PERIODIC; + notify1.notificationParameter=5; + + am_NotificationConfiguration_s notify2; + notify2.notificationType=NT_MAX; + notify2.notificationStatus=NS_CHANGE; + notify2.notificationParameter=27; + + testSinkData.listMainNotificationConfigurations.push_back(notify1); + + //enter the sink in the database + ASSERT_EQ(E_OK,pDatabaseHandler.enterSinkDB(testSinkData,sinkID)) + << "ERROR: database error"; + + //read it again + ASSERT_EQ(E_OK,pDatabaseHandler.getListSinkMainNotificationConfigurations(sinkID,returnList)) + << "ERROR: database error"; + + ASSERT_EQ(returnList[0].notificationParameter,notify.notificationParameter); + ASSERT_EQ(returnList[0].notificationStatus,notify.notificationStatus); + ASSERT_EQ(returnList[0].notificationType,notify.notificationType); + + ASSERT_EQ(returnList[1].notificationParameter,notify1.notificationParameter); + ASSERT_EQ(returnList[1].notificationStatus,notify1.notificationStatus); + ASSERT_EQ(returnList[1].notificationType,notify1.notificationType); + + ASSERT_EQ(E_OK,pDatabaseHandler.changeMainSinkNotificationConfigurationDB(sinkID,notify2)) + << "ERROR: database error"; + + ASSERT_EQ(E_OK,pDatabaseHandler.getListSinkMainNotificationConfigurations(sinkID,returnList1)) + << "ERROR: database error"; + + ASSERT_EQ(returnList1[1].notificationParameter,notify2.notificationParameter); + ASSERT_EQ(returnList1[1].notificationStatus,notify2.notificationStatus); + ASSERT_EQ(returnList1[1].notificationType,notify2.notificationType); +} + //Commented out - gives always a warning.. //TEST_F(databaseTest,registerDomainFailonID0) //{ |