summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authorSho Amano <samano@xevo.com>2017-09-13 10:50:41 +0900
committerSho Amano <samano@xevo.com>2017-09-13 15:01:43 +0900
commit1f9c8f892086c74542ef993a6f2d2d2e89601033 (patch)
treeded5b235f8956b7fb4fc6d2d633bbe70961db823
parentda4b5766ca3f1fca4caa4b4815073f72dfe37182 (diff)
downloadsdl_core-1f9c8f892086c74542ef993a6f2d2d2e89601033.tar.gz
Update unit tests to check system capability support flags
-rw-r--r--src/components/application_manager/test/CMakeLists.txt2
-rw-r--r--src/components/application_manager/test/hmi_capabilities_sc1.json9
-rw-r--r--src/components/application_manager/test/hmi_capabilities_sc2.json14
-rw-r--r--src/components/application_manager/test/hmi_capabilities_test.cc56
4 files changed, 81 insertions, 0 deletions
diff --git a/src/components/application_manager/test/CMakeLists.txt b/src/components/application_manager/test/CMakeLists.txt
index 089f8fd25e..0580998e84 100644
--- a/src/components/application_manager/test/CMakeLists.txt
+++ b/src/components/application_manager/test/CMakeLists.txt
@@ -143,6 +143,8 @@ set(ResumptionData_SOURCES
)
file(COPY hmi_capabilities.json DESTINATION ${CMAKE_CURRENT_BINARY_DIR})
+file(COPY hmi_capabilities_sc1.json DESTINATION ${CMAKE_CURRENT_BINARY_DIR})
+file(COPY hmi_capabilities_sc2.json DESTINATION ${CMAKE_CURRENT_BINARY_DIR})
file(COPY smartDeviceLink_test.ini DESTINATION ${CMAKE_CURRENT_BINARY_DIR})
file(MAKE_DIRECTORY ${CMAKE_CURRENT_BINARY_DIR}/resumption)
diff --git a/src/components/application_manager/test/hmi_capabilities_sc1.json b/src/components/application_manager/test/hmi_capabilities_sc1.json
new file mode 100644
index 0000000000..3731f8eb78
--- /dev/null
+++ b/src/components/application_manager/test/hmi_capabilities_sc1.json
@@ -0,0 +1,9 @@
+{
+ "UI": {
+ "systemCapabilities": {
+ "phoneCapability": {
+ "dialNumberEnabled": true
+ }
+ }
+ }
+}
diff --git a/src/components/application_manager/test/hmi_capabilities_sc2.json b/src/components/application_manager/test/hmi_capabilities_sc2.json
new file mode 100644
index 0000000000..a8578f04f5
--- /dev/null
+++ b/src/components/application_manager/test/hmi_capabilities_sc2.json
@@ -0,0 +1,14 @@
+{
+ "UI": {
+ "systemCapabilities": {
+ "navigationCapability": {
+ "sendLocationEnabled": true,
+ "getWayPointsEnabled": false
+ },
+ "phoneCapability": {
+ },
+ "videoStreamingCapability": {
+ }
+ }
+ }
+}
diff --git a/src/components/application_manager/test/hmi_capabilities_test.cc b/src/components/application_manager/test/hmi_capabilities_test.cc
index 5c3830d5a5..08032fa070 100644
--- a/src/components/application_manager/test/hmi_capabilities_test.cc
+++ b/src/components/application_manager/test/hmi_capabilities_test.cc
@@ -375,12 +375,17 @@ TEST_F(HMICapabilitiesTest, LoadCapabilitiesFromFile) {
EXPECT_TRUE(navigation_capability_so["sendLocationEnabled"].asBool());
EXPECT_TRUE(navigation_capability_so["getWayPointsEnabled"].asBool());
+ // since we have navigation capabilities, the feature should be supported
+ EXPECT_TRUE(hmi_capabilities_test->navigation_supported());
+
const smart_objects::SmartObject phone_capability_so =
*(hmi_capabilities_test->phone_capability());
EXPECT_TRUE(phone_capability_so.keyExists("dialNumberEnabled"));
EXPECT_TRUE(phone_capability_so["dialNumberEnabled"].asBool());
+ EXPECT_TRUE(hmi_capabilities_test->phone_call_supported());
+
const smart_objects::SmartObject vs_capability_so =
*(hmi_capabilities_test->video_streaming_capability());
@@ -428,6 +433,8 @@ TEST_F(HMICapabilitiesTest, LoadCapabilitiesFromFile) {
EXPECT_TRUE(
vs_capability_so[strings::haptic_spatial_data_supported].asBool());
+ EXPECT_TRUE(hmi_capabilities_test->video_streaming_supported());
+
// Check remote control capabilites
const smart_objects::SmartObject rc_capability_so =
*(hmi_capabilities_test->rc_capability());
@@ -469,6 +476,55 @@ TEST_F(HMICapabilitiesTest, LoadCapabilitiesFromFile) {
rc_capability_so["buttonCapabilities"][0]["upDownAvailable"].asBool());
}
+TEST_F(HMICapabilitiesTest,
+ LoadCapabilitiesFromFileAndVerifyUnsupportedSystemCapabilities) {
+ const std::string hmi_capabilities_file = "hmi_capabilities_sc1.json";
+ EXPECT_CALL(mock_application_manager_settings_, hmi_capabilities_file_name())
+ .WillOnce(ReturnRef(hmi_capabilities_file));
+
+ if (file_system::FileExists("./app_info_data")) {
+ EXPECT_TRUE(::file_system::DeleteFile("./app_info_data"));
+ }
+ EXPECT_TRUE(hmi_capabilities_test->LoadCapabilitiesFromFile());
+
+ // Check system capabilities; only phone capability is available
+ EXPECT_FALSE(hmi_capabilities_test->navigation_supported());
+ EXPECT_TRUE(hmi_capabilities_test->phone_call_supported());
+ EXPECT_FALSE(hmi_capabilities_test->video_streaming_supported());
+
+ // verify phone capability
+ const smart_objects::SmartObject phone_capability_so =
+ *(hmi_capabilities_test->phone_capability());
+ EXPECT_TRUE(phone_capability_so.keyExists("dialNumberEnabled"));
+ EXPECT_TRUE(phone_capability_so["dialNumberEnabled"].asBool());
+}
+
+TEST_F(HMICapabilitiesTest,
+ LoadCapabilitiesFromFileAndVerifyEmptySystemCapabilities) {
+ const std::string hmi_capabilities_file = "hmi_capabilities_sc2.json";
+ EXPECT_CALL(mock_application_manager_settings_, hmi_capabilities_file_name())
+ .WillOnce(ReturnRef(hmi_capabilities_file));
+
+ if (file_system::FileExists("./app_info_data")) {
+ EXPECT_TRUE(::file_system::DeleteFile("./app_info_data"));
+ }
+ EXPECT_TRUE(hmi_capabilities_test->LoadCapabilitiesFromFile());
+
+ // Check system capabilities; only navigation capability is valid, the other
+ // two are empty
+ EXPECT_TRUE(hmi_capabilities_test->navigation_supported());
+ EXPECT_FALSE(hmi_capabilities_test->phone_call_supported());
+ EXPECT_FALSE(hmi_capabilities_test->video_streaming_supported());
+
+ // verify navigation capabilities
+ smart_objects::SmartObject navigation_capability_so =
+ *(hmi_capabilities_test->navigation_capability());
+ EXPECT_TRUE(navigation_capability_so.keyExists("sendLocationEnabled"));
+ EXPECT_TRUE(navigation_capability_so.keyExists("getWayPointsEnabled"));
+ EXPECT_TRUE(navigation_capability_so["sendLocationEnabled"].asBool());
+ EXPECT_FALSE(navigation_capability_so["getWayPointsEnabled"].asBool());
+}
+
TEST_F(HMICapabilitiesTest, VerifyImageType) {
const int32_t image_type = 1;
smart_objects::SmartObject sm_obj;