43 lines
1.6 KiB
PHP
43 lines
1.6 KiB
PHP
<?php
|
|
// TODO(jjacobs): We need a recv loop with a timeout instead of infinite
|
|
// TODO(jjacobs): We need to measure time between publishes and validate against requirement
|
|
///////////////////////////////////////////////////////////////////////////////
|
|
//require_once(get_cfg_var('COMMON_PATH') . "/ditest-php/test_framework.php");
|
|
require_once("../../common/ditest-php/test_framework.php");
|
|
require_once("./config.php");
|
|
///////////////////////////////////////////////////////////////////////////////
|
|
$test = new DiTest("Verify periodic sensor publish", 1);
|
|
$test->goal("Verify device ping requests");
|
|
|
|
$pubsub = new SubscribeSocket($test, $cfgSMPZMQPublishURI);
|
|
|
|
$test->step("Wait for device:ping publish");
|
|
while (true) {
|
|
$msg = $pubsub->recv();
|
|
if ($msg['pub'] == "device:ping")
|
|
break;
|
|
}
|
|
|
|
$test->step("Wait for sensor:data GPS uid 13 publish");
|
|
while (true) {
|
|
$msg = $pubsub->recv();
|
|
if ($msg['pub'] == "sensor:data" && $msg['result'][0]['uid'] == 13)
|
|
break;
|
|
}
|
|
$test->info("GPS: " . json_encode($msg['result'][0]['value']));
|
|
|
|
$test->equal(true, isset($msg['result'][0]['time']));
|
|
$test->equal(true, isset($msg['result'][0]['value']['fix']));
|
|
$test->equal(true, isset($msg['result'][0]['value']['latitude']));
|
|
$test->equal(true, isset($msg['result'][0]['value']['longitude']));
|
|
$test->equal(true, isset($msg['result'][0]['value']['siv']));
|
|
$test->equal(true, isset($msg['result'][0]['value']['hdop']));
|
|
|
|
$test->step("Wait for sensor:data RSSI uid 14 publish");
|
|
while (true) {
|
|
$msg = $pubsub->recv();
|
|
if ($msg['pub'] == "sensor:data" && $msg['result'][0]['uid'] == 14)
|
|
break;
|
|
}
|
|
$test->info("RSSI: " . $msg['result'][0]['value']);
|