diff options
author | Romain Forlot <romain.forlot@iot.bzh> | 2018-09-27 11:25:14 +0200 |
---|---|---|
committer | Romain Forlot <romain.forlot@iot.bzh> | 2018-09-27 13:05:37 +0200 |
commit | fe8f535a3544f3d828c6128d52591c5d194b693e (patch) | |
tree | 1ec95acc1fd3dd58c90a293e14b19c776b84b6ee | |
parent | 54aaf898304ff0c2c6439d3cb4da415e97e07857 (diff) |
Add tests on sources injection at runtime
This adds some basic tests about adding dummy sources into
the signal composer in addition of signals.
Change-Id: I028faa612b749866a3ab986a2f46fe00dd2d7884
Signed-off-by: Romain Forlot <romain.forlot@iot.bzh>
-rw-r--r-- | test/afb-test/fixtures/source.json | 8 | ||||
-rw-r--r-- | test/afb-test/fixtures/sources_invalid.json | 13 | ||||
-rw-r--r-- | test/afb-test/tests/signal-composer_BasicAPITest.lua | 62 |
3 files changed, 83 insertions, 0 deletions
diff --git a/test/afb-test/fixtures/source.json b/test/afb-test/fixtures/source.json new file mode 100644 index 0000000..817874f --- /dev/null +++ b/test/afb-test/fixtures/source.json @@ -0,0 +1,8 @@ +{ + "$schema": "http://iot.bzh/download/public/schema/json/signal-composer-schema.json", + "sources": { + "uid": "Dummy_Source", + "api": "dummy", + "info": "A dummy source to be used as test source" + } + } diff --git a/test/afb-test/fixtures/sources_invalid.json b/test/afb-test/fixtures/sources_invalid.json new file mode 100644 index 0000000..e7388aa --- /dev/null +++ b/test/afb-test/fixtures/sources_invalid.json @@ -0,0 +1,13 @@ +{ + "$schema": "http://iot.bzh/download/public/schema/json/signal-composer-schema.json", + "sources": [ + { + "uid": "MissingFieldSource", + "info": "A dummy source to be used as test source", + },{ + "uid": "InvalidFieldSource", + "api": "anotherDummySource", + "retention": "A dummy source to be used as test source", + } + ] + } diff --git a/test/afb-test/tests/signal-composer_BasicAPITest.lua b/test/afb-test/tests/signal-composer_BasicAPITest.lua index fe8a78c..61ef167 100644 --- a/test/afb-test/tests/signal-composer_BasicAPITest.lua +++ b/test/afb-test/tests/signal-composer_BasicAPITest.lua @@ -107,6 +107,68 @@ _AFT.testVerbStatusError(testPrefix.."getFilterInvalidSecondArgument","signal-co --[[ ################################################################################ +########################### Adding new sources ################################# +################################################################################ +]] + +--------------------------- +-- Successful verb calls -- +--------------------------- + +--[[ This tests the 'addObjects' verb of the signal-composer API, this is by passing the path of a json containing sources + then making a get, a subscribe, and an unsubscribe looking for any misbehaviour from sources added with the verb ]] +_AFT.describe(testPrefix.."addSourcesByFile", function() + _AFT.assertVerbStatusSuccess("signal-composer", "addObjects", {file = _AFT.bindingRootDir.."/var/source.json"}) +end); + +-- This tests the 'addObjects' verb of the signal-composer API, this is by passing directly the json object as a lua table +_AFT.testVerbStatusSuccess(testPrefix.."addSourcesDirect","signal-composer","addObjects", + { + sources = { + uid = "DummySource2", + api = "dummy2", + info = "Another dummy source to be used as test source", + } + } +); + +----------------------- +-- Failed verb calls -- +----------------------- + +--[[ This tests the 'addObjects' verb of the signal-composer API, this is by passing directly the json object as a lua table. + This one has invalid doesn't specified the required api field which should fails the assertion]] +_AFT.testVerbStatusError(testPrefix.."addSourcesDirect_InvalidSource","signal-composer","addObjects", + { + sources = { + { + uid = "invalidSource", + info = "An invalid source without Api specified", + } + } + } +); + +--[[ This tests the 'addObjects' verb of the signal-composer API, this is by passing directly the json object as a lua table. + This one has a wrong retention field ]] +_AFT.testVerbStatusError(testPrefix.."addSourcesDirect_MissingField","signal-composer","addObjects", + { + sources= { + { + api = "invalidSource3", + info = "An invalid source without UID specified", + retention = "Invalid retention" + } + } + } +); + +--[[ This tests the 'addObjects' verb of the signal-composer API, this is by passing the path of a json containing sources + This one has invalid values for most of its field, the binding should not be able to add it ]] +_AFT.testVerbStatusError(testPrefix.."addSourcesByFile_InvalidSources","signal-composer","addObjects",{file = _AFT.bindingRootDir.."/var/sources_invalid.json"}); + +--[[ +################################################################################ ########################### Adding new signals ################################# ################################################################################ ]] |