From 8d6fd1bd426e94b9c98a710520d31f7d14e1085b Mon Sep 17 00:00:00 2001 From: Noureddine Date: Wed, 21 Sep 2022 10:55:31 +0100 Subject: [PATCH] Correct writeback_state sequence test (#450) --- .gitattributes | 3 ++ .github/workflows/testing.yml | 3 ++ bin/clone_model | 2 +- docs/specs/sequences/generated.md | 17 +++++++++-- etc/sequencer.out | 2 +- ...> WritebackSequences_writeback_states.xml} | 6 ++-- validator/bin/build | 2 +- .../sequence.md | 8 +++++ validator/sequences/periodic_scan/sequence.md | 2 ++ validator/sequences/single_scan/sequence.md | 2 ++ .../sequences/writeback_states/sequence.md | 11 ++++++- .../writeback_states/state_update.json | 30 +++++++++++++------ .../sequences/DiscoverySequences.java | 5 ++-- .../sequences/WritebackSequences.java | 5 ++-- .../daq/mqtt/util/ConfigDiffEngine.java | 28 ++++++++++------- 15 files changed, 94 insertions(+), 32 deletions(-) rename validator/.idea/runConfigurations/{WritebackValidator_writeback_states.xml => WritebackSequences_writeback_states.xml} (73%) create mode 100644 validator/sequences/endpoint_config_connection_error/sequence.md diff --git a/.gitattributes b/.gitattributes index 9bf3b91f70..307d54a839 100644 --- a/.gitattributes +++ b/.gitattributes @@ -1 +1,4 @@ /gencode/** linguist-generated=true +validator/sequences/**/*.json linguist-generated=true +validator/sequences/**/*.attr linguist-generated=true +validator/sequences/**/*.log linguist-generated=true diff --git a/.github/workflows/testing.yml b/.github/workflows/testing.yml index 9bbdbac996..400bb719fb 100644 --- a/.github/workflows/testing.yml +++ b/.github/workflows/testing.yml @@ -111,6 +111,9 @@ jobs: more /tmp/sequencer.out diff -u /tmp/sequencer.out etc/sequencer.out diff -u /tmp/generated.md docs/specs/sequences/generated.md + ls -1 sites/udmi_site_model/out/devices/AHU-1/tests/ | xargs -I% diff -u \ + sites/udmi_site_model/out/devices/AHU-1/tests/%/sequence.md \ + validator/sequences/%/sequence.md - name: telemetry validator env: GCP_TARGET_PROJECT: ${{ secrets.GCP_TARGET_PROJECT }} diff --git a/bin/clone_model b/bin/clone_model index 2ba202528e..9418cf16b1 100755 --- a/bin/clone_model +++ b/bin/clone_model @@ -5,7 +5,7 @@ mkdir -p $ROOT_DIR/sites cd $ROOT_DIR/sites MODEL_DIR=udmi_site_model -MODEL_VER=1.7 +MODEL_VER=1.8 TEST_SITE_GIT=https://github.com/faucetsdn/$MODEL_DIR.git MODEL_REPO=origin diff --git a/docs/specs/sequences/generated.md b/docs/specs/sequences/generated.md index c9b54723ab..42c9ee3424 100644 --- a/docs/specs/sequences/generated.md +++ b/docs/specs/sequences/generated.md @@ -71,7 +71,7 @@ Check that the device MQTT-acknowledges a sent config. Push endpoint config message to device that results in a connection error. 1. Update config: - * Add `blobset` = { "blobs": { } } + * Add `blobset` = { "blobs": { "_iot_endpoint_config": { "phase": `final`, "content_type": `application/json`, "base64": `eyAgICJwcm90b2NvbCI6ICJtcXR0IiwKICAiY2xpZW50X2lkIjogInRlc3RfcHJvamVjdC9kZXZpY2UiLAogICJob3N0bmFtZSI6ICJsb2NhbGhvc3QiCn0=` } } } 1. Wait for blobset entry config status is error ## extra_config @@ -101,6 +101,8 @@ Check that the device correctly handles an extra out-of-schema field 1. Update config: * Add `discovery` = { "families": { } } 1. Wait for all scans not active +1. Update config: + * Add `discovery.families.virtual` = { "generation": _family generation_, "scan_interval_sec": `10`, "enumerate": `true` } 1. Wait for scan iterations ## self_enumeration @@ -116,6 +118,8 @@ Check that the device correctly handles an extra out-of-schema field 1. Update config: * Add `discovery` = { "families": { } } 1. Wait for all scans not active +1. Update config: + * Add `discovery.families.virtual` = { "generation": _family generation_, "enumerate": `true` } 1. Wait for scheduled scan start 1. Wait for scan activation 1. Wait for scan completed @@ -143,4 +147,13 @@ Check that the min log-level config is honored by the device. ## writeback_states -1. Test failed: Missing 'invalid' target specification +1. Wait for point filter_differential_pressure_sensor to have value_state default (null) +1. Wait for point filter_alarm_pressure_status to have value_state default (null) +1. Wait for point filter_differential_pressure_setpoint to have value_state default (null) +1. Update config: + * Add `pointset.points.filter_alarm_pressure_status.set_value` = `false` + * Set `pointset.points.filter_differential_pressure_setpoint.set_value` = `60` + * Add `pointset.points.filter_differential_pressure_sensor.set_value` = `15` +1. Wait for point filter_differential_pressure_sensor to have value_state invalid +1. Wait for point filter_alarm_pressure_status to have value_state failure +1. Wait for point filter_differential_pressure_setpoint to have value_state applied diff --git a/etc/sequencer.out b/etc/sequencer.out index 31f7a67bce..5a09112de9 100644 --- a/etc/sequencer.out +++ b/etc/sequencer.out @@ -11,4 +11,4 @@ RESULT pass valid_serial_no Sequence complete RESULT pass valid_serial_no Sequence complete RESULT pass valid_serial_no Sequence complete RESULT pass valid_serial_no Sequence complete -RESULT skip writeback_states Missing 'invalid' target specification +RESULT pass writeback_states Sequence complete diff --git a/validator/.idea/runConfigurations/WritebackValidator_writeback_states.xml b/validator/.idea/runConfigurations/WritebackSequences_writeback_states.xml similarity index 73% rename from validator/.idea/runConfigurations/WritebackValidator_writeback_states.xml rename to validator/.idea/runConfigurations/WritebackSequences_writeback_states.xml index da9a2c99fc..5d663011cf 100644 --- a/validator/.idea/runConfigurations/WritebackValidator_writeback_states.xml +++ b/validator/.idea/runConfigurations/WritebackSequences_writeback_states.xml @@ -1,5 +1,5 @@ - + @@ -7,8 +7,8 @@ -