X-Git-Url: https://gerrit.automotivelinux.org/gerrit/gitweb?a=blobdiff_plain;f=test%2Fafb-test%2Ftests%2Flow-can_FilterTest01.lua;fp=test%2Fafb-test%2Ftests%2Flow-can_FilterTest01.lua;h=a57447687b11de26132fe17387d436e2f3cd728a;hb=e8eba1c53e1bbccc8c3ae21958e885586bb3c260;hp=0000000000000000000000000000000000000000;hpb=2b11138a150dd2e27cbf49231157f4560d536196;p=apps%2Fagl-service-can-low-level.git diff --git a/test/afb-test/tests/low-can_FilterTest01.lua b/test/afb-test/tests/low-can_FilterTest01.lua new file mode 100644 index 00000000..a5744768 --- /dev/null +++ b/test/afb-test/tests/low-can_FilterTest01.lua @@ -0,0 +1,56 @@ + --[[ + Copyright (C) 2018 "IoT.bzh" + Author Clément Malléjac + + 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.setAfterEach( function() + os.execute("pkill canplayer") + os.execute("pkill linuxcan-canpla") +end) + +_AFT.describe("Filter_Test_01/Step_1", function() + local api = "low-can" + local evt = "engine.speed" + local min = 30; + local max = 100; + + _AFT.addEventToMonitor(api .. "/" ..evt, function(eventname,data) + _AFT.assertEquals(data.name,evt) + end) + _AFT.assertVerbStatusSuccess(api ,"subscribe", { event = evt, filter = { min = 30, max = 100}}) + os.execute("./var/replay_launcher.sh ./var/testFilter01filteredOut.canreplay"); + _AFT.assertEvtNotReceived(api .. "/" ..evt, 1000000) +end) + +_AFT.describe("Filter_Test_01/Step_2", function() + local api = "low-can" + local evt = "messages.engine.speed" + local min = 30; + local max = 100; + + _AFT.addEventToMonitor(api .. "/" ..evt, function(eventname,data) + print(data.name .."-vs-" .. evt) + _AFT.assertEquals(data.name,evt) + _AFT.assertIsTrue(data.value > min and data.value < max ) + end) + _AFT.assertVerbStatusSuccess(api ,"subscribe", { event = evt, filter = { min = 30, max = 100}}) + os.execute("./var/replay_launcher.sh ./var/testFilter01pass.canreplay"); + + _AFT.assertEvtReceived(api .. "/" ..evt, 1000000) + _AFT.assertVerbStatusSuccess(api,"unsubscribe", { event = evt }) +end) \ No newline at end of file