From 96e1db2374dfc27a60f2a0152c71dd9889538b18 Mon Sep 17 00:00:00 2001 From: Frederic Marec Date: Thu, 11 Jul 2019 10:13:44 +0200 Subject: Change test example following afb-test tree Change test repository tree Add mapi example Bug-AGL: SPEC-2040 Signed-off-by: Frederic Marec Change-Id: I1cd6926135f7f73dd60c29496fc6aa830ec620f5 --- test/CMakeLists.txt | 6 ++-- test/afb-test/CMakeLists.txt | 22 +++++++++++++ test/afb-test/etc/CMakeLists.txt | 31 +++++++++++++++++ test/afb-test/etc/aft-agl-helloworld.json | 53 ++++++++++++++++++++++++++++++ test/afb-test/fixtures/CMakeLists.txt | 31 +++++++++++++++++ test/afb-test/fixtures/mapi_helloworld.lua | 31 +++++++++++++++++ test/afb-test/tests/CMakeLists.txt | 31 +++++++++++++++++ test/afb-test/tests/helloworld.lua | 38 +++++++++++++++++++++ test/afb-test/tests/mapi_tests.lua | 29 ++++++++++++++++ test/etc/CMakeLists.txt | 31 ----------------- test/etc/aft-agl-helloworld.json | 22 ------------- test/tests/CMakeLists.txt | 31 ----------------- test/tests/helloworld.lua | 38 --------------------- 13 files changed, 269 insertions(+), 125 deletions(-) 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-helloworld.json create mode 100644 test/afb-test/fixtures/CMakeLists.txt create mode 100644 test/afb-test/fixtures/mapi_helloworld.lua create mode 100644 test/afb-test/tests/CMakeLists.txt create mode 100644 test/afb-test/tests/helloworld.lua create mode 100644 test/afb-test/tests/mapi_tests.lua delete mode 100644 test/etc/CMakeLists.txt delete mode 100644 test/etc/aft-agl-helloworld.json delete mode 100644 test/tests/CMakeLists.txt delete mode 100644 test/tests/helloworld.lua diff --git a/test/CMakeLists.txt b/test/CMakeLists.txt index d75b1c9..b2c77d0 100644 --- a/test/CMakeLists.txt +++ b/test/CMakeLists.txt @@ -1,7 +1,7 @@ ########################################################################### -# Copyright 2015 - 2018 IoT.bzh +# Copyright 2015 - 2019 IoT.bzh # -# author: Romain Forlot +# author: Marec Frédéric # # Licensed under the Apache License, Version 2.0 (the "License"); # you may not use this file except in compliance with the License. @@ -21,7 +21,7 @@ # ----------------------------------------------------- PROJECT_SUBDIRS_ADD(${PROJECT_SRC_DIR_PATTERN}) -ADD_TEST(NAME AFB-TEST_TESTS +ADD_TEST(NAME HELLOWORD_TESTS WORKING_DIRECTORY ${CMAKE_BINARY_DIR} COMMAND afm-test "${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..1ac657d --- /dev/null +++ b/test/afb-test/CMakeLists.txt @@ -0,0 +1,22 @@ +########################################################################### +# Copyright 2015 - 2019 IoT.bzh +# +# author: Marec Frédéric +# +# 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..d6f9e1c --- /dev/null +++ b/test/afb-test/etc/CMakeLists.txt @@ -0,0 +1,31 @@ +########################################################################### +# Copyright 2015 - 2019 IoT.bzh +# +# author: Marec Frédéric +# +# 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. +########################################################################### + +################################################## +# helloworld test configuration files +################################################## +PROJECT_TARGET_ADD(helloworld-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-helloworld.json b/test/afb-test/etc/aft-agl-helloworld.json new file mode 100644 index 0000000..8742003 --- /dev/null +++ b/test/afb-test/etc/aft-agl-helloworld.json @@ -0,0 +1,53 @@ +{ + "id": "http://iot.bzh/download/public/schema/json/ctl-schema.json#", + "$schema": "http://iot.bzh/download/public/schema/json/ctl-schema.json#", + "metadata": { + "uid": "Test", + "version": "1.0", + "api": "aft-helloworld", + "info": "Helloworld binding", + "require": [ + "helloworld" + ] + }, + "testVerb": [{ + "uid": "short", + "info": "Launch the short session of tests", + "action": "lua://AFT#_launch_test", + "args": { + "trace": "helloworld", + "files": "helloworld.lua" + } + }, + { + "uid": "long", + "info": "Launch the long session of tests", + "action": "lua://AFT#_launch_test", + "args": { + "trace": "helloworld", + "files": [ "helloworld.lua", "mapi_tests.lua" ] + } + }], + "mapis": [{ + "uid": "mapi-helloworld", + "info": "Faked helloworld API", + "libs": "mapi_helloworld.lua", + "verbs": [ + { + "uid": "subscribe", + "info": "Subscribe to events", + "action": "lua://mapi-helloworld#_subscribe" + }, + { + "uid": "unsubscribe", + "info": "Unsubscribe previously suscribed events.", + "action": "lua://mapi-helloworld#_unsubscribe" + }, + { + "uid": "list", + "info": "get message list", + "action": "lua://mapi-helloworld#_list" + } + ] + }] +} diff --git a/test/afb-test/fixtures/CMakeLists.txt b/test/afb-test/fixtures/CMakeLists.txt new file mode 100644 index 0000000..3f5e85a --- /dev/null +++ b/test/afb-test/fixtures/CMakeLists.txt @@ -0,0 +1,31 @@ +########################################################################### +# Copyright 2015 - 2019 IoT.bzh +# +# author: Marec Frédéric +# +# 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. +########################################################################### + + +################################################## +# Helloworld Lua Scripts +################################################## +PROJECT_TARGET_ADD(fixture-files) + + file(GLOB LUA_FILES "*.lua") + add_input_files("${LUA_FILES}") + + SET_TARGET_PROPERTIES(${TARGET_NAME} PROPERTIES + LABELS "TEST-DATA" + OUTPUT_NAME ${TARGET_NAME} + ) diff --git a/test/afb-test/fixtures/mapi_helloworld.lua b/test/afb-test/fixtures/mapi_helloworld.lua new file mode 100644 index 0000000..6725ed8 --- /dev/null +++ b/test/afb-test/fixtures/mapi_helloworld.lua @@ -0,0 +1,31 @@ +--[[ + Copyright (C) 2019 "IoT.bzh" + Author Marec Frédéric + + 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. + + + NOTE: strict mode: every global variables should be prefixed by '_' +--]] + +function _subscribe(source, args) + AFB:success(source) +end + +function _unsubscribe(source, args) + AFB:success(source) +end + +function _list(source, args) + AFB:success(source) +end diff --git a/test/afb-test/tests/CMakeLists.txt b/test/afb-test/tests/CMakeLists.txt new file mode 100644 index 0000000..63615db --- /dev/null +++ b/test/afb-test/tests/CMakeLists.txt @@ -0,0 +1,31 @@ +########################################################################### +# Copyright 2015 - 2019 IoT.bzh +# +# author: Marec Frédéric +# +# 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. +########################################################################### + + +################################################## +# Helloworld Lua Scripts +################################################## +PROJECT_TARGET_ADD(test-files) + + file(GLOB LUA_FILES "*.lua") + 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/helloworld.lua b/test/afb-test/tests/helloworld.lua new file mode 100644 index 0000000..8fc34ac --- /dev/null +++ b/test/afb-test/tests/helloworld.lua @@ -0,0 +1,38 @@ +--[[ + Copyright (C) 2019 "IoT.bzh" + Author Romain Forlot + + 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. + + + NOTE: strict mode: every global variables should be prefixed by '_' +--]] + +function _callback(responseJ) + _AFT.assertStrContains(responseJ.request.status, "success") +end + +function _callbackError(responseJ) + _AFT.assertStrContains(responseJ.request.info, "verb pingfail unknown within api helloworld") +end + +_AFT.testVerbStatusSuccess('testPingSuccess','helloworld', 'ping', {}) +_AFT.setBefore("testPingSuccess",function() print("~~~~~ Begin testPingSuccess ~~~~~") end) +_AFT.setAfter("testPingSuccess",function() print("~~~~~ End testPingSuccess ~~~~~") end) + +_AFT.testVerbResponseEquals('testPingSuccessAndResponse','helloworld', 'ping', {}, "Ping count = %d") +_AFT.testVerbCb('testPingSuccessCallback','helloworld', 'ping', {}, _callback) + +_AFT.testVerbStatusError('testPingError', 'helloworld', 'pingfail', {}) +_AFT.testVerbResponseEqualsError('testPingErrorAndResponse', 'helloworld', 'pingfail', {}, "Ping Binder Daemon succeeds") +_AFT.testVerbCbError('testPingErrorCallback', 'helloworld', 'pingfail', {}, _callbackError) \ No newline at end of file diff --git a/test/afb-test/tests/mapi_tests.lua b/test/afb-test/tests/mapi_tests.lua new file mode 100644 index 0000000..9d06eed --- /dev/null +++ b/test/afb-test/tests/mapi_tests.lua @@ -0,0 +1,29 @@ +--[[ + Copyright (C) 2019 "IoT.bzh" + Author Marec Frédéric + + 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. + + + NOTE: strict mode: every global variables should be prefixed by '_' +--]] + +_AFT.testVerbStatusSuccess("TestListSuccess", "mapi-helloworld", "list", {}) + +_AFT.testVerbStatusSuccess("TestSubscribeSuccess", "mapi-helloworld", "subscribe", {}) + +_AFT.testVerbStatusSuccess("TestUnsubscribeSuccess", "mapi-helloworld", "unsubscribe", {}) + +_AFT.testVerbStatusError("TestWrongVerbError", "mapi-helloworld", "wrong_verb", {}) + +_AFT.testVerbStatusSkipped("TestSkippedVerb", "mapi-helloworld", "skipped_verb", {}) \ No newline at end of file diff --git a/test/etc/CMakeLists.txt b/test/etc/CMakeLists.txt deleted file mode 100644 index f1f095e..0000000 --- a/test/etc/CMakeLists.txt +++ /dev/null @@ -1,31 +0,0 @@ -########################################################################### -# Copyright 2015 - 2018 IoT.bzh -# -# author: Romain Forlot -# -# 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. -########################################################################### - -################################################## -# Helloworld test configuration files -################################################## -PROJECT_TARGET_ADD(helloworld-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/etc/aft-agl-helloworld.json b/test/etc/aft-agl-helloworld.json deleted file mode 100644 index 2f51b2a..0000000 --- a/test/etc/aft-agl-helloworld.json +++ /dev/null @@ -1,22 +0,0 @@ -{ - "id": "http://iot.bzh/download/public/schema/json/ctl-schema.json#", - "$schema": "http://iot.bzh/download/public/schema/json/ctl-schema.json#", - "metadata": { - "uid": "Hello_Test", - "version": "1.0", - "api": "aft-agl-helloworld", - "info": "Test part of Helloworld service binding", - "require": [ - "helloworld" - ] - }, - "testVerb": { - "uid": "testing-hello", - "info": "Launch the tests against hello api", - "action": "lua://AFT#_launch_test", - "args": { - "trace": "hello", - "files": ["helloworld.lua"] - } - } -} \ No newline at end of file diff --git a/test/tests/CMakeLists.txt b/test/tests/CMakeLists.txt deleted file mode 100644 index f9278ac..0000000 --- a/test/tests/CMakeLists.txt +++ /dev/null @@ -1,31 +0,0 @@ -########################################################################### -# Copyright 2015 - 2018 IoT.bzh -# -# author: Romain Forlot -# -# 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. -########################################################################### - - -################################################## -# Hellowolrd Lua Scripts -################################################## -PROJECT_TARGET_ADD(test-files) - - file(GLOB LUA_FILES "*.lua") - add_input_files("${LUA_FILES}") - - SET_TARGET_PROPERTIES(${TARGET_NAME} PROPERTIES - LABELS "TEST-DATA" - OUTPUT_NAME ${TARGET_NAME} - ) diff --git a/test/tests/helloworld.lua b/test/tests/helloworld.lua deleted file mode 100644 index 556cb8b..0000000 --- a/test/tests/helloworld.lua +++ /dev/null @@ -1,38 +0,0 @@ ---[[ - Copyright (C) 2018 "IoT.bzh" - Author Romain Forlot - - 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. - - - NOTE: strict mode: every global variables should be prefixed by '_' ---]] - -function _callback(responseJ) - _AFT.assertStrContains(responseJ.request.status, "success") -end - -function _callbackError(responseJ) - _AFT.assertStrContains(responseJ.request.info, "verb pingfail unknown within api helloworld") -end - -_AFT.testVerbStatusSuccess('testPingSuccess','helloworld', 'ping', {}) -_AFT.setBefore("testPingSuccess",function() print("~~~~~ Begin testPingSuccess ~~~~~") end) -_AFT.setAfter("testPingSuccess",function() print("~~~~~ End testPingSuccess ~~~~~") end) - -_AFT.testVerbResponseEquals('testPingSuccessAndResponse','helloworld', 'ping', {}, "Ping count = %d") -_AFT.testVerbCb('testPingSuccessCallback','helloworld', 'ping', {}, _callback) - -_AFT.testVerbStatusError('testPingError', 'helloworld', 'pingfail', {}) -_AFT.testVerbResponseEqualsError('testPingErrorAndResponse', 'helloworld', 'pingfail', {}, "Ping Binder Daemon succeeds") -_AFT.testVerbCbError('testPingErrorCallback', 'helloworld', 'pingfail', {}, _callbackError) \ No newline at end of file -- cgit 1.2.3-korg