diff options
author | Artem Nosach <ANosach@luxoft.com> | 2016-06-01 16:19:54 +0300 |
---|---|---|
committer | Artem Nosach <ANosach@luxoft.com> | 2016-06-01 16:19:54 +0300 |
commit | 46b828f7bab05603c5904e1b12adfcd2728ea24a (patch) | |
tree | 2a1c332a917494ac59557bb71ef33d86311ce6d2 | |
parent | 7777fe181e595d1c3fb1ae51dea0775932dc17d1 (diff) | |
parent | 8d3adfd0a8747ea4059053c1c953526305cdac21 (diff) | |
download | sdl_core-46b828f7bab05603c5904e1b12adfcd2728ea24a.tar.gz |
Merge pull request #19 from dev-gh/am_unit_test_review_fixes
AM and MessageHelper unit tests adapted after porting
Related-issues: APPLINK-22713, APPLINK-22716
17 files changed, 658 insertions, 562 deletions
diff --git a/src/components/application_manager/CMakeLists.txt b/src/components/application_manager/CMakeLists.txt index 9419059968..c2f5402973 100644 --- a/src/components/application_manager/CMakeLists.txt +++ b/src/components/application_manager/CMakeLists.txt @@ -441,6 +441,6 @@ endif() endif() if(BUILD_TESTS) - #add_subdirectory(test) - #add_subdirectory(test/message_helper) + add_subdirectory(test) + add_subdirectory(test/message_helper) endif() diff --git a/src/components/application_manager/src/hmi_language_handler.cc b/src/components/application_manager/src/hmi_language_handler.cc index 24e5d49a1e..a50705c770 100644 --- a/src/components/application_manager/src/hmi_language_handler.cc +++ b/src/components/application_manager/src/hmi_language_handler.cc @@ -81,7 +81,7 @@ void HMILanguageHandler::set_language_for( } LOGGER_DEBUG(logger_, "Setting language " << language << " for interface " - << iface); + << iface); last_state_->dictionary()[LanguagesKey][key] = static_cast<JsonValue::Int>(language); return; diff --git a/src/components/application_manager/src/resumption/resumption_sql_queries.cc b/src/components/application_manager/src/resumption/resumption_sql_queries.cc index 8239c903d3..7b0f734fff 100644 --- a/src/components/application_manager/src/resumption/resumption_sql_queries.cc +++ b/src/components/application_manager/src/resumption/resumption_sql_queries.cc @@ -428,7 +428,7 @@ const std::string kUpdateHMILevel = const std::string kUpdateIgnOffCount = "UPDATE `application` " - "SET `ign_off_count` = `ign_off_count` - 1" + "SET `ign_off_count` = `ign_off_count` - 1 " "WHERE `ign_off_count` > 0"; const std::string kCountApplicationsIgnOff = diff --git a/src/components/application_manager/test/CMakeLists.txt b/src/components/application_manager/test/CMakeLists.txt index af6b8468f2..c70a2122ff 100644 --- a/src/components/application_manager/test/CMakeLists.txt +++ b/src/components/application_manager/test/CMakeLists.txt @@ -1,4 +1,4 @@ -# Copyright (c) 2015, Ford Motor Company +# Copyright (c) 2016, Ford Motor Company # All rights reserved. # # Redistribution and use in source and binary forms, with or without @@ -28,203 +28,178 @@ # ARISING IN ANY WAY OUT OF THE USE OF THIS SOFTWARE, EVEN IF ADVISED OF THE # POSSIBILITY OF SUCH DAMAGE. -# TODO{ALeshin}: APPLINK-10792. Do not write tests which use -# application manager(AM) singleton while refactoring of AM is finished. - if (BUILD_TESTS) + include_directories( + include + ${CMAKE_BINARY_DIR}/src/components/ + ${COMPONENTS_DIR}/resumption/include + ${GMOCK_INCLUDE_DIRECTORY} + ${COMPONENTS_DIR}/application_manager/include/ + ${COMPONENTS_DIR}/application_manager/include/application_manager/commands/ + ${COMPONENTS_DIR}/utils/include/utils + ${COMPONENTS_DIR}/include/utils + ${COMPONENTS_DIR}/include/ + ${COMPONENTS_DIR}/policy/include/policy + ${COMPONENTS_DIR}/policy/test/include + ${COMPONENTS_DIR}/media_manager/include/ + ${SecurityManagerIncludeDir} + ${COMPONENTS_DIR}/security_manager/include + ${AM_TEST_DIR}/resumption/include/ + ${AM_SOURCE_DIR}/policy/src/policy/policy_table/table_struct + ) -include_directories( - include - ${CMAKE_BINARY_DIR}/src/components/ - ${COMPONENTS_DIR}/resumption/include - ${GMOCK_INCLUDE_DIRECTORY} - ${COMPONENTS_DIR}/application_manager/include/ - ${COMPONENTS_DIR}/application_manager/include/application_manager/commands/ - ${COMPONENTS_DIR}/utils/include/utils - ${COMPONENTS_DIR}/include/utils - ${COMPONENTS_DIR}/include/ - ${COMPONENTS_DIR}/policy/include/policy - ${COMPONENTS_DIR}/policy/test/include - ${COMPONENTS_DIR}/media_manager/include/ - ${SecurityManagerIncludeDir} - ${COMPONENTS_DIR}/security_manager/include - ${AM_TEST_DIR}/resumption/include/ -) - -set(testSources - ${AM_TEST_DIR}/mobile_message_handler_test.cc - ${AM_TEST_DIR}/mobile_message_handler_v1_test.cc - ${AM_TEST_DIR}/request_info_test.cc - ${AM_TEST_DIR}/resumption_sql_queries_test.cc - ${AM_TEST_DIR}/event_engine_test.cc - ${AM_TEST_DIR}/policy_event_observer_test.cc - ${AM_TEST_DIR}/application_impl_test.cc - ${AM_TEST_DIR}/hmi_capabilities_test.cc - ${AM_TEST_DIR}/application_state_test.cc - ${AM_TEST_DIR}/usage_statistics_test.cc - ${AM_TEST_DIR}/mock_message_helper.cc - ) - set (request_controller_SOURCES - ${AM_TEST_DIR}/request_controller/request_controller_test.cc + set(testSources + ${AM_TEST_DIR}/application_state_test.cc + ${AM_TEST_DIR}/application_impl_test.cc + ${AM_TEST_DIR}/event_engine_test.cc + ${AM_TEST_DIR}/hmi_capabilities_test.cc + ${AM_TEST_DIR}/mobile_message_handler_test.cc + ${AM_TEST_DIR}/mobile_message_handler_v1_test.cc + ${AM_TEST_DIR}/mock_message_helper.cc + ${AM_TEST_DIR}/policy_event_observer_test.cc + ${AM_TEST_DIR}/request_info_test.cc + ${AM_TEST_DIR}/resumption_sql_queries_test.cc + ${AM_TEST_DIR}/usage_statistics_test.cc + ) + + set (request_controller_SOURCES + ${AM_TEST_DIR}/request_controller/request_controller_test.cc ) - set(mockedSources ${AM_MOCK_DIR}/src/application_manager_impl.cc) - - set(AM_SOURCES - - ${AM_SOURCE_DIR}/src/policies/policy_handler.cc - ${AM_SOURCE_DIR}/src/policies/policy_event_observer.cc - ${AM_SOURCE_DIR}/src/policies/delegates/app_permission_delegate.cc - ${AM_SOURCE_DIR}/src/policies/delegates/statistics_delegate.cc - - ${AM_SOURCE_DIR}/src/event_engine/event_dispatcher_impl.cc - ${AM_SOURCE_DIR}/src/event_engine/event_observer.cc - ${AM_SOURCE_DIR}/src/event_engine/event.cc - - ${AM_SOURCE_DIR}/src/commands/command_impl.cc - ${AM_SOURCE_DIR}/src/commands/command_request_impl.cc - ${AM_SOURCE_DIR}/src/commands/command_response_impl.cc - ${AM_SOURCE_DIR}/src/commands/command_notification_impl.cc - ${AM_SOURCE_DIR}/src/commands/command_notification_from_mobile_impl.cc - ${AM_SOURCE_DIR}/src/commands/pending.cc - - ${AM_SOURCE_DIR}/src/resumption/resume_ctrl.cc - ${AM_SOURCE_DIR}/src/resumption/resumption_data_db.cc - ${AM_SOURCE_DIR}/src/resumption/resumption_data_json.cc - ${AM_SOURCE_DIR}/src/resumption/resumption_data.cc - ${AM_SOURCE_DIR}/src/resumption/resumption_sql_queries.cc - - ${AM_SOURCE_DIR}/src/usage_statistics.cc - ${AM_SOURCE_DIR}/src/request_info.cc - ${AM_SOURCE_DIR}/src/message.cc - ${AM_SOURCE_DIR}/src/application_impl.cc - ${AM_SOURCE_DIR}/src/application_state.cc - ${AM_SOURCE_DIR}/src/state_controller.cc - ${AM_SOURCE_DIR}/src/mobile_command_factory.cc - ${AM_TEST_DIR}/mock_message_helper.cc - - ${AM_SOURCE_DIR}/src/hmi_command_factory.cc - ${AM_SOURCE_DIR}/src/hmi_state.cc - - ${AM_SOURCE_DIR}/src/hmi_capabilities.cc - ${AM_SOURCE_DIR}/src/hmi_language_handler.cc - ${AM_SOURCE_DIR}/src/application_data_impl.cc - ${AM_SOURCE_DIR}/src/request_controller.cc - - ${AM_SOURCE_DIR}/src/commands/mobile/register_app_interface_request.cc - ${AM_SOURCE_DIR}/src/commands/mobile/unregister_app_interface_request.cc - - ${AM_SOURCE_DIR}/src/mobile_message_handler.cc - ${AM_SOURCE_DIR}/src/commands/mobile/put_file_request.cc - ${AM_SOURCE_DIR}/src/commands/command_request_impl.cc - ) - - include_directories( - ${AM_SOURCE_DIR}/policy/src/policy/policy_table/table_struct - ) -set(testLibraries - ApplicationManager - Utils - dbms - jsoncpp - Policy - connectionHandler - HMI_API - MOBILE_API - v4_protocol_v1_2_no_extra - SmartObjects - formatters - gmock_main - UsageStatistics - dl - ProtocolLibrary - ConfigProfile - MediaManager - Resumption - ProtocolHandler - SecurityManager -) - -set(test_exec_libraries - HMI_API - MOBILE_API - v4_protocol_v1_2_no_extra - SmartObjects - formatters - ProtocolHandler - connectionHandler - HMIMessageHandler - Utils - jsoncpp - ConfigProfile - MediaManager - Resumption -) - -IF(${CMAKE_SYSTEM_NAME} MATCHES "QNX") - list(REMOVE_ITEM test_exec_libraries dl) -endif() + set(mockedSources + ${AM_MOCK_DIR}/src/application_manager_impl.cc + ) - set(testLibraries - Utils - ApplicationManager - jsoncpp - Policy - connectionHandler - HMI_API - MOBILE_API - v4_protocol_v1_2_no_extra - SmartObjects - formatters - gmock_main - UsageStatistics - dl - ProtocolLibrary - ConfigProfile - MediaManager - Resumption - ProtocolHandler - SecurityManager - ) - - if (${CMAKE_SYSTEM_NAME} MATCHES "QNX") - list(REMOVE_ITEM test_exec_libraries dl) - endif() -if(ENABLE_LOG) - list(APPEND LIBRARIES log4cxx -L${LOG4CXX_LIBS_DIRECTORY}) - list(APPEND LIBRARIES apr-1 -L${APR_LIBS_DIRECTORY}) - list(APPEND LIBRARIES aprutil-1 -L${APR_UTIL_LIBS_DIRECTORY}) - list(APPEND LIBRARIES expat -L${EXPAT_LIBS_DIRECTORY}) -endif() + set(AM_SOURCES + ${AM_SOURCE_DIR}/src/policies/policy_handler.cc + ${AM_SOURCE_DIR}/src/policies/policy_event_observer.cc + ${AM_SOURCE_DIR}/src/policies/delegates/app_permission_delegate.cc + ${AM_SOURCE_DIR}/src/policies/delegates/statistics_delegate.cc + + ${AM_SOURCE_DIR}/src/event_engine/event_dispatcher_impl.cc + ${AM_SOURCE_DIR}/src/event_engine/event_observer.cc + ${AM_SOURCE_DIR}/src/event_engine/event.cc + + ${AM_SOURCE_DIR}/src/commands/command_impl.cc + ${AM_SOURCE_DIR}/src/commands/command_request_impl.cc + ${AM_SOURCE_DIR}/src/commands/command_response_impl.cc + ${AM_SOURCE_DIR}/src/commands/command_notification_impl.cc + ${AM_SOURCE_DIR}/src/commands/command_notification_from_mobile_impl.cc + ${AM_SOURCE_DIR}/src/commands/pending.cc + + ${AM_SOURCE_DIR}/src/resumption/resume_ctrl.cc + ${AM_SOURCE_DIR}/src/resumption/resumption_data_db.cc + ${AM_SOURCE_DIR}/src/resumption/resumption_data_json.cc + ${AM_SOURCE_DIR}/src/resumption/resumption_data.cc + ${AM_SOURCE_DIR}/src/resumption/resumption_sql_queries.cc + + ${AM_SOURCE_DIR}/src/usage_statistics.cc + ${AM_SOURCE_DIR}/src/request_info.cc + ${AM_SOURCE_DIR}/src/message.cc + ${AM_SOURCE_DIR}/src/application_impl.cc + ${AM_SOURCE_DIR}/src/application_state.cc + ${AM_SOURCE_DIR}/src/state_controller.cc + ${AM_SOURCE_DIR}/src/mobile_command_factory.cc + ${AM_TEST_DIR}/mock_message_helper.cc + + ${AM_SOURCE_DIR}/src/hmi_command_factory.cc + ${AM_SOURCE_DIR}/src/hmi_state.cc + + ${AM_SOURCE_DIR}/src/hmi_capabilities.cc + ${AM_SOURCE_DIR}/src/hmi_language_handler.cc + ${AM_SOURCE_DIR}/src/application_data_impl.cc + ${AM_SOURCE_DIR}/src/request_controller.cc + + ${AM_SOURCE_DIR}/src/commands/mobile/register_app_interface_request.cc + ${AM_SOURCE_DIR}/src/commands/mobile/unregister_app_interface_request.cc + + ${AM_SOURCE_DIR}/src/mobile_message_handler.cc + ${AM_SOURCE_DIR}/src/commands/mobile/put_file_request.cc + ${AM_SOURCE_DIR}/src/commands/command_request_impl.cc + ) + + set(testLibraries + dbms + Utils + ApplicationManager + jsoncpp + Policy + connectionHandler + HMI_API + MOBILE_API + v4_protocol_v1_2_no_extra + SmartObjects + formatters + gmock_main + UsageStatistics + dl + ProtocolLibrary + ConfigProfile + MediaManager + Resumption + ProtocolHandler + SecurityManager + ) - file(COPY smartDeviceLink_test2.ini DESTINATION ${CMAKE_CURRENT_BINARY_DIR}) - file(COPY sdl_preloaded_pt.json DESTINATION ${CMAKE_CURRENT_BINARY_DIR}) - file(COPY sdl_pt_update.json DESTINATION ${CMAKE_CURRENT_BINARY_DIR}) - -add_custom_command( -OUTPUT ${CMAKE_CURRENT_BINARY_DIR}/libPolicy.so - COMMAND ${CMAKE_COMMAND} -E - copy ${COMPONENTS_DIR}/policy/libPolicy.so ${CMAKE_CURRENT_BINARY_DIR}) - set(CMAKE_EXE_LINKER_FLAGS - "${CMAKE_EXE_LINKER_FLAGS} -Wl,-rpath=${CMAKE_CURRENT_BINARY_DIR}") - create_test("application_manager_test" "${testSources}" "${testLibraries}" ) - -# TODO [AKozoriz] : Fix not buildable tests - set(ResumptionData_SOURCES - ${AM_TEST_DIR}/resumption/resumption_data_test.cc -# ${AM_TEST_DIR}/resumption/resumption_data_db_test.cc -# ${AM_TEST_DIR}/resumption/resumption_data_json_test.cc -# ${AM_TEST_DIR}/resumption/resume_ctrl_test.cc - ${AM_TEST_DIR}/mock_message_helper.cc - ) - - file(COPY hmi_capabilities.json DESTINATION ${CMAKE_CURRENT_BINARY_DIR}) - file(COPY smartDeviceLink_test.ini DESTINATION ${CMAKE_CURRENT_BINARY_DIR}) - - file(MAKE_DIRECTORY ${CMAKE_CURRENT_BINARY_DIR}/resumption) - file(COPY smartDeviceLink_test.ini DESTINATION ${CMAKE_CURRENT_BINARY_DIR}/resumption) - create_test("resumption/data_resumption_test" "${ResumptionData_SOURCES}" "${testLibraries}") - - add_subdirectory(state_controller) + if(${CMAKE_SYSTEM_NAME} MATCHES "Windows") + list(REMOVE_ITEM testLibraries dl) + endif() + + if(ENABLE_LOG) + list(APPEND LIBRARIES log4cxx -L${LOG4CXX_LIBS_DIRECTORY}) + list(APPEND LIBRARIES apr-1 -L${APR_LIBS_DIRECTORY}) + list(APPEND LIBRARIES aprutil-1 -L${APR_UTIL_LIBS_DIRECTORY}) + list(APPEND LIBRARIES expat -L${EXPAT_LIBS_DIRECTORY}) + endif() + + file(COPY smartDeviceLink_test2.ini DESTINATION ${CMAKE_CURRENT_BINARY_DIR}) + file(COPY sdl_preloaded_pt.json DESTINATION ${CMAKE_CURRENT_BINARY_DIR}) + file(COPY sdl_pt_update.json DESTINATION ${CMAKE_CURRENT_BINARY_DIR}) + + if(${CMAKE_SYSTEM_NAME} MATCHES "Windows") + link_directories ($ENV{SDL_SQLITE_DIR}) + endif() + + if(QT_PORT) + link_directories (${CMAKE_SOURCE_DIR}/build/openssl_win_x86/lib) + endif() + + if(NOT QT_PORT AND ${CMAKE_SYSTEM_NAME} MATCHES "Windows") + link_directories(${CMAKE_SOURCE_DIR}/build/openssl_win_x64/lib/) + endif() + + add_custom_command( + OUTPUT ${CMAKE_CURRENT_BINARY_DIR}/libPolicy.so + COMMAND ${CMAKE_COMMAND} -E + copy ${COMPONENTS_DIR}/policy/libPolicy.so ${CMAKE_CURRENT_BINARY_DIR} + ) + + if(${CMAKE_SYSTEM_NAME} MATCHES "Linux") + set(CMAKE_EXE_LINKER_FLAGS "${CMAKE_EXE_LINKER_FLAGS} -Wl,-rpath=${CMAKE_CURRENT_BINARY_DIR}") + endif() + + create_test("application_manager_test" "${testSources}" "${testLibraries}") + + # TODO [AKozoriz] : Fix not buildable tests + set(ResumptionData_SOURCES + # ${AM_TEST_DIR}/resumption/resumption_data_test.cc + # ${AM_TEST_DIR}/resumption/resumption_data_db_test.cc + # ${AM_TEST_DIR}/resumption/resumption_data_json_test.cc + # ${AM_TEST_DIR}/resumption/resume_ctrl_test.cc + ${AM_TEST_DIR}/mock_message_helper.cc + ) + + if(${CMAKE_SYSTEM_NAME} MATCHES "Windows") + set(CMAKE_CXX_FLAGS "${CMAKE_CXX_FLAGS} /bigobj" ) + endif() + + file(COPY hmi_capabilities.json DESTINATION ${CMAKE_CURRENT_BINARY_DIR}) + file(COPY smartDeviceLink_test.ini DESTINATION ${CMAKE_CURRENT_BINARY_DIR}) + + file(MAKE_DIRECTORY ${CMAKE_CURRENT_BINARY_DIR}/resumption) + file(COPY smartDeviceLink_test.ini DESTINATION ${CMAKE_CURRENT_BINARY_DIR}/resumption) + create_test("data_resumption_test" "${ResumptionData_SOURCES}" "${testLibraries}") + + # add_subdirectory(state_controller) endif() diff --git a/src/components/application_manager/test/application_impl_test.cc b/src/components/application_manager/test/application_impl_test.cc index 7989f11fce..0270106490 100644 --- a/src/components/application_manager/test/application_impl_test.cc +++ b/src/components/application_manager/test/application_impl_test.cc @@ -70,6 +70,7 @@ typedef void (ApplicationImpl::*AddSet)(HmiStatePtr args); class ApplicationImplTest : public ::testing::Test { protected: virtual void SetUp() OVERRIDE { + directory_name = "./test_storage"; app_id = 10; policy_app_id = "policy_app_id"; app_name = "app_name"; @@ -116,7 +117,7 @@ class ApplicationImplTest : public ::testing::Test { std::string policy_app_id; std::string mac_address; custom_str::CustomString app_name; - const std::string directory_name = "./test_storage"; + std::string directory_name; HmiState::StateID state_id; HmiStatePtr testHmiState; HMILevel::eType test_lvl; @@ -300,7 +301,8 @@ TEST_F(ApplicationImplTest, SetPostponedState_RemovePostponedState) { EXPECT_EQ(NULL, state2); } -TEST_F(ApplicationImplTest, AddStateAddRegularState_GetHmiLvlAudioSystemState) { +TEST_F(ApplicationImplTest, + AddStateAddRegularState_GetHmiLvlAudioSystemState) { audiostate = AudioStreamingState::ATTENUATED; syst_context = SystemContext::SYSCTXT_ALERT; TestAddHmiState(HMILevel::HMI_FULL, @@ -422,19 +424,30 @@ TEST_F(ApplicationImplTest, LoadPersistentFiles) { // Create test folder with diff files app_impl->MarkRegistered(); - std::string folder_name = ""; + const std::string folder_name = "app"; app_impl->set_folder_name(folder_name); - file_system::CreateDirectory(directory_name); + const std::string test_path = file_system::ConcatPath(directory_name, folder_name); - EXPECT_TRUE(file_system::CreateFile(directory_name + "/test_file1.json")); - EXPECT_TRUE(file_system::CreateFile(directory_name + "/test_file2.bmp")); - EXPECT_TRUE(file_system::CreateFile(directory_name + "/test_file3.jpeg")); - EXPECT_TRUE(file_system::CreateFile(directory_name + "/test_file4.png")); - EXPECT_TRUE(file_system::CreateFile(directory_name + "/test_file5")); - EXPECT_TRUE(file_system::CreateFile(directory_name + "/test_file6.wave")); - EXPECT_TRUE(file_system::CreateFile(directory_name + "/test_file7.mp4")); - EXPECT_TRUE(file_system::CreateFile(directory_name + "/test_file8.mp3")); + EXPECT_TRUE(file_system::CreateDirectoryRecursively(test_path)); + + const std::string file1 = file_system::ConcatPath(test_path, "test_file1.json"); + const std::string file2 = file_system::ConcatPath(test_path, "test_file2.bmp"); + const std::string file3 = file_system::ConcatPath(test_path, "test_file3.jpeg"); + const std::string file4 = file_system::ConcatPath(test_path, "test_file4.png"); + const std::string file5 = file_system::ConcatPath(test_path, "test_file5"); + const std::string file6 = file_system::ConcatPath(test_path, "test_file6.wave"); + const std::string file7 = file_system::ConcatPath(test_path, "test_file7.mp4"); + const std::string file8 = file_system::ConcatPath(test_path, "test_file8.mp3"); + + EXPECT_TRUE(file_system::CreateFile(file1)); + EXPECT_TRUE(file_system::CreateFile(file2)); + EXPECT_TRUE(file_system::CreateFile(file3)); + EXPECT_TRUE(file_system::CreateFile(file4)); + EXPECT_TRUE(file_system::CreateFile(file5)); + EXPECT_TRUE(file_system::CreateFile(file6)); + EXPECT_TRUE(file_system::CreateFile(file7)); + EXPECT_TRUE(file_system::CreateFile(file8)); app_impl->LoadPersistentFiles(); @@ -442,40 +455,41 @@ TEST_F(ApplicationImplTest, LoadPersistentFiles) { EXPECT_EQ(8u, files_map.size()); const AppFile* test_file1 = - app_impl->GetFile(directory_name + "//test_file1.json"); + app_impl->GetFile(file1); ASSERT_TRUE(test_file1); EXPECT_EQ(FileType::JSON, test_file1->file_type); const AppFile* test_file2 = - app_impl->GetFile(directory_name + "//test_file2.bmp"); + app_impl->GetFile(file2); ASSERT_TRUE(test_file2); EXPECT_EQ(FileType::GRAPHIC_BMP, test_file2->file_type); const AppFile* test_file3 = - app_impl->GetFile(directory_name + "//test_file3.jpeg"); + app_impl->GetFile(file3); ASSERT_TRUE(test_file3); EXPECT_EQ(FileType::GRAPHIC_JPEG, test_file3->file_type); const AppFile* test_file4 = - app_impl->GetFile(directory_name + "//test_file4.png"); + app_impl->GetFile(file4); ASSERT_TRUE(test_file4); EXPECT_EQ(FileType::GRAPHIC_PNG, test_file4->file_type); const AppFile* test_file5 = - app_impl->GetFile(directory_name + "//test_file5"); + app_impl->GetFile(file5); ASSERT_TRUE(test_file5); EXPECT_EQ(FileType::BINARY, test_file5->file_type); const AppFile* test_file6 = - app_impl->GetFile(directory_name + "//test_file6.wave"); + app_impl->GetFile(file6); ASSERT_TRUE(test_file6); EXPECT_EQ(FileType::AUDIO_WAVE, test_file6->file_type); const AppFile* test_file7 = - app_impl->GetFile(directory_name + "//test_file7.mp4"); + app_impl->GetFile(file7); ASSERT_TRUE(test_file7); EXPECT_EQ(FileType::AUDIO_AAC, test_file7->file_type); const AppFile* test_file8 = - app_impl->GetFile(directory_name + "//test_file8.mp3"); + app_impl->GetFile(file8); ASSERT_TRUE(test_file8); EXPECT_EQ(FileType::AUDIO_MP3, test_file8->file_type); } -TEST_F(ApplicationImplTest, IsCommandLimitsExceeded_SetLimitFromConfig) { +TEST_F(ApplicationImplTest, + IsCommandLimitsExceeded_SetLimitFromConfig) { std::pair<uint32_t, int32_t> get_frequency; get_frequency.first = 5; get_frequency.second = 1; @@ -537,24 +551,24 @@ TEST_F(ApplicationImplTest, SubscribeToDefaultButton_UnsubscribeFromButton) { } TEST_F(ApplicationImplTest, SubscribeToSoftButton_UnsubscribeFromSoftButton) { - const uint btn_count = 10; - for (uint i = 0; i < btn_count; i++) { + const size_t btn_count = 10; + for (size_t i = 0; i < btn_count; i++) { EXPECT_FALSE(app_impl->IsSubscribedToSoftButton(i)); } SoftButtonID test_button; - for (uint i = 0; i < btn_count; i++) { + for (size_t i = 0; i < btn_count; i++) { test_button.insert(i); } app_impl->SubscribeToSoftButtons(FunctionID::ScrollableMessageID, test_button); - for (uint i = 0; i < btn_count; i++) { + for (size_t i = 0; i < btn_count; i++) { EXPECT_TRUE(app_impl->IsSubscribedToSoftButton(i)); } app_impl->UnsubscribeFromSoftButtons(FunctionID::ScrollableMessageID); - for (uint i = 0; i < btn_count; i++) { + for (size_t i = 0; i < btn_count; i++) { EXPECT_FALSE(app_impl->IsSubscribedToSoftButton(i)); } } @@ -672,7 +686,8 @@ TEST_F(ApplicationImplTest, SuspendAudioStreaming) { } // TODO {AKozoriz} : Fix tests with streaming (APPLINK-19289) -TEST_F(ApplicationImplTest, DISABLED_Suspend_WakeUpAudioStreaming) { +TEST_F(ApplicationImplTest, + DISABLED_Suspend_WakeUpAudioStreaming) { protocol_handler::ServiceType type = protocol_handler::ServiceType::kAudio; EXPECT_CALL(mock_application_manager_, OnAppStreaming(app_id, type, false)); EXPECT_CALL(*MockMessageHelper::message_helper_mock(), @@ -685,7 +700,8 @@ TEST_F(ApplicationImplTest, DISABLED_Suspend_WakeUpAudioStreaming) { app_impl->WakeUpStreaming(type); } -TEST_F(ApplicationImplTest, DISABLED_Suspend_WakeUpNaviStreaming) { +TEST_F(ApplicationImplTest, + DISABLED_Suspend_WakeUpNaviStreaming) { protocol_handler::ServiceType type = protocol_handler::ServiceType::kMobileNav; EXPECT_CALL(mock_application_manager_, OnAppStreaming(app_id, type, false)); diff --git a/src/components/application_manager/test/application_state_test.cc b/src/components/application_manager/test/application_state_test.cc index 7bc34966b4..a147aff182 100644 --- a/src/components/application_manager/test/application_state_test.cc +++ b/src/components/application_manager/test/application_state_test.cc @@ -67,9 +67,9 @@ class ApplicationStateTest : public ::testing::Test { protected: static std::vector<StateID> added_states_; ApplicationState app_state; - const StateID current_id = StateID::STATE_ID_CURRENT; - const StateID postponed_id = StateID::STATE_ID_POSTPONED; - const uint32_t app_id = 10; + static const StateID current_id = StateID::STATE_ID_CURRENT; + static const StateID postponed_id = StateID::STATE_ID_POSTPONED; + static const uint32_t app_id = 10; MockApplicationManager app_mngr_; }; diff --git a/src/components/application_manager/test/event_engine_test.cc b/src/components/application_manager/test/event_engine_test.cc index f240f4f25e..21b33810b5 100644 --- a/src/components/application_manager/test/event_engine_test.cc +++ b/src/components/application_manager/test/event_engine_test.cc @@ -66,7 +66,7 @@ class EventEngineTest : public testing::Test { const application_manager::event_engine::Event::EventID event_id3; MockEventDispatcher mock_event_dispatcher_; MockEventObserver event_observer_mock_; - const int32_t correlation_id = 1121; + static const int32_t correlation_id = 1121; smart_objects::SmartObject smart_object_with_type_notification; smart_objects::SmartObject smart_object_with_type_response; smart_objects::SmartObject smart_object_with_type_error_response; diff --git a/src/components/application_manager/test/hmi_capabilities_test.cc b/src/components/application_manager/test/hmi_capabilities_test.cc index 235c8685b9..c596afee87 100644 --- a/src/components/application_manager/test/hmi_capabilities_test.cc +++ b/src/components/application_manager/test/hmi_capabilities_test.cc @@ -62,7 +62,9 @@ using namespace application_manager; class HMICapabilitiesTest : public ::testing::Test { protected: - HMICapabilitiesTest() : last_state_("app_storage_folder", "app_info_data") {} + HMICapabilitiesTest() + : last_state_("app_storage_folder", "app_info_data"), + kFileName("hmi_capabilities.json") {} virtual void SetUp() OVERRIDE { ON_CALL(app_mngr_, event_dispatcher()) .WillByDefault(ReturnRef(mock_event_dispatcher)); @@ -90,7 +92,7 @@ class HMICapabilitiesTest : public ::testing::Test { resumption::LastState last_state_; MockApplicationManagerSettings mock_application_manager_settings_; utils::SharedPtr<HMICapabilitiesForTesting> hmi_capabilities_test; - const std::string kFileName = "hmi_capabilities.json"; + std::string kFileName; }; const char* const cstring_values_[] = { @@ -159,7 +161,7 @@ hmi_apis::Common_Language::eType TestCommonLanguageFromString( return hmi_apis::Common_Language::INVALID_ENUM; } -TEST_F(HMICapabilitiesTest, LoadCapabilitiesFromFile) { +TEST_F(HMICapabilitiesTest, DISABLED_LoadCapabilitiesFromFile) { EXPECT_CALL(*(MockMessageHelper::message_helper_mock()), CommonLanguageFromString(_)) .WillRepeatedly(Invoke(TestCommonLanguageFromString)); @@ -342,31 +344,8 @@ TEST_F(HMICapabilitiesTest, LoadCapabilitiesFromFile) { EXPECT_EQ("SE", vehicle_type_so["trim"].asString()); } -TEST_F(HMICapabilitiesTest, ConvertJsonLanguagesToObj) { - Json::Value json_languages(Json::arrayValue); - json_languages[0] = "EN_US"; - json_languages[1] = "ES_MX"; - smart_objects::SmartObject sm_obj = - smart_objects::SmartObject(smart_objects::SmartType_Array); - - EXPECT_CALL(*(MockMessageHelper::message_helper_mock()), - CommonLanguageFromString(json_languages[0].asString())) - .WillOnce(Return(hmi_apis::Common_Language::EN_US)); - - EXPECT_CALL(*(MockMessageHelper::message_helper_mock()), - CommonLanguageFromString(json_languages[1].asString())) - .WillOnce(Return(hmi_apis::Common_Language::ES_MX)); - - hmi_capabilities_test->ConvertJsonLanguagesToObj(json_languages, sm_obj); - - EXPECT_EQ(hmi_apis::Common_Language::EN_US, - static_cast<hmi_apis::Common_Language::eType>(sm_obj[0].asInt())); - EXPECT_EQ(hmi_apis::Common_Language::ES_MX, - static_cast<hmi_apis::Common_Language::eType>(sm_obj[1].asInt())); -} - TEST_F(HMICapabilitiesTest, - HmiCapabilitiesInitialized_UiVrTtsIviNotCooperating) { + DISABLED_HmiCapabilitiesInitialized_UiVrTtsIviNotCooperating) { // Precondition hmi_capabilities_test->set_is_vr_cooperating(false); hmi_capabilities_test->set_is_tts_cooperating(false); diff --git a/src/components/application_manager/test/include/application_manager/hmi_capabilities_for_testing.h b/src/components/application_manager/test/include/application_manager/hmi_capabilities_for_testing.h index ec8e92e859..be511b3316 100644 --- a/src/components/application_manager/test/include/application_manager/hmi_capabilities_for_testing.h +++ b/src/components/application_manager/test/include/application_manager/hmi_capabilities_for_testing.h @@ -47,12 +47,6 @@ class HMICapabilitiesForTesting bool LoadCapabilitiesFromFile() { return load_capabilities_from_file(); } - - void ConvertJsonLanguagesToObj( - Json::Value& json_languages, - ::NsSmartDeviceLink::NsSmartObjects::SmartObject& languages) { - convert_json_languages_to_obj(json_languages, languages); - } }; } // namespace application_manager_test diff --git a/src/components/application_manager/test/include/application_manager/mock_application_manager.h b/src/components/application_manager/test/include/application_manager/mock_application_manager.h index d22e90abea..2ce2abf3c0 100644 --- a/src/components/application_manager/test/include/application_manager/mock_application_manager.h +++ b/src/components/application_manager/test/include/application_manager/mock_application_manager.h @@ -43,6 +43,7 @@ #include "application_manager/hmi_capabilities.h" #include "application_manager/vehicle_info_data.h" #include "application_manager/state_controller.h" +#include "resumption/last_state.h" #include "interfaces/MOBILE_API.h" namespace test { diff --git a/src/components/application_manager/test/message_helper/CMakeLists.txt b/src/components/application_manager/test/message_helper/CMakeLists.txt index bfc0228bbb..0bb2e4dde1 100755 --- a/src/components/application_manager/test/message_helper/CMakeLists.txt +++ b/src/components/application_manager/test/message_helper/CMakeLists.txt @@ -30,32 +30,36 @@ if(BUILD_TESTS) -set(appMain_DIR ${CMAKE_SOURCE_DIR}/src/appMain) + include_directories( + ${GMOCK_INCLUDE_DIRECTORY} + ${COMPONENTS_DIR}/include/test + ${COMPONENTS_DIR}/application_manager/test/include + ) -include_directories( - ${GMOCK_INCLUDE_DIRECTORY} - ${COMPONENTS_DIR}/application_manager/test/message_helper/include - ${COMPONENTS_DIR}/application_manager/test/state_controller/include - ${COMPONENTS_DIR}/include - ${COMPONENTS_DIR} -) + set(LIBRARIES + gmock + ApplicationManager + jsoncpp + connectionHandler + Utils + ) -set(LIBRARIES - gmock - ApplicationManager - MessageHelper - jsoncpp - connectionHandler - MediaManager - Resumption - ProtocolHandler - Utils -) + if(${CMAKE_SYSTEM_NAME} MATCHES "Linux") + list(APPEND LIBRARIES MessageHelper) + endif() -set(SOURCES - #message_helper_test.cc -) + set(SOURCES + message_helper_test.cc + ) -create_test("message_helper_test" "${SOURCES}" "${LIBRARIES}") + if(QT_PORT) + link_directories (${CMAKE_SOURCE_DIR}/build/openssl_win_x86/lib) + endif() -endif() + if(NOT QT_PORT AND ${CMAKE_SYSTEM_NAME} MATCHES "Windows") + link_directories(${CMAKE_SOURCE_DIR}/build/openssl_win_x64/lib/) + endif() + + create_test("message_helper_test" "${SOURCES}" "${LIBRARIES}") + + endif() diff --git a/src/components/application_manager/test/message_helper/message_helper_test.cc b/src/components/application_manager/test/message_helper/message_helper_test.cc index 9979ba32e5..18a6a813a8 100644 --- a/src/components/application_manager/test/message_helper/message_helper_test.cc +++ b/src/components/application_manager/test/message_helper/message_helper_test.cc @@ -34,17 +34,11 @@ #include <vector> #include "gmock/gmock.h" -#include "utils/macro.h" #include "utils/make_shared.h" -#include "application_manager/policies/policy_handler.h" -#include "application_manager/test/resumption/include/application_mock.h" -#include "utils/custom_string.h" +#include "utils/lock.h" #include "policy/mock_policy_settings.h" -#include "application_manager/policies/policy_handler.h" +#include "application_manager/mock_application.h" #include "application_manager/mock_application_manager.h" -#include "application_manager/event_engine/event_dispatcher.h" -#include "application_manager/state_controller.h" -#include "application_manager/resumption/resume_ctrl.h" namespace application_manager { namespace test { @@ -52,16 +46,16 @@ namespace test { namespace HmiLanguage = hmi_apis::Common_Language; namespace HmiResults = hmi_apis::Common_Result; namespace MobileResults = mobile_apis::Result; +namespace application_manager_test = ::test::components::application_manager_test; +namespace policy_handler_test = ::test::components::policy_handler_test; -typedef ::test::components::resumption_test::MockApplication AppMock; +typedef application_manager_test::MockApplication AppMock; typedef utils::SharedPtr<AppMock> MockApplicationSharedPtr; typedef std::vector<std::string> StringArray; typedef ::application_manager::Application App; typedef utils::SharedPtr<App> ApplicationSharedPtr; using testing::AtLeast; -using testing::ReturnRefOfCopy; -using testing::ReturnRef; using testing::Return; TEST(MessageHelperTestCreate, @@ -93,7 +87,7 @@ TEST(MessageHelperTestCreate, } TEST(MessageHelperTestCreate, CreateSetAppIcon_SendNullPathImagetype_Equal) { - std::string path_to_icon = ""; + std::string path_to_icon; uint32_t app_id = 0; smart_objects::SmartObjectSPtr ptr = MessageHelper::CreateSetAppIcon(path_to_icon, app_id); @@ -132,7 +126,7 @@ TEST(MessageHelperTestCreate, CreateSetAppIcon_SendPathImagetype_Equal) { TEST(MessageHelperTestCreate, CreateGlobalPropertiesRequestsToHMI_SmartObject_EmptyList) { - MockApplicationSharedPtr appSharedMock = utils::MakeShared<MockApplication>(); + MockApplicationSharedPtr appSharedMock = utils::MakeShared<AppMock>(); EXPECT_CALL(*appSharedMock, vr_help_title()).Times(AtLeast(1)); EXPECT_CALL(*appSharedMock, vr_help()).Times(AtLeast(1)); @@ -227,11 +221,13 @@ TEST(MessageHelperTestCreate, CreateShowRequestToHMI_SendSmartObject_Equal) { TEST(MessageHelperTestCreate, CreateAddCommandRequestToHMI_SendSmartObject_Empty) { - MockApplicationSharedPtr appSharedMock = utils::MakeShared<MockApplication>(); ::application_manager::CommandsMap vis; - DataAccessor<application_manager::CommandsMap> data_accessor(vis, true); + sync_primitives::Lock lock(false); + DataAccessor<application_manager::CommandsMap> data_accessor(vis, lock); + MockApplicationSharedPtr appSharedMock = utils::MakeShared<AppMock>(); EXPECT_CALL(*appSharedMock, commands_map()).WillOnce(Return(data_accessor)); + application_manager_test::MockApplicationManager mock_application_manager; smart_objects::SmartObjectList ptr = @@ -243,9 +239,9 @@ TEST(MessageHelperTestCreate, TEST(MessageHelperTestCreate, CreateAddCommandRequestToHMI_SendSmartObject_Equal) { - MockApplicationSharedPtr appSharedMock = utils::MakeShared<AppMock>(); CommandsMap vis; - DataAccessor<CommandsMap> data_accessor(vis, true); + sync_primitives::Lock lock(false); + DataAccessor<application_manager::CommandsMap> data_accessor(vis, lock); smart_objects::SmartObjectSPtr smartObjectPtr = utils::MakeShared<smart_objects::SmartObject>(); @@ -257,6 +253,7 @@ TEST(MessageHelperTestCreate, vis.insert(std::pair<uint32_t, smart_objects::SmartObject*>(5, &object)); + MockApplicationSharedPtr appSharedMock = utils::MakeShared<AppMock>(); EXPECT_CALL(*appSharedMock, commands_map()).WillOnce(Return(data_accessor)); EXPECT_CALL(*appSharedMock, app_id()).WillOnce(Return(1u)); application_manager_test::MockApplicationManager mock_application_manager; @@ -285,10 +282,12 @@ TEST(MessageHelperTestCreate, TEST(MessageHelperTestCreate, CreateAddVRCommandRequestFromChoiceToHMI_SendEmptyData_EmptyList) { - MockApplicationSharedPtr appSharedMock = utils::MakeShared<AppMock>(); application_manager::ChoiceSetMap vis; - DataAccessor< ::application_manager::ChoiceSetMap> data_accessor(vis, true); + sync_primitives::Lock lock(false); + DataAccessor< ::application_manager::ChoiceSetMap> data_accessor(vis, lock); + + MockApplicationSharedPtr appSharedMock = utils::MakeShared<AppMock>(); EXPECT_CALL(*appSharedMock, choice_set_map()).WillOnce(Return(data_accessor)); application_manager_test::MockApplicationManager mock_application_manager; @@ -301,9 +300,11 @@ TEST(MessageHelperTestCreate, TEST(MessageHelperTestCreate, CreateAddVRCommandRequestFromChoiceToHMI_SendObject_EqualList) { - MockApplicationSharedPtr appSharedMock = utils::MakeShared<AppMock>(); application_manager::ChoiceSetMap vis; - DataAccessor< ::application_manager::ChoiceSetMap> data_accessor(vis, true); + + sync_primitives::Lock lock(false); + DataAccessor< ::application_manager::ChoiceSetMap> data_accessor(vis, lock); + smart_objects::SmartObjectSPtr smartObjectPtr = utils::MakeShared<smart_objects::SmartObject>(); @@ -320,6 +321,7 @@ TEST(MessageHelperTestCreate, vis.insert(std::pair<uint32_t, smart_objects::SmartObject*>(8, &object)); vis.insert(std::pair<uint32_t, smart_objects::SmartObject*>(9, &object)); + MockApplicationSharedPtr appSharedMock = utils::MakeShared<AppMock>(); EXPECT_CALL(*appSharedMock, choice_set_map()).WillOnce(Return(data_accessor)); EXPECT_CALL(*appSharedMock, app_id()) .Times(AtLeast(5)) @@ -348,9 +350,11 @@ TEST(MessageHelperTestCreate, } TEST(MessageHelperTestCreate, CreateAddSubMenuRequestToHMI_SendObject_Equal) { - MockApplicationSharedPtr appSharedMock = utils::MakeShared<AppMock>(); application_manager::SubMenuMap vis; - DataAccessor< ::application_manager::SubMenuMap> data_accessor(vis, true); + + sync_primitives::Lock lock(false); + DataAccessor< ::application_manager::SubMenuMap> data_accessor(vis, lock); + smart_objects::SmartObjectSPtr smartObjectPtr = utils::MakeShared<smart_objects::SmartObject>(); @@ -361,6 +365,7 @@ TEST(MessageHelperTestCreate, CreateAddSubMenuRequestToHMI_SendObject_Equal) { vis.insert(std::pair<uint32_t, smart_objects::SmartObject*>(5, &object)); + MockApplicationSharedPtr appSharedMock = utils::MakeShared<AppMock>(); EXPECT_CALL(*appSharedMock, sub_menu_map()).WillOnce(Return(data_accessor)); EXPECT_CALL(*appSharedMock, app_id()).Times(AtLeast(1)).WillOnce(Return(1u)); @@ -387,10 +392,12 @@ TEST(MessageHelperTestCreate, CreateAddSubMenuRequestToHMI_SendObject_Equal) { TEST(MessageHelperTestCreate, CreateAddSubMenuRequestToHMI_SendEmptyMap_EmptySmartObjectList) { - MockApplicationSharedPtr appSharedMock = utils::MakeShared<AppMock>(); application_manager::SubMenuMap vis; - DataAccessor< ::application_manager::SubMenuMap> data_accessor(vis, true); + sync_primitives::Lock lock(false); + DataAccessor< ::application_manager::SubMenuMap> data_accessor(vis, lock); + + MockApplicationSharedPtr appSharedMock = utils::MakeShared<AppMock>(); EXPECT_CALL(*appSharedMock, sub_menu_map()).WillOnce(Return(data_accessor)); const uint32_t cor_id = 0u; @@ -441,137 +448,169 @@ TEST(MessageHelperTestCreate, CreateNegativeResponse_SendSmartObject_Equal) { class MessageHelperTest : public ::testing::Test { public: - MessageHelperTest() - : language_strings{"EN-US", "ES-MX", "FR-CA", "DE-DE", "ES-ES", "EN-GB", - "RU-RU", "TR-TR", "PL-PL", "FR-FR", "IT-IT", "SV-SE", - "PT-PT", "NL-NL", "EN-AU", "ZH-CN", "ZH-TW", "JA-JP", - "AR-SA", "KO-KR", "PT-BR", "CS-CZ", "DA-DK", "NO-NO", - "NL-BE", "EL-GR", "HU-HU", "FI-FI", "SK-SK"} - , hmi_result_strings{"SUCCESS", - "UNSUPPORTED_REQUEST", - "UNSUPPORTED_RESOURCE", - "DISALLOWED", - "REJECTED", - "ABORTED", - "IGNORED", - "RETRY", - "IN_USE", - "DATA_NOT_AVAILABLE", - "TIMED_OUT", - "INVALID_DATA", - "CHAR_LIMIT_EXCEEDED", - "INVALID_ID", - "DUPLICATE_NAME", - "APPLICATION_NOT_REGISTERED", - "WRONG_LANGUAGE", - "OUT_OF_MEMORY", - "TOO_MANY_PENDING_REQUESTS", - "NO_APPS_REGISTERED", - "NO_DEVICES_CONNECTED", - "WARNINGS", - "GENERIC_ERROR", - "USER_DISALLOWED", - "TRUNCATED_DATA"} - , mobile_result_strings{"SUCCESS", - "UNSUPPORTED_REQUEST", - "UNSUPPORTED_RESOURCE", - "DISALLOWED", - "REJECTED", - "ABORTED", - "IGNORED", - "RETRY", - "IN_USE", - "VEHICLE_DATA_NOT_AVAILABLE", - "TIMED_OUT", - "INVALID_DATA", - "CHAR_LIMIT_EXCEEDED", - "INVALID_ID", - "DUPLICATE_NAME", - "APPLICATION_NOT_REGISTERED", - "WRONG_LANGUAGE", - "OUT_OF_MEMORY", - "TOO_MANY_PENDING_REQUESTS", - "TOO_MANY_APPLICATIONS", - "APPLICATION_REGISTERED_ALREADY", - "WARNINGS", - "GENERIC_ERROR", - "USER_DISALLOWED", - "UNSUPPORTED_VERSION", - "VEHICLE_DATA_NOT_ALLOWED", - "FILE_NOT_FOUND", - "CANCEL_ROUTE", - "TRUNCATED_DATA", - "SAVED", - "INVALID_CERT", - "EXPIRED_CERT", - "RESUME_FAILED"} - , function_id_strings{"RESERVED", - "RegisterAppInterface", - "UnregisterAppInterface", - "SetGlobalProperties", - "ResetGlobalProperties", - "AddCommand", - "DeleteCommand", - "AddSubMenu", - "DeleteSubMenu", - "CreateInteractionChoiceSet", - "PerformInteraction", - "DeleteInteractionChoiceSet", - "Alert", - "Show", - "Speak", - "SetMediaClockTimer", - "PerformAudioPassThru", - "EndAudioPassThru", - "SubscribeButton", - "UnsubscribeButton", - "SubscribeVehicleData", - "UnsubscribeVehicleData", - "GetVehicleData", - "ReadDID", - "GetDTCs", - "ScrollableMessage", - "Slider", - "ShowConstantTBT", - "AlertManeuver", - "UpdateTurnList", - "ChangeRegistration", - "GenericResponse", - "PutFile", - "DeleteFile", - "ListFiles", - "SetAppIcon", - "SetDisplayLayout", - "DiagnosticMessage", - "SystemRequest", - "SendLocation", - "DialNumber"} - , events_id_strings{"OnHMIStatus", - "OnAppInterfaceUnregistered", - "OnButtonEvent", - "OnButtonPress", - "OnVehicleData", - "OnCommand", - "OnTBTClientState", - "OnDriverDistraction", - "OnPermissionsChange", - "OnAudioPassThru", - "OnLanguageChange", - "OnKeyboardInput", - "OnTouchEvent", - "OnSystemRequest", - "OnHashChange"} - , hmi_level_strings{"FULL", "LIMITED", "BACKGROUND", "NONE"} - , delta_from_functions_id(32768) {} + MessageHelperTest() : delta_from_functions_id(32768) { + language_strings.push_back("EN-US"); + language_strings.push_back("ES-MX"); + language_strings.push_back("FR-CA"); + language_strings.push_back("DE-DE"); + language_strings.push_back("ES-ES"); + language_strings.push_back("EN-GB"); + language_strings.push_back("RU-RU"); + language_strings.push_back("TR-TR"); + language_strings.push_back("PL-PL"); + language_strings.push_back("FR-FR"); + language_strings.push_back("IT-IT"); + language_strings.push_back("SV-SE"); + language_strings.push_back("PT-PT"); + language_strings.push_back("NL-NL"); + language_strings.push_back("EN-AU"); + language_strings.push_back("ZH-CN"); + language_strings.push_back("ZH-TW"); + language_strings.push_back("JA-JP"); + language_strings.push_back("AR-SA"); + language_strings.push_back("KO-KR"); + language_strings.push_back("PT-BR"); + language_strings.push_back("CS-CZ"); + language_strings.push_back("DA-DK"); + language_strings.push_back("NO-NO"); + language_strings.push_back("NL-BE"); + language_strings.push_back("EL-GR"); + language_strings.push_back("HU-HU"); + language_strings.push_back("FI-FI"); + language_strings.push_back("SK-SK"); + + hmi_result_strings.push_back("SUCCESS"); + hmi_result_strings.push_back("UNSUPPORTED_REQUEST"); + hmi_result_strings.push_back("UNSUPPORTED_RESOURCE"); + hmi_result_strings.push_back("DISALLOWED"); + hmi_result_strings.push_back("REJECTED"); + hmi_result_strings.push_back("ABORTED"); + hmi_result_strings.push_back("IGNORED"); + hmi_result_strings.push_back("RETRY"); + hmi_result_strings.push_back("IN_USE"); + hmi_result_strings.push_back("DATA_NOT_AVAILABLE"); + hmi_result_strings.push_back("TIMED_OUT"); + hmi_result_strings.push_back("INVALID_DATA"); + hmi_result_strings.push_back("CHAR_LIMIT_EXCEEDED"); + hmi_result_strings.push_back("INVALID_ID"); + hmi_result_strings.push_back("DUPLICATE_NAME"); + hmi_result_strings.push_back("APPLICATION_NOT_REGISTERED"); + hmi_result_strings.push_back("WRONG_LANGUAGE"); + hmi_result_strings.push_back("OUT_OF_MEMORY"); + hmi_result_strings.push_back("TOO_MANY_PENDING_REQUESTS"); + hmi_result_strings.push_back("NO_APPS_REGISTERED"); + hmi_result_strings.push_back("NO_DEVICES_CONNECTED"); + hmi_result_strings.push_back("WARNINGS"); + hmi_result_strings.push_back("GENERIC_ERROR"); + hmi_result_strings.push_back("USER_DISALLOWED"); + hmi_result_strings.push_back("TRUNCATED_DATA"); + + mobile_result_strings.push_back("SUCCESS"); + mobile_result_strings.push_back("UNSUPPORTED_REQUEST"); + mobile_result_strings.push_back("UNSUPPORTED_RESOURCE"); + mobile_result_strings.push_back("DISALLOWED"); + mobile_result_strings.push_back("REJECTED"); + mobile_result_strings.push_back("ABORTED"); + mobile_result_strings.push_back("IGNORED"); + mobile_result_strings.push_back("RETRY"); + mobile_result_strings.push_back("IN_USE"); + mobile_result_strings.push_back("VEHICLE_DATA_NOT_AVAILABLE"); + mobile_result_strings.push_back("TIMED_OUT"); + mobile_result_strings.push_back("INVALID_DATA"); + mobile_result_strings.push_back("CHAR_LIMIT_EXCEEDED"); + mobile_result_strings.push_back("INVALID_ID"); + mobile_result_strings.push_back("DUPLICATE_NAME"); + mobile_result_strings.push_back("APPLICATION_NOT_REGISTERED"); + mobile_result_strings.push_back("WRONG_LANGUAGE"); + mobile_result_strings.push_back("OUT_OF_MEMORY"); + mobile_result_strings.push_back("TOO_MANY_PENDING_REQUESTS"); + mobile_result_strings.push_back("TOO_MANY_APPLICATIONS"); + mobile_result_strings.push_back("APPLICATION_REGISTERED_ALREADY"); + mobile_result_strings.push_back("WARNINGS"); + mobile_result_strings.push_back("GENERIC_ERROR"); + mobile_result_strings.push_back("USER_DISALLOWED"); + mobile_result_strings.push_back("UNSUPPORTED_VERSION"); + mobile_result_strings.push_back("VEHICLE_DATA_NOT_ALLOWED"); + mobile_result_strings.push_back("FILE_NOT_FOUND"); + mobile_result_strings.push_back("CANCEL_ROUTE"); + mobile_result_strings.push_back("TRUNCATED_DATA"); + mobile_result_strings.push_back("SAVED"); + mobile_result_strings.push_back("INVALID_CERT"); + mobile_result_strings.push_back("EXPIRED_CERT"); + mobile_result_strings.push_back("RESUME_FAILED"); + + function_id_strings.push_back("RESERVED"); + function_id_strings.push_back("RegisterAppInterface"); + function_id_strings.push_back("UnregisterAppInterface"); + function_id_strings.push_back("SetGlobalProperties"); + function_id_strings.push_back("ResetGlobalProperties"); + function_id_strings.push_back("AddCommand"); + function_id_strings.push_back("DeleteCommand"); + function_id_strings.push_back("AddSubMenu"); + function_id_strings.push_back("DeleteSubMenu"); + function_id_strings.push_back("CreateInteractionChoiceSet"); + function_id_strings.push_back("PerformInteraction"); + function_id_strings.push_back("DeleteInteractionChoiceSet"); + function_id_strings.push_back("Alert"); + function_id_strings.push_back("Show"); + function_id_strings.push_back("Speak"); + function_id_strings.push_back("SetMediaClockTimer"); + function_id_strings.push_back("PerformAudioPassThru"); + function_id_strings.push_back("EndAudioPassThru"); + function_id_strings.push_back("SubscribeButton"); + function_id_strings.push_back("UnsubscribeButton"); + function_id_strings.push_back("SubscribeVehicleData"); + function_id_strings.push_back("UnsubscribeVehicleData"); + function_id_strings.push_back("GetVehicleData"); + function_id_strings.push_back("ReadDID"); + function_id_strings.push_back("GetDTCs"); + function_id_strings.push_back("ScrollableMessage"); + function_id_strings.push_back("Slider"); + function_id_strings.push_back("ShowConstantTBT"); + function_id_strings.push_back("AlertManeuver"); + function_id_strings.push_back("UpdateTurnList"); + function_id_strings.push_back("ChangeRegistration"); + function_id_strings.push_back("GenericResponse"); + function_id_strings.push_back("PutFile"); + function_id_strings.push_back("DeleteFile"); + function_id_strings.push_back("ListFiles"); + function_id_strings.push_back("SetAppIcon"); + function_id_strings.push_back("SetDisplayLayout"); + function_id_strings.push_back("DiagnosticMessage"); + function_id_strings.push_back("SystemRequest"); + function_id_strings.push_back("SendLocation"); + function_id_strings.push_back("DialNumber"); + + events_id_strings.push_back("OnHMIStatus"); + events_id_strings.push_back("OnAppInterfaceUnregistered"); + events_id_strings.push_back("OnButtonEvent"); + events_id_strings.push_back("OnButtonPress"); + events_id_strings.push_back("OnVehicleData"); + events_id_strings.push_back("OnCommand"); + events_id_strings.push_back("OnTBTClientState"); + events_id_strings.push_back("OnDriverDistraction"); + events_id_strings.push_back("OnPermissionsChange"); + events_id_strings.push_back("OnAudioPassThru"); + events_id_strings.push_back("OnLanguageChange"); + events_id_strings.push_back("OnKeyboardInput"); + events_id_strings.push_back("OnTouchEvent"); + events_id_strings.push_back("OnSystemRequest"); + events_id_strings.push_back("OnHashChange"); + + hmi_level_strings.push_back("FULL"); + hmi_level_strings.push_back("LIMITED"); + hmi_level_strings.push_back("BACKGROUND"); + hmi_level_strings.push_back("NONE"); + } protected: application_manager_test::MockApplicationManager mock_application_manager; - const StringArray language_strings; - const StringArray hmi_result_strings; - const StringArray mobile_result_strings; - const StringArray function_id_strings; - const StringArray events_id_strings; - const StringArray hmi_level_strings; + StringArray language_strings; + StringArray hmi_result_strings; + StringArray mobile_result_strings; + StringArray function_id_strings; + StringArray events_id_strings; + StringArray hmi_level_strings; const size_t delta_from_functions_id; }; @@ -678,24 +717,26 @@ TEST_F(MessageHelperTest, } TEST_F(MessageHelperTest, VerifySoftButtonString_WrongStrings_False) { - const StringArray wrong_strings{"soft_button1\t\ntext", - "soft_button1\\ntext", - "soft_button1\\ttext", - " ", - "soft_button1\t\n", - "soft_button1\\n", - "soft_button1\\t"}; + StringArray wrong_strings; + wrong_strings.push_back("soft_button1\t\ntext"); + wrong_strings.push_back("soft_button1\\ntext"); + wrong_strings.push_back("soft_button1\\ttext"); + wrong_strings.push_back(" "); + wrong_strings.push_back("soft_button1\t\n"); + wrong_strings.push_back("soft_button1\\n"); + wrong_strings.push_back("soft_button1\\t"); for (size_t i = 0; i < wrong_strings.size(); ++i) { EXPECT_FALSE(MessageHelper::VerifySoftButtonString(wrong_strings[i])); } } TEST_F(MessageHelperTest, VerifySoftButtonString_CorrectStrings_True) { - const StringArray wrong_strings{"soft_button1.text", - "soft_button1?text", - " asd asdasd .././/", - "soft_button1??....asd", - "soft_button12313fcvzxc./.,"}; + StringArray wrong_strings; + wrong_strings.push_back("soft_button1.text"); + wrong_strings.push_back("soft_button1?text"); + wrong_strings.push_back(" asd asdasd .././/"); + wrong_strings.push_back("soft_button1??....asd"); + wrong_strings.push_back("soft_button12313fcvzxc./.,"); for (size_t i = 0; i < wrong_strings.size(); ++i) { EXPECT_TRUE(MessageHelper::VerifySoftButtonString(wrong_strings[i])); } @@ -703,13 +744,16 @@ TEST_F(MessageHelperTest, VerifySoftButtonString_CorrectStrings_True) { TEST_F(MessageHelperTest, GetIVISubscriptionRequests_ValidApplication_HmiRequestNotEmpty) { - // Creating sharedPtr to MockApplication - MockApplicationSharedPtr appSharedMock = utils::MakeShared<AppMock>(); // Creating data acessor application_manager::VehicleInfoSubscriptions vis; + + sync_primitives::Lock lock(false); DataAccessor<application_manager::VehicleInfoSubscriptions> data_accessor( - vis, true); + vis, lock); + // Calls for ApplicationManager + // Creating sharedPtr to MockApplication + MockApplicationSharedPtr appSharedMock = utils::MakeShared<AppMock>(); EXPECT_CALL(*appSharedMock, app_id()).WillOnce(Return(1u)); EXPECT_CALL(*appSharedMock, SubscribedIVI()).WillOnce(Return(data_accessor)); smart_objects::SmartObjectList outList = @@ -721,14 +765,14 @@ TEST_F(MessageHelperTest, TEST_F(MessageHelperTest, ProcessSoftButtons_SmartObjectWithoutButtonsKey_Success) { - // Creating sharedPtr to MockApplication - MockApplicationSharedPtr appSharedMock = utils::MakeShared<AppMock>(); // Creating input data for method smart_objects::SmartObject object; policy_handler_test::MockPolicySettings policy_settings_; - const policy::PolicyHandler policy_handler(policy_settings_, - mock_application_manager); + policy::PolicyHandler policy_handler(policy_settings_, + mock_application_manager); // Method call + // Creating sharedPtr to MockApplication + MockApplicationSharedPtr appSharedMock = utils::MakeShared<AppMock>(); mobile_apis::Result::eType result = MessageHelper::ProcessSoftButtons( object, appSharedMock, policy_handler, mock_application_manager); // Expect diff --git a/src/components/application_manager/test/policy_event_observer_test.cc b/src/components/application_manager/test/policy_event_observer_test.cc index 25b54453e5..8aa83a0e33 100644 --- a/src/components/application_manager/test/policy_event_observer_test.cc +++ b/src/components/application_manager/test/policy_event_observer_test.cc @@ -61,7 +61,7 @@ class PolicyEventObserverTest : public ::testing::Test { Event* event_; smart_objects::SmartObject smart_object_; const std::string field_name; - const int field_value = 100; + static const int field_value = 100; virtual void SetUp() OVERRIDE { policy_event_observer_ = diff --git a/src/components/application_manager/test/resumption/resumption_data_test.cc b/src/components/application_manager/test/resumption/resumption_data_test.cc index 91c18ea1fc..5e0f2ecb8b 100644 --- a/src/components/application_manager/test/resumption/resumption_data_test.cc +++ b/src/components/application_manager/test/resumption/resumption_data_test.cc @@ -43,6 +43,10 @@ #include "resumption_data_test.h" +#if defined(_MSC_VER) +#define snprintf _snprintf_s +#endif + namespace test { namespace components { namespace resumption_test { @@ -148,7 +152,7 @@ void ResumptionDataTest::CheckChoiceSet(sm::SmartObject& res_list) { sm::SmartObject command = res_list[i][am::strings::choice_set][j]; EXPECT_EQ(i + j, command[am::strings::choice_id].asUInt()); char numb[12]; - std::snprintf(numb, 12, "%d", i + j); + snprintf(numb, 12, "%d", i + j); std::string test_choice = (*test_choiceset_map[i])[am::strings::choice_set][j] [am::strings::vr_commands][0].asString(); @@ -208,9 +212,9 @@ void ResumptionDataTest::CheckChoiceSet(sm::SmartObject& res_list) { void ResumptionDataTest::CheckAppFiles(sm::SmartObject& res_list) { am::AppFile check_file; - for (uint i = 0; i < count_of_files; ++i) { + for (size_t i = 0; i < count_of_files; ++i) { char numb[12]; - std::snprintf(numb, 12, "%d", i); + snprintf(numb, 12, "%lu", i); check_file = app_files_map_["test_file " + std::string(numb)]; EXPECT_EQ(check_file.file_name, res_list[i][am::strings::sync_file_name].asString()); @@ -245,7 +249,7 @@ void ResumptionDataTest::CheckKeyboardProperties(sm::SmartObject& res_list) { std::string auto_complete_text = (*keyboard_props_)[am::strings::auto_complete_text].asString(); - for (uint i = 0; + for (size_t i = 0; i < (*keyboard_props_)[am::strings::limited_character_list].length(); i++) { std::string character = @@ -284,7 +288,7 @@ void ResumptionDataTest::CheckMenuIcon(sm::SmartObject& res_list) { } void ResumptionDataTest::CheckHelpPrompt(sm::SmartObject& res_list) { - for (uint i = 0; i < tts_chunks_count; ++i) { + for (size_t i = 0; i < tts_chunks_count; ++i) { std::string promt = (*help_prompt_)[i][am::strings::help_prompt].asString(); std::string dict_promt = res_list[i][am::strings::help_prompt].asString(); EXPECT_EQ(promt, dict_promt); @@ -293,7 +297,7 @@ void ResumptionDataTest::CheckHelpPrompt(sm::SmartObject& res_list) { void ResumptionDataTest::CheckTimeoutPrompt( NsSmartDeviceLink::NsSmartObjects::SmartObject& res_list) { - for (uint i = 0; i < tts_chunks_count; ++i) { + for (size_t i = 0; i < tts_chunks_count; ++i) { std::string text = (*timeout_prompt_)[i][am::strings::text].asString(); SpeechCapabilities::eType speech = static_cast<SpeechCapabilities::eType>( (*timeout_prompt_)[i][am::strings::type].asInt()); @@ -307,7 +311,7 @@ void ResumptionDataTest::CheckTimeoutPrompt( void ResumptionDataTest::CheckVRHelp(sm::SmartObject& res_list) { std::string text; int position; - for (uint i = 0; i < count_of_vrhelptitle; ++i) { + for (size_t i = 0; i < count_of_vrhelptitle; ++i) { text = (*vr_help_)[i][am::strings::text].asString(); EXPECT_EQ(text, res_list[i][am::strings::text].asString()); position = (*vr_help_)[i][am::strings::position].asInt(); @@ -392,16 +396,16 @@ void ResumptionDataTest::SetHelpAndTimeoutPrompt() { sm::SmartObject help_prompt; sm::SmartObject timeout_prompt; - for (uint i = 0; i < tts_chunks_count + 3; ++i) { + for (size_t i = 0; i < tts_chunks_count + 3; ++i) { char numb[12]; - std::snprintf(numb, 12, "%d", i); + snprintf(numb, 12, "%lu", i); help_prompt[i][am::strings::text] = "help prompt name" + std::string(numb); help_prompt[i][am::strings::type] = SpeechCapabilities::PRE_RECORDED; } help_prompt_ = new sm::SmartObject(help_prompt); - for (uint i = 0; i < tts_chunks_count; ++i) { + for (size_t i = 0; i < tts_chunks_count; ++i) { char numb[12]; - std::snprintf(numb, 12, "%d", i); + snprintf(numb, 12, "%lu", i); timeout_prompt[i][am::strings::text] = "timeout test" + std::string(numb); timeout_prompt[i][am::strings::type] = SpeechCapabilities::SC_TEXT; } @@ -414,9 +418,9 @@ void ResumptionDataTest::SetVRHelpTitle() { vr_help_title = "vr help title"; sm::SmartObject vr_help; - for (uint i = 0; i < count_of_vrhelptitle; ++i) { + for (size_t i = 0; i < count_of_vrhelptitle; ++i) { char numb[12]; - std::snprintf(numb, 12, "%d", i); + snprintf(numb, 12, "%lu", i); vr_help[i][am::strings::text] = "vr help " + std::string(numb); vr_help[i][am::strings::position] = i; } @@ -432,16 +436,16 @@ void ResumptionDataTest::SetCommands() { sm::SmartObject sm_icon; for (uint32_t i = 0; i < count_of_commands; ++i) { char numb[12]; - std::snprintf(numb, 12, "%d", i); + snprintf(numb, 12, "%d", i); sm_comm[am::strings::cmd_id] = i; sm_comm[am::strings::menu_params][am::strings::position] = i; sm_comm[am::strings::menu_params][am::hmi_request::parent_id] = i; sm_comm[am::strings::menu_params][am::strings::menu_name] = "Command" + std::string(numb); - for (uint32_t j = 0; j < count_of_choice; ++j) { + for (size_t j = 0; j < count_of_choice; ++j) { char vr[12]; - std::snprintf(vr, 12, "%d", i + j); + snprintf(numb, 12, "%lu", i + j); vr_commandsvector[j] = "VrCommand " + std::string(vr); } sm_comm[am::strings::vr_commands] = vr_commandsvector; @@ -457,9 +461,9 @@ void ResumptionDataTest::SetCommands() { void ResumptionDataTest::SetSubmenues() { sm::SmartObject sm_comm; - for (uint32_t i = 10; i < count_of_submenues + 10; ++i) { + for (size_t i = 10; i < count_of_submenues + 10; ++i) { char numb[12]; - std::snprintf(numb, 12, "%d", i); + snprintf(numb, 12, "%lu", i); sm_comm[am::strings::menu_id] = i; sm_comm[am::strings::position] = i; sm_comm[am::strings::menu_name] = "SubMenu" + std::string(numb); @@ -476,9 +480,9 @@ void ResumptionDataTest::SetChoiceSet() { sm::SmartObject app_choice_set; sm::SmartObject application_choice_sets; for (uint32_t i = 0; i < count_of_choice_sets; ++i) { - for (uint32_t j = 0; j < count_of_choice; ++j) { + for (size_t j = 0; j < count_of_choice; ++j) { char numb[12]; - std::snprintf(numb, 12, "%d", i + j); + snprintf(numb, 12, "%lu", i + j); choice[am::strings::choice_id] = i + j; vr_commandsvector[0] = "ChoiceSet VrCommand " + std::string(numb); @@ -512,9 +516,9 @@ void ResumptionDataTest::SetChoiceSet() { void ResumptionDataTest::SetAppFiles() { am::AppFile test_file; int file_types; - for (uint i = 0; i < count_of_files; ++i) { + for (size_t i = 0; i < count_of_files; ++i) { char numb[12]; - std::snprintf(numb, 12, "%d", i); + snprintf(numb, 12, "%lu", i); file_types = i; test_file.is_persistent = true; test_file.is_download_complete = true; diff --git a/src/components/application_manager/test/resumption_sql_queries_test.cc b/src/components/application_manager/test/resumption_sql_queries_test.cc index b4d490c2ee..77ce7266b0 100644 --- a/src/components/application_manager/test/resumption_sql_queries_test.cc +++ b/src/components/application_manager/test/resumption_sql_queries_test.cc @@ -37,8 +37,7 @@ #include <utility> #include "gtest/gtest.h" -#include "utils/sqlite_wrapper/sql_database.h" -#include "utils/sqlite_wrapper/sql_query.h" +#include "utils/sql_wrapper.h" #include "utils/file_system.h" #include "application_manager/resumption/resumption_sql_queries.h" #include "policy/sql_pt_queries.h" @@ -84,7 +83,9 @@ const string kDeleteData = "COMMIT; " "VACUUM;"; -const std::string kJournalOff = "PRAGMA journal_mode = OFF;"; +const static std::string kJournalOff = "PRAGMA journal_mode = OFF;"; +const static std::string db_path = "test"; +const static std::string connection_name = "test_connection"; class ResumptionSqlQueriesTest : public ::testing::Test { public: @@ -113,7 +114,7 @@ class ResumptionSqlQueriesTest : public ::testing::Test { static const int timeStamp2; static void SetUpTestCase() { - db_ = new SQLDatabase(); + db_ = new SQLDatabase(db_path, connection_name); ASSERT_TRUE(db_->Open()); ASSERT_TRUE(db_->IsReadWrite()); SQLQuery query(db_); @@ -194,7 +195,8 @@ class ResumptionSqlQueriesTest : public ::testing::Test { bool isMediaApplication, const string& appID, const string& deviceID, - const int64_t glob_prop_key); + const int64_t glob_prop_key, + const bool isSubscribedForWayPoints); SQLQuery& FillImageTable(SQLQuery& query, const int imageType, @@ -519,7 +521,8 @@ SQLQuery& ResumptionSqlQueriesTest::FillApplicationTable( bool isMediaApplication, const string& appID, const string& deviceID, - const int64_t glob_prop_key) { + const int64_t glob_prop_key, + const bool isSubscribedForWayPoints) { EXPECT_TRUE(query.Prepare(kInsertApplication)); query.Bind(0, connection_key); query.Bind(1, grammarID); @@ -532,6 +535,7 @@ SQLQuery& ResumptionSqlQueriesTest::FillApplicationTable( query.Bind(8, isMediaApplication); query.Bind(9, appID); query.Bind(10, deviceID); + query.Bind(11, isSubscribedForWayPoints); EXPECT_TRUE(query.Exec()); return query; } @@ -818,7 +822,8 @@ TEST_F(ResumptionSqlQueriesTest, kSelectCountHMILevel_ExpectDataCorrect) { false, app_id1, device_id, - key); + key, + true); ValToPosPair p1(0, device_id); ValToPosPair p2(1, app_id1); @@ -844,7 +849,8 @@ TEST_F(ResumptionSqlQueriesTest, kSelectHMILevel_ExpectDataCorrect) { false, app_id1, device_id, - key); + key, + true); ValToPosPair p1(0, device_id); ValToPosPair p2(1, app_id1); // Check @@ -869,7 +875,8 @@ TEST_F(ResumptionSqlQueriesTest, kCheckHMIId_ExpectDataCorrect) { false, app_id1, device_id, - key); + key, + true); ValToPosPair p1(0, IntToString(hmiAppID)); ValToPosPair p2(1, ""); // Check @@ -894,7 +901,8 @@ TEST_F(ResumptionSqlQueriesTest, kSelectHMIId_ExpectDataCorrect) { false, app_id1, device_id, - key); + key, + true); ValToPosPair p1(0, device_id); ValToPosPair p2(1, app_id1); // Check @@ -919,7 +927,8 @@ TEST_F(ResumptionSqlQueriesTest, kSelectCountHMIId_ExpectDataCorrect) { false, app_id1, device_id, - key); + key, + true); ValToPosPair p1(0, device_id); ValToPosPair p2(1, app_id1); @@ -945,7 +954,8 @@ TEST_F(ResumptionSqlQueriesTest, kCountHashId_ExpectDataCorrect) { false, app_id1, device_id, - key); + key, + true); ValToPosPair p1(0, device_id); ValToPosPair p2(1, app_id1); @@ -971,7 +981,8 @@ TEST_F(ResumptionSqlQueriesTest, kSelectHashId_ExpectDataCorrect) { false, app_id1, device_id, - key); + key, + true); ValToPosPair p1(0, device_id); ValToPosPair p2(1, app_id1); // Check @@ -1005,7 +1016,8 @@ TEST_F(ResumptionSqlQueriesTest, kCheckApplication_ExpectDataCorrect) { false, app_id1, device_id, - key); + key, + true); ValToPosPair p1(0, device_id); ValToPosPair p2(1, app_id1); // Check @@ -1030,7 +1042,8 @@ TEST_F(ResumptionSqlQueriesTest, kCountApplications_ExpectDataCorrect) { false, app_id1, device_id, - key); + key, + true); key = FillImageTable(temp_query, 1, "tst_img2").LastInsertId(); key = FillGlobalPropertiesTable( @@ -1047,7 +1060,8 @@ TEST_F(ResumptionSqlQueriesTest, kCountApplications_ExpectDataCorrect) { false, app_id2, device_id, - key); + key, + true); // Check CheckSelectQuery(kCountApplications, 2, 0); } @@ -1072,7 +1086,8 @@ TEST_F(ResumptionSqlQueriesTest, false, app_id1, device_id, - key); + key, + true); // Checks CheckSelectQuery(kSelectDataForLoadResumeData, hmiLevel, 0); CheckSelectQuery(kSelectDataForLoadResumeData, ign_off_count, 1); @@ -1100,7 +1115,8 @@ TEST_F(ResumptionSqlQueriesTest, kUpdateHMILevel_ExpectDataUpdated) { false, app_id1, device_id, - key); + key, + true); // Act SQLQuery query_update_hmi_level(db()); EXPECT_TRUE(query_update_hmi_level.Prepare(kUpdateHMILevel)); @@ -1132,7 +1148,8 @@ TEST_F(ResumptionSqlQueriesTest, kUpdateIgnOffCount_ExpectDataUpdated) { false, app_id1, device_id, - key); + key, + true); const std::string kSelectIgnOffCount = "SELECT ign_off_count FROM application;"; @@ -1164,7 +1181,8 @@ TEST_F(ResumptionSqlQueriesTest, kCountApplicationsIgnOff_ExpectDataCorrect) { false, app_id1, device_id, - key); + key, + true); FillApplicationTable(temp_query, connection_key, @@ -1177,7 +1195,8 @@ TEST_F(ResumptionSqlQueriesTest, kCountApplicationsIgnOff_ExpectDataCorrect) { false, app_id2, device_id, - key); + key, + true); ValToPosPair p1(0, IntToString(4)); ValToPosPair p2(1, ""); @@ -1204,7 +1223,8 @@ TEST_F(ResumptionSqlQueriesTest, false, app_id1, device_id, - key); + key, + true); FillApplicationTable(temp_query, connection_key, @@ -1217,7 +1237,8 @@ TEST_F(ResumptionSqlQueriesTest, false, app_id2, device_id, - key); + key, + true); ValToPosPair p1(0, IntToString(4)); ValToPosPair p2(1, ""); @@ -1244,7 +1265,8 @@ TEST_F(ResumptionSqlQueriesTest, kUpdateSuspendData_ExpectDataUpdated) { false, app_id1, device_id, - key); + key, + true); // Act SQLQuery query_update_suspend_data(db()); @@ -1273,7 +1295,8 @@ TEST_F(ResumptionSqlQueriesTest, kDeleteFile_ExpectDataDeleted) { false, app_id2, device_id, - key1).LastInsertId(); + key1, + true).LastInsertId(); int64_t key2 = FillFileTable(temp_query, 1, true, true, "tst_name").LastInsertId(); FillApplicationFilesArrayTable(temp_query, key1, key2); @@ -1303,7 +1326,8 @@ TEST_F(ResumptionSqlQueriesTest, false, app_id2, device_id, - key1).LastInsertId(); + key1, + true).LastInsertId(); int64_t key2 = FillFileTable(temp_query, 1, true, true, "tst_name").LastInsertId(); FillApplicationFilesArrayTable(temp_query, key1, key2); @@ -1339,7 +1363,8 @@ TEST_F(ResumptionSqlQueriesTest, kDeleteSubMenu_ExpectDataDeleted) { false, app_id2, device_id, - key).LastInsertId(); + key, + true).LastInsertId(); int64_t submenu_key = FillSubMenuTable(temp_query, 1, "tst_menuName", 2).LastInsertId(); @@ -1370,7 +1395,8 @@ TEST_F(ResumptionSqlQueriesTest, false, app_id2, device_id, - key).LastInsertId(); + key, + true).LastInsertId(); int64_t submenu_key = FillSubMenuTable(temp_query, 1, "tst_menuName", 2).LastInsertId(); @@ -1404,7 +1430,8 @@ TEST_F(ResumptionSqlQueriesTest, false, app_id2, device_id, - key1).LastInsertId(); + key1, + true).LastInsertId(); int64_t key2 = FillFileTable(temp_query, 1, true, true, "tst_name").LastInsertId(); key1 = FillApplicationFilesArrayTable(temp_query, key1, key2).LastInsertId(); @@ -1443,7 +1470,8 @@ TEST_F(ResumptionSqlQueriesTest, kDeleteImageFromCommands_ExpectDataDeleted) { false, app_id2, device_id, - key1).LastInsertId(); + key1, + true).LastInsertId(); FillApplicationCommandsArrayTable(temp_query, key1, key2); // Check before action const std::string select_count_image = "SELECT COUNT(*) FROM image;"; @@ -1473,7 +1501,8 @@ TEST_F(ResumptionSqlQueriesTest, kDeleteVrCommands_ExpectDataDeleted) { false, app_id2, device_id, - key1).LastInsertId(); + key1, + true).LastInsertId(); FillVRCommandsArrayTable( temp_query, "tst_vr_command", kVRCommandFromCommand, key2); @@ -1508,7 +1537,8 @@ TEST_F(ResumptionSqlQueriesTest, kDeleteCommands_ExpectDataDeleted) { false, app_id2, device_id, - key1).LastInsertId(); + key1, + true).LastInsertId(); FillApplicationCommandsArrayTable(temp_query, key1, key2); // Check @@ -1540,7 +1570,8 @@ TEST_F(ResumptionSqlQueriesTest, false, app_id2, device_id, - key1).LastInsertId(); + key1, + true).LastInsertId(); FillApplicationCommandsArrayTable(temp_query, key1, key2); // Check @@ -1557,7 +1588,10 @@ TEST_F(ResumptionSqlQueriesTest, 0); } -TEST_F(ResumptionSqlQueriesTest, kDeleteImageFromChoiceSet_ExpectDataDeleted) { +// FIXME(AOleynik): kDeleteImageFromChoiceSet uses same params twice and +// CheckDeleteQuery does not handle this +TEST_F(ResumptionSqlQueriesTest, + DISABLED_kDeleteImageFromChoiceSet_ExpectDataDeleted) { // Arrange SQLQuery temp_query(db()); int64_t key1 = FillImageTable(temp_query, 1, test_image).LastInsertId(); @@ -1578,7 +1612,8 @@ TEST_F(ResumptionSqlQueriesTest, kDeleteImageFromChoiceSet_ExpectDataDeleted) { false, app_id2, device_id, - key1).LastInsertId(); + key1, + true).LastInsertId(); int64_t key4 = FillApplicationChoiceSetTable(temp_query, 1, 2).LastInsertId(); FillChoiceArrayTable(temp_query, key4, key2); FillApplicationChoiceSetArrayTable(temp_query, key4, key3); @@ -1611,7 +1646,8 @@ TEST_F(ResumptionSqlQueriesTest, false, app_id2, device_id, - key1).LastInsertId(); + key1, + true).LastInsertId(); FillVRCommandsArrayTable( temp_query, "tst_vr_command", kVRCommandFromChoice, key2); @@ -1654,7 +1690,8 @@ TEST_F(ResumptionSqlQueriesTest, kDeleteChoice_ExpectDataDeleted) { false, app_id2, device_id, - key1).LastInsertId(); + key1, + true).LastInsertId(); int64_t key3 = FillApplicationChoiceSetTable(temp_query, 1, 2).LastInsertId(); FillChoiceArrayTable(temp_query, key3, key2); FillApplicationChoiceSetArrayTable(temp_query, key3, key1); @@ -1687,7 +1724,8 @@ TEST_F(ResumptionSqlQueriesTest, kDeleteChoiceArray_ExpectDataDeleted) { false, app_id2, device_id, - 1).LastInsertId(); + 1, + true).LastInsertId(); FillApplicationChoiceSetArrayTable( temp_query, application_choiceset_table_key, application_table_key); FillChoiceArrayTable( @@ -1717,7 +1755,8 @@ TEST_F(ResumptionSqlQueriesTest, false, app_id2, device_id, - 1).LastInsertId(); + 1, + true).LastInsertId(); int64_t key2 = FillApplicationChoiceSetTable(temp_query, 1, 2).LastInsertId(); FillApplicationChoiceSetArrayTable(temp_query, key2, key1); @@ -1752,7 +1791,8 @@ TEST_F(ResumptionSqlQueriesTest, false, app_id2, device_id, - 1).LastInsertId(); + 1, + true).LastInsertId(); int64_t key2 = FillApplicationChoiceSetTable(temp_query, 1, 2).LastInsertId(); FillApplicationChoiceSetArrayTable(temp_query, key2, key1); @@ -1771,8 +1811,10 @@ TEST_F(ResumptionSqlQueriesTest, 0); } +// FIXME(AOleynik): kDeleteImageFromGlobalProperties uses same params twice and +// CheckDeleteQuery does not handle this TEST_F(ResumptionSqlQueriesTest, - kDeleteImageFromGlobalProperties_ExpectDataDeleted) { + DISABLED_kDeleteImageFromGlobalProperties_ExpectDataDeleted) { // Arrange SQLQuery temp_query(db()); int64_t key1 = FillImageTable(temp_query, 1, test_image).LastInsertId(); @@ -1792,7 +1834,8 @@ TEST_F(ResumptionSqlQueriesTest, false, app_id2, device_id, - key2); + key2, + true); // Check const std::string select_count_image = "SELECT COUNT(*) FROM image;"; ValToPosPair p1(0, app_id2); @@ -1821,7 +1864,8 @@ TEST_F(ResumptionSqlQueriesTest, kDeletevrHelpItem_ExpectDataDeleted) { false, app_id2, device_id, - key2); + key2, + true); // Check const std::string select_count_vrhelp_item = "SELECT COUNT(*) FROM vrHelpItem;"; @@ -1851,7 +1895,8 @@ TEST_F(ResumptionSqlQueriesTest, kDeletevrHelpItemArray_ExpectDataDeleted) { false, app_id2, device_id, - key2); + key2, + true); // Check const std::string select_count_vrhelp_item_array = "SELECT COUNT(*) FROM vrHelpItemArray;"; @@ -1882,7 +1927,8 @@ TEST_F(ResumptionSqlQueriesTest, false, app_id1, device_id, - key2); + key2, + true); FillCharacterArrayTable(temp_query, key2, key1); // Check const std::string select_count_tableLimitedCharacterList = @@ -1918,7 +1964,8 @@ TEST_F(ResumptionSqlQueriesTest, kDeleteCharacterArray_ExpectDataDeleted) { false, app_id1, device_id, - key2); + key2, + true); FillCharacterArrayTable(temp_query, key2, key1); // Check const std::string select_count_characterArray = @@ -1929,7 +1976,10 @@ TEST_F(ResumptionSqlQueriesTest, kDeleteCharacterArray_ExpectDataDeleted) { select_count_characterArray, kDeleteCharacterArray, p1, p2, 1, 0, 0); } -TEST_F(ResumptionSqlQueriesTest, kDeleteTTSChunk_ExpectDataDeleted) { +// FIXME(AOleynik): kDeleteTTSChunk uses same params twice and +// CheckDeleteQuery does not handle this +TEST_F(ResumptionSqlQueriesTest, + DISABLED_kDeleteTTSChunk_ExpectDataDeleted) { // Arrange SQLQuery temp_query(db()); int64_t tts_chunk_key = @@ -1949,7 +1999,8 @@ TEST_F(ResumptionSqlQueriesTest, kDeleteTTSChunk_ExpectDataDeleted) { false, app_id1, device_id, - glob_prop_key); + glob_prop_key, + true); FillHelpTimeoutPromptArrayTable(temp_query, glob_prop_key, tts_chunk_key, 1); // Check @@ -1974,7 +2025,8 @@ TEST_F(ResumptionSqlQueriesTest, false, app_id1, device_id, - 1); + 1, + true); // Check const std::string select_count_application = "SELECT COUNT(*) FROM application;"; @@ -2004,7 +2056,8 @@ TEST_F(ResumptionSqlQueriesTest, false, app_id1, device_id, - glob_prop_key); + glob_prop_key, + true); FillHelpTimeoutPromptArrayTable(temp_query, glob_prop_key, tts_chunk_key, 1); // Check @@ -2038,7 +2091,8 @@ TEST_F(ResumptionSqlQueriesTest, kDeleteGlobalProperties_ExpectDataDeleted) { false, app_id1, device_id, - glob_prop_key); + glob_prop_key, + true); // Check const std::string select_count_globalProperties = "SELECT COUNT(*) FROM globalProperties;"; @@ -2440,7 +2494,8 @@ TEST_F(ResumptionSqlQueriesTest, kInsertApplication_ExpectDataInserted) { false, app_id1, device_id, - 9); + 9, + true); // Checks const std::string select_count_application = "SELECT COUNT(*) FROM application;"; @@ -2488,7 +2543,8 @@ TEST_F(ResumptionSqlQueriesTest, kSelectCountFiles_ExpectDataCorrect) { false, app_id1, device_id, - 9).LastInsertId(); + 9, + true).LastInsertId(); int64_t file_key = FillFileTable(temp_query, 1, true, true, "tst_name").LastInsertId(); FillApplicationFilesArrayTable(temp_query, app_key, file_key); @@ -2513,7 +2569,8 @@ TEST_F(ResumptionSqlQueriesTest, kSelectFiles_ExpectDataCorrect) { false, app_id1, device_id, - 9).LastInsertId(); + 9, + true).LastInsertId(); int64_t file_key = FillFileTable(temp_query, 1, true, true, "tst_name").LastInsertId(); FillApplicationFilesArrayTable(temp_query, app_key, file_key); @@ -2540,7 +2597,8 @@ TEST_F(ResumptionSqlQueriesTest, kSelectCountSubMenu_ExpectDataCorrect) { false, app_id1, device_id, - 9).LastInsertId(); + 9, + true).LastInsertId(); int64_t submenu_key = FillSubMenuTable(temp_query, 1, "menu_name", 1).LastInsertId(); FillApplicationSubMenuArrayTable(temp_query, app_key, submenu_key); @@ -2564,7 +2622,8 @@ TEST_F(ResumptionSqlQueriesTest, kSelectSubMenu_ExpectDataCorrect) { false, app_id1, device_id, - 9).LastInsertId(); + 9, + true).LastInsertId(); int64_t submenu_key = FillSubMenuTable(temp_query, 1, "menu_name", 1).LastInsertId(); @@ -2592,7 +2651,8 @@ TEST_F(ResumptionSqlQueriesTest, kSelectCountCommands_ExpectDataCorrect) { false, app_id1, device_id, - 9).LastInsertId(); + 9, + true).LastInsertId(); int64_t command_key = FillCommandTable(temp_query, 1, "menu_name", 1, 2, 5).LastInsertId(); FillApplicationCommandsArrayTable(temp_query, app_key, command_key); @@ -2616,7 +2676,8 @@ TEST_F(ResumptionSqlQueriesTest, kSelectCommandsFromCommand_ExpectDataCorrect) { false, app_id1, device_id, - 9).LastInsertId(); + 9, + true).LastInsertId(); int64_t image_key = FillImageTable(temp_query, 2, "tst_image").LastInsertId(); FillChoiceTable( @@ -2656,7 +2717,8 @@ TEST_F(ResumptionSqlQueriesTest, kSelectCommandsFromChoice_ExpectDataCorrect) { false, app_id1, device_id, - 9).LastInsertId(); + 9, + true).LastInsertId(); int64_t image_key = FillImageTable(temp_query, 2, "tst_image").LastInsertId(); int64_t choice_key = @@ -2709,7 +2771,8 @@ TEST_F(ResumptionSqlQueriesTest, kSelectCountSubscriptions_ExpectDataCorrect) { false, app_id1, device_id, - 9).LastInsertId(); + 9, + true).LastInsertId(); FillAppSubscriptionsArrayTable(temp_query, 2, 3, app_key); ValToPosPair p1(0, app_id1); ValToPosPair p2(1, device_id); @@ -2731,7 +2794,8 @@ TEST_F(ResumptionSqlQueriesTest, kSelectSubscriptions_ExpectDataCorrect) { false, app_id1, device_id, - 9).LastInsertId(); + 9, + true).LastInsertId(); FillAppSubscriptionsArrayTable(temp_query, 2, 3, app_key); ValToPosPair p1(0, app_id1); ValToPosPair p2(1, device_id); @@ -2754,7 +2818,8 @@ TEST_F(ResumptionSqlQueriesTest, kSelectCountChoiceSet_ExpectDataCorrect) { false, app_id1, device_id, - 9).LastInsertId(); + 9, + true).LastInsertId(); FillApplicationChoiceSetArrayTable(temp_query, 2, app_key); ValToPosPair p1(0, app_id1); ValToPosPair p2(1, device_id); @@ -2776,7 +2841,8 @@ TEST_F(ResumptionSqlQueriesTest, kSelectChoiceSets_ExpectDataCorrect) { false, app_id1, device_id, - 9).LastInsertId(); + 9, + true).LastInsertId(); int64_t image_key = FillImageTable(temp_query, 2, "tst_image").LastInsertId(); int64_t choice_key = FillChoiceTable( @@ -2836,7 +2902,8 @@ TEST_F(ResumptionSqlQueriesTest, false, app_id1, device_id, - glob_prop_key).LastInsertId(); + glob_prop_key, + true).LastInsertId(); // Check ValToPosPair p1(0, app_id1); @@ -2863,7 +2930,8 @@ TEST_F(ResumptionSqlQueriesTest, kSelectGlobalProperties_ExpectDataCorrect) { false, app_id1, device_id, - glob_prop_key).LastInsertId(); + glob_prop_key, + true).LastInsertId(); FillHelpTimeoutPromptArrayTable(temp_query, glob_prop_key, 3, 7); // Check @@ -2966,7 +3034,8 @@ TEST_F(ResumptionSqlQueriesTest, kSelectAllApps_ExpectDataCorrect) { false, app_id1, device_id, - 1); + 1, + true); FillApplicationTable(temp_query, connection_key, @@ -2979,7 +3048,8 @@ TEST_F(ResumptionSqlQueriesTest, kSelectAllApps_ExpectDataCorrect) { false, app_id2, device_id2, - 2); + 2, + true); // Checks SQLQuery query(db()); EXPECT_TRUE(query.Prepare(kSelectAllApps) && query.Exec()); @@ -3004,7 +3074,8 @@ TEST_F(ResumptionSqlQueriesTest, kUpdateApplicationData_ExpectDataCorrect) { false, app_id1, device_id, - 1); + 1, + true); string select_hmi_level_and_time_stamp = "SELECT `hmiLevel`, `timeStamp`FROM `application` " "WHERE `appID` = ? AND `deviceID` = ?;"; @@ -3069,7 +3140,8 @@ TEST_F(ResumptionSqlQueriesTest, kSelectAppTable_ExpectDataCorrect) { true, app_id1, device_id, - 1); + 1, + true); ValToPosPair p1(0, app_id1); ValToPosPair p2(1, device_id); diff --git a/src/components/application_manager/test/state_controller/CMakeLists.txt b/src/components/application_manager/test/state_controller/CMakeLists.txt index 19ab11561f..19f26044c9 100644 --- a/src/components/application_manager/test/state_controller/CMakeLists.txt +++ b/src/components/application_manager/test/state_controller/CMakeLists.txt @@ -47,6 +47,10 @@ set(SOURCES ${COMPONENTS_DIR}/application_manager/test/mock_message_helper.cc ) +if(${CMAKE_SYSTEM_NAME} MATCHES "Windows") + set(CMAKE_CXX_FLAGS "${CMAKE_CXX_FLAGS} /bigobj" ) +endif() + create_test("state_controller_test" "${SOURCES}" "${LIBRARIES}") endif() diff --git a/src/components/utils/src/threads/thread_qt.cc b/src/components/utils/src/threads/thread_qt.cc index 7cb8d02e23..93da93987e 100644 --- a/src/components/utils/src/threads/thread_qt.cc +++ b/src/components/utils/src/threads/thread_qt.cc @@ -61,7 +61,12 @@ void* Thread::threadFunc(void* arg) { threads::Thread* thread = static_cast<Thread*>(arg); DCHECK(thread); + thread->state_lock_.Acquire(); + + // Sets thread id in order to be able to check that id on thread joining + thread->handle_ = QThread::currentThread(); + thread->state_cond_.Broadcast(); while (!thread->finalized_) { @@ -113,11 +118,14 @@ bool Thread::start() { } uint64_t Thread::CurrentId() { - return QThread::currentThread(); + // Available interfaces QThread::currentThread() and + // QThread::currentThreadId() return values, which can't be converted to + // uint64_t, thus using native WIN interface. + return static_cast<uint64_t>(GetCurrentThreadId()); } bool Thread::IsCurrentThread() const { - return CurrentId() == thread_handle(); + return QThread::currentThread() == thread_handle(); } void Thread::ThreadCancelledExit() { @@ -147,17 +155,12 @@ bool Thread::start(const ThreadOptions& options) { // state_lock 1 if (!thread_created_) { + // QtConcurrent::run starts execution in QThreadPool and does not return + // any thread id, so thread id will be set from delegate on its start. future_ = QtConcurrent::run(threadFunc, this); - handle_ = QThread::currentThread(); - if (NULL != handle_) { - LOGGER_DEBUG(logger_, "Created thread: " << name_); - // state_lock 0 - // possible concurrencies: stop and threadFunc - state_cond_.Wait(auto_lock); - thread_created_ = true; - } else { - LOGGER_ERROR(logger_, "Couldn't create thread " << name_); - } + LOGGER_DEBUG(logger_, "Created thread: " << name_); + state_cond_.Wait(auto_lock); + thread_created_ = true; } stopped_ = false; run_cond_.NotifyOne(); |