diff options
author | Leonid Lazarev <leonid.lazarev@orioninc.com> | 2020-07-09 16:59:44 +0300 |
---|---|---|
committer | Leonid Lazarev <leonid.lazarev@orioninc.com> | 2020-09-10 10:31:30 +0300 |
commit | 329d8ba3fb46b8afc803ad4a9b286cd26141f2f8 (patch) | |
tree | df2d117410e98abc20c86f3a35cecdacb53e6793 /test | |
parent | 0cecffd4565b52bd8d200f6bc9f4144f244a6515 (diff) |
Add tests for cloudproxy service
Test cases for basic functionality verification have been added.
Build of the application has been adapted for Cmake templates usage.
Bug-AGL: SPEC-3485
Change-Id: Iaa4a5e393ac9971be4176e90fa5aee10a4673cd3
Signed-off-by: Leonid Lazarev <leonid.lazarev@orioninc.com>
Diffstat (limited to 'test')
-rw-r--r-- | test/CMakeLists.txt | 28 | ||||
-rw-r--r-- | test/afb-test/CMakeLists.txt | 21 | ||||
-rw-r--r-- | test/afb-test/etc/CMakeLists.txt | 35 | ||||
-rw-r--r-- | test/afb-test/etc/aft-agl-cloudproxy.json | 22 | ||||
-rw-r--r-- | test/afb-test/tests/CMakeLists.txt | 34 | ||||
-rw-r--r-- | test/afb-test/tests/cloudproxy.lua | 26 |
6 files changed, 166 insertions, 0 deletions
diff --git a/test/CMakeLists.txt b/test/CMakeLists.txt new file mode 100644 index 0000000..becb900 --- /dev/null +++ b/test/CMakeLists.txt @@ -0,0 +1,28 @@ +########################################################################### +# Copyright 2019 Konsulko Group +# +# author:Stoyan Bogdanov <stoyan.bogdanov@konsulko.com> +# +# 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_CLOUDPROXY_TESTS + WORKING_DIRECTORY ${CMAKE_CURRENT_SOURCE_DIR} + COMMAND afm-test ${CMAKE_BINARY_DIR}/package ${CMAKE_BINARY_DIR}/package-test + ) + 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 <stoyan.bogdanov@konsulko.com> +# +# 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..228764c --- /dev/null +++ b/test/afb-test/etc/CMakeLists.txt @@ -0,0 +1,35 @@ +########################################################################### +# Copyright 2019 Konsulko Group +# +# author:Stoyan Bogdanov <stoyan.bogdanov@konsulko.com> +# +# Copyright 2020 MERA +# author:Leonid Lazarev (leonid.lazarev@orioninc.com) +# +# 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. +########################################################################### + +################################################## +# cloudproxy 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-cloudproxy.json b/test/afb-test/etc/aft-agl-cloudproxy.json new file mode 100644 index 0000000..be92ed7 --- /dev/null +++ b/test/afb-test/etc/aft-agl-cloudproxy.json @@ -0,0 +1,22 @@ +{ + "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-cloudproxy", + "info": "AFB-test binding configuration file to test cloudproxy api.", + "require": [ + "cloudproxy" + ] + }, + "testVerb": { + "uid": "launch_all_tests", + "info": "Launch all the tests", + "action": "lua://AFT#_launch_test", + "args": { + "trace": "cloudproxy", + "files": ["cloudproxy.lua"] + } + } +} diff --git a/test/afb-test/tests/CMakeLists.txt b/test/afb-test/tests/CMakeLists.txt new file mode 100644 index 0000000..45dbdef --- /dev/null +++ b/test/afb-test/tests/CMakeLists.txt @@ -0,0 +1,34 @@ +########################################################################### +# Copyright 2019 Konsulko Group +# +# author:Stoyan Bogdanov <stoyan.bogdanov@konsulko.com> +# +# Copyright 2020 MERA +# author:Leonid Lazarev <leonid.lazarev@orioninc.com> +# +# 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. +########################################################################### + +################################################## +# cloudproxy 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/cloudproxy.lua b/test/afb-test/tests/cloudproxy.lua new file mode 100644 index 0000000..7832cef --- /dev/null +++ b/test/afb-test/tests/cloudproxy.lua @@ -0,0 +1,26 @@ +--[[ + Copyright 2020 MERA + + author:Leonid Lazarev <leonid.lazarev@orioninc.com> + + 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. +--]] + +_AFT.testVerbStatusSuccess('testSendMessageSuccess','cloudproxy','ping', {}) +_AFT.testVerbStatusSuccess('testSubscribeToMsgConfirmation','cloudproxy','subscribe', {event="sendMessageConfirmation"}) +_AFT.testVerbStatusSuccess('testSubscribeToReceivedMsg','cloudproxy','subscribe', {event="receivedMessage"}) +_AFT.testVerbStatusSuccess('testUnsubscribeToUnkownMsg','cloudproxy','unsubscribe', {event="UnknownMsg"}) -- NOTE: Implementation detail - unknown msg are ignored. +_AFT.testVerbStatusError('testSubscribeToUnkownMsg','cloudproxy','subscribe', {event="UnknownMsg"}) +_AFT.testVerbStatusSuccess('testUnsubscribeToMsgConfirmation','cloudproxy','unsubscribe', {event="sendMessageConfirmation"}) +_AFT.testVerbStatusSuccess('testUnsubscribeToReceivedMsg','cloudproxy','unsubscribe', {event="receivedMessage"}) + |