From 5663caee2540dbc769d39c1e255c35493169b037 Mon Sep 17 00:00:00 2001 From: Frederic Marec Date: Fri, 28 Sep 2018 09:01:04 +0200 Subject: Add tests for data persistence binding Add test tree structures Add tests for persistence binding Add dependency in README.md Change-Id: If3fa3450fa61cd7e440712354b123d02934e2488 Signed-off-by: Frederic Marec --- test/tests/CMakeLists.txt | 31 ++++++++++++++ test/tests/persistence_BasicAPITest.lua | 71 +++++++++++++++++++++++++++++++++ 2 files changed, 102 insertions(+) create mode 100644 test/tests/CMakeLists.txt create mode 100644 test/tests/persistence_BasicAPITest.lua (limited to 'test/tests') diff --git a/test/tests/CMakeLists.txt b/test/tests/CMakeLists.txt new file mode 100644 index 0000000..c03658a --- /dev/null +++ b/test/tests/CMakeLists.txt @@ -0,0 +1,31 @@ +########################################################################### +# Copyright 2018 IoT.bzh +# +# author:Frédéric Marec +# +# 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. +########################################################################### + + +################################################## +# Data persistence 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} + ) \ No newline at end of file diff --git a/test/tests/persistence_BasicAPITest.lua b/test/tests/persistence_BasicAPITest.lua new file mode 100644 index 0000000..6d65697 --- /dev/null +++ b/test/tests/persistence_BasicAPITest.lua @@ -0,0 +1,71 @@ +--[[ + Copyright (C) 2018 "IoT.bzh" + Author Frédéric Marec + + 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 '_' +--]] + +local testPrefix ="persistence_BasicAPITest_" + +-- This tests the 'insert' verb of the persistence API +_AFT.testVerbStatusSuccess(testPrefix.."insert","persistence","insert", {key="TEST", value="myvalue"}, nil, + function() + _AFT.callVerb("persistence", "delete", {key="TEST"}) + end) + +-- This tests the 'delete' verb of the persistence API +_AFT.testVerbStatusSuccess(testPrefix.."delete","persistence","delete", {key="TEST"}, + function() + _AFT.callVerb("persistence", "insert", {key="TEST", value="myvalue"}) + end, nil) + +-- This tests the 'update' verb of the persistence API +_AFT.testVerbStatusSuccess(testPrefix.."update","persistence","update", {key="TEST", value="test"}, + function() + _AFT.callVerb("persistence", "insert", {key="TEST", value="myvalue"}) + end, + function() + _AFT.callVerb("persistence", "delete", {key="TEST"}) + end) + +-- This tests the 'read' verb of the persistence API +_AFT.testVerbStatusSuccess(testPrefix.."read","persistence","read", {key="TEST"}, + function() + _AFT.callVerb("persistence", "insert", {key="TEST", value="myvalue"}) + end, + function() + _AFT.callVerb("persistence", "delete", {key="TEST"}) + end) + +-- This tests the 'read' verb of the persistence API +_AFT.testVerbStatusError(testPrefix.."read-unknow-value","persistence","read", {key="TEST"}, nil, nil) + +-- This tests the 'insert' verb of the persistence API +_AFT.testVerbStatusError(testPrefix.."insert-without-value","persistence","insert", {key="TEST"}, nil, + function() + _AFT.callVerb("persistence", "delete", {key="TEST"}) + end) + +-- This tests the 'delete' verb of the persistence API +_AFT.testVerbStatusError(testPrefix.."delete-unknow-key","persistence","delete", {key="TEST"}, nil, nil) + +-- This tests the 'insert' verb of the persistence API +_AFT.testVerbStatusError(testPrefix.."insert-with-anything","persistence","insert", {value="talenka"}, nil, nil) + +-- This tests the 'update' verb of the persistence API +_AFT.testVerbStatusError(testPrefix.."update-unkwon-null-value","persistence","update", {key=null}, nil, nil) + +_AFT.exitAtEnd() -- cgit 1.2.3-korg