summaryrefslogtreecommitdiffstats
path: root/docs/Reference/0_BindingTestFunctions.md
diff options
context:
space:
mode:
authorRomain Forlot <romain.forlot@iot.bzh>2018-10-29 18:37:26 +0100
committerRomain Forlot <romain.forlot@iot.bzh>2018-12-11 12:20:32 +0000
commit16922b73bf17b2f23148438957cd3d18542075f4 (patch)
tree20355189f7f5f2262e7fe31be0b7119b07182ab1 /docs/Reference/0_BindingTestFunctions.md
parent77ca03276ea3bb12873a1b69b1726d4e99f8dead (diff)
Docs reorganization and update
Docs reorganization and update using the latest afb-test improvments and try to make it clearer. Change-Id: If022cdb46364ef250361bdcd420d45b360f10a2e Signed-off-by: Romain Forlot <romain.forlot@iot.bzh> (cherry picked from commit 2f3654275e44f9719818a848da9a0b576d5a1b53)
Diffstat (limited to 'docs/Reference/0_BindingTestFunctions.md')
-rw-r--r--docs/Reference/0_BindingTestFunctions.md143
1 files changed, 143 insertions, 0 deletions
diff --git a/docs/Reference/0_BindingTestFunctions.md b/docs/Reference/0_BindingTestFunctions.md
new file mode 100644
index 0000000..4ee95e0
--- /dev/null
+++ b/docs/Reference/0_BindingTestFunctions.md
@@ -0,0 +1,143 @@
+# Binding Test functions
+
+* **_AFT.testVerbStatusSuccess(testName, api, verb, args, setUp, tearDown)**
+
+ Simply test that the call of a verb successfully returns.
+
+ *setUp* and *tearDown* are functions that can be added to your test context,
+ it works just like **_AFT.beforeEach()** and **_AFT.afterEach()**,
+ *setUp* will be ran before your *testFunction* and **_AFT.beforeEach()**
+ (if set) functions, *tearDown* will be ran after your *testFunction* and
+ **_AFT.afterEach()** (if set) functions.
+
+ ```lua
+ _AFT.testVerbStatusSuccess('testPingSuccess','hello', 'ping', {})
+ ```
+
+* **_AFT.testVerbStatusError(testName, api, verb, args, setUp, tearDown)**
+
+ The inverse of above, test that a verb return does not succeed.
+
+ *setUp* and *tearDown* are functions that can be added to your test context,
+ it works just like **_AFT.beforeEach()** and **_AFT.afterEach()**,
+ *setUp* will be ran before your *testFunction* and **_AFT.beforeEach()**
+ (if set) functions, *tearDown* will be ran after your *testFunction* and
+ **_AFT.afterEach()** (if set) functions.
+
+ ```lua
+ _AFT.testVerbStatusSuccess('testPingError', 'hello', 'pingfail', {})
+ ```
+
+* **_AFT.testVerbResponseEquals(testName, api, verb, args, expectedResponse, setUp, tearDown)**
+
+ Test that the call of a verb successfully returns and that verb's response
+ is equals to the *expectedResponse*.
+
+ *setUp* and *tearDown* are functions that can be added to your test context,
+ it works just like **_AFT.beforeEach()** and **_AFT.afterEach()**, *setUp*
+ will be ran before your *testFunction* and **_AFT.beforeEach()** (if set)
+ functions, *tearDown* will be ran after your *testFunction* and
+ **_AFT.afterEach()** (if set) functions.
+
+ ```lua
+ _AFT.testVerbResponseEquals('testPingSuccess','hello', 'ping', {}, "Some String")
+ ```
+
+* **_AFT.testVerbResponseEqualsError(testName, api, verb, args, expectedResponse, setUp, tearDown)**
+
+ The inverse of above.
+
+ *setUp* and *tearDown* are functions that can be added to your test context, it works
+ just like **_AFT.beforeEach()** and **_AFT.afterEach()**, *setUp* will be ran
+ before your *testFunction* and **_AFT.beforeEach()** (if set) functions,
+ *tearDown* will be ran after your *testFunction* and **_AFT.afterEach()** (if
+ set) functions.
+
+ ```lua
+ _AFT.testVerbResponseEqualsError('testPingError', 'hello', 'pingfail', {}, "Ping Binder Daemon fails")
+ ```
+
+* **_AFT.testVerbCb(testName, api, verb, args, expectedResponse, callback, setUp, tearDown)**
+
+ Test the call of a verb with a custom callback. From this callback you
+ will need to make some assertions on what you need (verb JSON return object
+ content mainly).
+
+ If you don't need to test the response simply specify an empty LUA table.
+
+ *setUp* and *tearDown* are functions that can be added to your test context, it works
+ just like **_AFT.beforeEach()** and **_AFT.afterEach()**, *setUp* will be ran
+ before your *testFunction* and **_AFT.beforeEach()** (if set) functions,
+ *tearDown* will be ran after your *testFunction* and **_AFT.afterEach()** (if
+ set) functions.
+
+ ```lua
+ function _callback(responseJ)
+ _AFT.assertStrContains(responseJ.response, "Some String")
+ end
+ _AFT.testVerbCb('testPingSuccess','hello', 'ping', {}, _callback)
+ ```
+
+* **_AFT.testVerbCbError(testName, api, verb, args, expectedResponse, callback, setUp, tearDown)**
+
+ Should return success on failure.
+
+ *setUp* and *tearDown* are functions that can be added to your test context, it works
+ just like **_AFT.beforeEach()** and **_AFT.afterEach()**, *setUp* will be ran
+ before your *testFunction* and **_AFT.beforeEach()** (if set) functions,
+ *tearDown* will be ran after your *testFunction* and **_AFT.afterEach()** (if
+ set) functions.
+
+ ```lua
+ function _callbackError(responseJ)
+ _AFT.assertStrContains(responseJ.request.info, "Ping Binder Daemon fails")
+ end
+
+ _AFT.testVerbCbError('testPingError', 'hello', 'pingfail', {}, _callbackError)
+ ```
+
+* **_AFT.testEvtReceived(testName, eventName, timeout, setUp, tearDown)**
+
+ Prior to be able to check that an event has been received, you have to
+ register the event with the test framework using **_AFT.addEventToMonitor**
+ function.
+
+ Check if an event has been correctly received in time (timeout in µs). An event
+ name use the application framework naming scheme: **api/event_name**.
+
+ ```lua
+ _AFT.testEvtReceived("testEvent", "hello/anEvent",300000)
+ ```
+
+* **_AFT.testEvtNotReceived(testName, eventName, timeout, setUp, tearDown)**
+
+ Prior to be able to check that an event has not been received, you have to
+ register the event with the test framework using **_AFT.addEventToMonitor**
+ function.
+
+ Check if an event has not been correctly received in time (timeout in µs). An
+ event name use the application framework naming scheme: **api/event_name**.
+
+ ```lua
+ _AFT.testEvtNotReceived("testEventCb", "hello/anotherEvent",300000)
+ ```
+
+* **_AFT.testGrpEvtReceived(testName, eventGrp, timeout, setUp, tearDown)**
+
+ Prior to be able to check that a group of events (a table of events) has been
+ received, you have to register the events with the test framework using
+ **_AFT.addEventToMonitor** function.
+
+ The table has to have this format:
+ ```lua
+ eventGrp = {["api/event_name_1"]=1, ["api/event_name_2"]=2, ["api/event_name_3"]=5}
+ ```
+ As you can see in the table, event names are table keys and the value stored are
+ the number of time that the events have to be received.
+
+ Check if events has been correctly received in time (timeout in µs). An
+ event name use the application framework naming scheme: **api/event_name**.
+
+ ```lua
+ _AFT.testEvtGrpReceived("TestEventGroupReceived",{["hello/anEvent"]=3,["hello/anotherEvent"]=1}, 300000)
+ ``` \ No newline at end of file