From 010af2a73f721b987f55028332023b00df7a70ce Mon Sep 17 00:00:00 2001 From: Edi Feschiyan Date: Thu, 2 May 2019 15:28:32 +0300 Subject: Adding tests for agl-service-bluetooth-pbap. Running the tests requires actual paired and currently connected phone with phonebook entries. Bug-AGL: SPEC-2524 Signed-off-by: Edi Feschiyan Change-Id: I1713d8976b8855f2d802a9ed51728272735a463a --- .gitignore | 1 + TEST-README.md | 24 ++++++++++++++++++ test/CMakeLists.txt | 28 +++++++++++++++++++++ test/afb-test/CMakeLists.txt | 21 ++++++++++++++++ test/afb-test/etc/CMakeLists.txt | 32 ++++++++++++++++++++++++ test/afb-test/etc/aft-agl-bluetooth-pbap.json | 22 ++++++++++++++++ test/afb-test/tests/CMakeLists.txt | 31 +++++++++++++++++++++++ test/afb-test/tests/bluetooth-pbap.lua | 36 +++++++++++++++++++++++++++ 8 files changed, 195 insertions(+) create mode 100644 .gitignore create mode 100644 TEST-README.md create mode 100644 test/CMakeLists.txt create mode 100644 test/afb-test/CMakeLists.txt create mode 100644 test/afb-test/etc/CMakeLists.txt create mode 100644 test/afb-test/etc/aft-agl-bluetooth-pbap.json create mode 100644 test/afb-test/tests/CMakeLists.txt create mode 100644 test/afb-test/tests/bluetooth-pbap.lua diff --git a/.gitignore b/.gitignore new file mode 100644 index 0000000..567609b --- /dev/null +++ b/.gitignore @@ -0,0 +1 @@ +build/ diff --git a/TEST-README.md b/TEST-README.md new file mode 100644 index 0000000..9196255 --- /dev/null +++ b/TEST-README.md @@ -0,0 +1,24 @@ +## Building the test widgets +1. Source the SDK environment script +2. Create a build directory +3. Configure and build the project + +``` +mkdir build +cd build +cmake .. -DBUILD_TEST_WGT=TRUE +make +make widget +``` +Note: If you omit the -DBUILD_TEST_WGT=TRUE parameter for cmake, you'll have to type `make test_widget` to compile the test widget. + +This should produce two _.wgt_ files - one with the service and one with the tests within the build directory. + +Run the tests: +``` +scp *.wgt root@:~ +ssh root@ +afm-test $(ls *test.wgt) + +``` +The tests of agl-service-bluetooth-pbap require actual bluetooth PBAP enabled phone with at least one entry in the phonebook and call log. diff --git a/test/CMakeLists.txt b/test/CMakeLists.txt new file mode 100644 index 0000000..75bcf58 --- /dev/null +++ b/test/CMakeLists.txt @@ -0,0 +1,28 @@ +########################################################################### +# Copyright 2019 Konsulko Group +# +# author:Stoyan Bogdanov +# +# Licensed under the Apache License, Version 2.0 (the "License"); +# you may not use this file except in compliance with the License. +# You may obtain a copy of the License at +# +# http://www.apache.org/licenses/LICENSE-2.0 +# +# Unless required by applicable law or agreed to in writing, software +# distributed under the License is distributed on an "AS IS" BASIS, +# WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. +# See the License for the specific language governing permissions and +# limitations under the License. +########################################################################### + + +# Include any directory not starting with _ +# ----------------------------------------------------- +PROJECT_SUBDIRS_ADD(${PROJECT_SRC_DIR_PATTERN}) + +ADD_TEST(NAME AGL_SERVICE_GPS_TESTS + WORKING_DIRECTORY ${CMAKE_CURRENT_SOURCE_DIR} + COMMAND afb-test.sh "${CMAKE_BINARY_DIR}/package" "${CMAKE_BINARY_DIR}/package-test" SERVICE + ) + diff --git a/test/afb-test/CMakeLists.txt b/test/afb-test/CMakeLists.txt new file mode 100644 index 0000000..81ddf88 --- /dev/null +++ b/test/afb-test/CMakeLists.txt @@ -0,0 +1,21 @@ +########################################################################### +# Copyright 2019 Konsulko Group +# +# author:Stoyan Bogdanov +# +# Licensed under the Apache License, Version 2.0 (the "License"); +# you may not use this file except in compliance with the License. +# You may obtain a copy of the License at +# +# http://www.apache.org/licenses/LICENSE-2.0 +# +# Unless required by applicable law or agreed to in writing, software +# distributed under the License is distributed on an "AS IS" BASIS, +# WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. +# See the License for the specific language governing permissions and +# limitations under the License. +########################################################################### + +# Include any directory not starting with _ +# ----------------------------------------------------- +PROJECT_SUBDIRS_ADD(${PROJECT_SRC_DIR_PATTERN}) diff --git a/test/afb-test/etc/CMakeLists.txt b/test/afb-test/etc/CMakeLists.txt new file mode 100644 index 0000000..0353dbc --- /dev/null +++ b/test/afb-test/etc/CMakeLists.txt @@ -0,0 +1,32 @@ +########################################################################### +# Copyright 2019 Konsulko Group +# +# author:Stoyan Bogdanov +# +# Licensed under the Apache License, Version 2.0 (the "License"); +# you may not use this file except in compliance with the License. +# You may obtain a copy of the License at +# +# http://www.apache.org/licenses/LICENSE-2.0 +# +# Unless required by applicable law or agreed to in writing, software +# distributed under the License is distributed on an "AS IS" BASIS, +# WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. +# See the License for the specific language governing permissions and +# limitations under the License. +########################################################################### + +################################################## +# bluetooth-pbap test configuration files +################################################## +PROJECT_TARGET_ADD(afb-test-config) + + file(GLOB CONF_FILES "*.json") + + add_input_files("${CONF_FILES}") + + SET_TARGET_PROPERTIES(${TARGET_NAME} PROPERTIES + LABELS "TEST-CONFIG" + OUTPUT_NAME ${TARGET_NAME} + ) + diff --git a/test/afb-test/etc/aft-agl-bluetooth-pbap.json b/test/afb-test/etc/aft-agl-bluetooth-pbap.json new file mode 100644 index 0000000..d3d6340 --- /dev/null +++ b/test/afb-test/etc/aft-agl-bluetooth-pbap.json @@ -0,0 +1,22 @@ +{ + "id": "http://iot.bzh/download/public/schema/json/ctl-schema.json#", + "": "http://iot.bzh/download/public/schema/json/ctl-schema.json#", + "metadata": { + "uid": "Test", + "version": "1.0", + "api": "aft-bluetooth-pbap", + "info": "AFB-test binding configuration file to test bluetooth-pbap api.", + "require": [ + "bluetooth-pbap" + ] + }, + "testVerb": { + "uid": "launch_all_tests", + "info": "Launch all the tests", + "action": "lua://AFT#_launch_test", + "args": { + "trace": "bluetooth-pbap", + "files": ["bluetooth-pbap.lua"] + } + } +} diff --git a/test/afb-test/tests/CMakeLists.txt b/test/afb-test/tests/CMakeLists.txt new file mode 100644 index 0000000..960df5c --- /dev/null +++ b/test/afb-test/tests/CMakeLists.txt @@ -0,0 +1,31 @@ +########################################################################### +# Copyright 2019 Konsulko Group +# +# author:Stoyan Bogdanov +# +# Licensed under the Apache License, Version 2.0 (the "License"); +# you may not use this file except in compliance with the License. +# You may obtain a copy of the License at +# +# http://www.apache.org/licenses/LICENSE-2.0 +# +# Unless required by applicable law or agreed to in writing, software +# distributed under the License is distributed on an "AS IS" BASIS, +# WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. +# See the License for the specific language governing permissions and +# limitations under the License. +########################################################################### + +################################################## +# bluetooth-pbap Lua Scripts +################################################## +PROJECT_TARGET_ADD(test-files) + + file(GLOB LUA_FILES "*.lua" "*.sh") + add_input_files("${LUA_FILES}") + + SET_TARGET_PROPERTIES(${TARGET_NAME} PROPERTIES + LABELS "TEST-DATA" + OUTPUT_NAME ${TARGET_NAME} + ) + diff --git a/test/afb-test/tests/bluetooth-pbap.lua b/test/afb-test/tests/bluetooth-pbap.lua new file mode 100644 index 0000000..dc3fa9c --- /dev/null +++ b/test/afb-test/tests/bluetooth-pbap.lua @@ -0,0 +1,36 @@ +--[[ + Copyright 2019 Konsulko Group + + author:Edi Feschiyan + + Licensed under the Apache License, Version 2.0 (the "License"); + you may not use this file except in compliance with the License. + You may obtain a copy of the License at + + http://www.apache.org/licenses/LICENSE-2.0 + + Unless required by applicable law or agreed to in writing, software + distributed under the License is distributed on an "AS IS" BASIS, + WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. + See the License for the specific language governing permissions and + limitations under the License. +--]] + +--[[ A paired phone/device having a phonebook is needed to run the tests + +--]] + +_AFT.testVerbStatusSuccess('testContactsSuccess','bluetooth-pbap','contacts', {}) +_AFT.testVerbStatusSuccess('testIncomingCallsEntrySuccess','bluetooth-pbap','entry', {list="ich",handle="1.vcf"}) +_AFT.testVerbStatusSuccess('testOutgoingCallsEntrySuccess','bluetooth-pbap','entry', {list="och",handle="1.vcf"}) +_AFT.testVerbStatusSuccess('testMissedCallsEntrySuccess','bluetooth-pbap','entry', {list="mch",handle="1.vcf"}) +_AFT.testVerbStatusSuccess('testCombinedCallsEntrySuccess','bluetooth-pbap','entry', {list="cch",handle="1.vcf"}) +_AFT.testVerbStatusSuccess('testPhoneBookEntrySuccess','bluetooth-pbap','entry', {list="pb",handle="1.vcf"}) +_AFT.testVerbStatusSuccess('testIncomingCallsHistorySuccess','bluetooth-pbap','history', {list="ich"}) +_AFT.testVerbStatusSuccess('testOutgoingCallsHistorySuccess','bluetooth-pbap','history', {list="och"}) +_AFT.testVerbStatusSuccess('testMissedCallsHistorySuccess','bluetooth-pbap','history', {list="mch"}) +_AFT.testVerbStatusSuccess('testCombinedCallsHistorySuccess','bluetooth-pbap','history', {list="cch"}) +_AFT.testVerbStatusSuccess('testSearchSuccess','bluetooth-pbap','search', {number="100"}) +_AFT.testVerbStatusSuccess('testStatusSuccess','bluetooth-pbap','status', {value="connected"}) +_AFT.testVerbStatusSuccess('testSubscribeStatusSuccess','bluetooth-pbap','subscribe', {value="status"}) +_AFT.testVerbStatusSuccess('testUnsubscribeStatusSuccess','bluetooth-pbap','unsubscribe', {value="status"}) -- cgit 1.2.3-korg