10. Endpoint Capability Test Cases
10.1 CMN-EP-CAPABILITY-REPORT-BV-01: When KV store does not have the capability report saved, the event to send capability is scheduled.
10.1.1 Test Purpose
Verify capability report flow when endpoint attempt to schedule report.
10.1.2 Initial Conditions
- DUT is registered with Amazon Sidewalk network.
- Lower Tester operates in supported links mode.
- SidewalkNetworkFlag is enabled on the Lower Tester.
10.1.3 Test Procedure
sequenceDiagram
participant Lower_Tester as Lower Tester
participant DUT as DUT
participant Upper_Tester as Upper Tester
Note over Lower_Tester,Upper_Tester: iterate: Each Sidewalk operation mode
Upper_Tester->>DUT: print_clear_cap(CAPABILITY_AND_CONFIGURE)
DUT->>Upper_Tester: #35;SID_ERROR_NONE
Note over Lower_Tester,Upper_Tester: Sidewalk application started
Note over Lower_Tester,Upper_Tester: DUT Status: Registered, Time Synced, Link Mask 0
DUT->>Lower_Tester: UPLINK_CAPABILITY_COMMAND
Lower_Tester->>DUT: SEND_DOWNLINK_COMMAND
Note over Lower_Tester,Upper_Tester: end of iteration
Upper_Tester->>DUT: sid_stop()
DUT->>Upper_Tester: #35;SID_ERROR_NONE
DUT->>Upper_Tester: on_status_changed() "Time Synced, Link Mask 0"
Upper_Tester->>DUT: sid_deinit()
DUT->>Upper_Tester: #35;SID_ERROR_NONE
DUT->>Upper_Tester: on_status_changed() "No Time, Link Mask 0"
10.1.4 Expected Results
10.1.4.1 Pass Verdict
When the capability information of Endpoint is not equal to the capability information stored in the KV store, the event to send capability is performed.
10.2 CMN-EP-CAPABILITY-REPORT-BV-02: When Capability stored in the KV store is equal to the capability of the Endpoint, the Capability event report is not generated.
10.2.1 Test Purpose
Verify capability report flow when the Capability information stored in KV store capability is equal to the capability of the endpoint.
10.2.2 Initial Conditions
- DUT is registered with Amazon Sidewalk network.
- Lower Tester operates in supported links mode.
- SidewalkNetworkFlag is enabled on the Lower Tester.
10.2.3 Test Procedure
sequenceDiagram
participant Lower_Tester as Lower Tester
participant DUT as DUT
participant Upper_Tester as Upper Tester
Note over Lower_Tester,Upper_Tester: iterate: Each Sidewalk operation mode
Upper_Tester->>DUT: print_clear_cap(CAPABILITY_AND_CONFIGURE)
DUT->>Upper_Tester: #35;SID_ERROR_NONE
Note over Lower_Tester,Upper_Tester: Sidewalk application started
Note over Lower_Tester,Upper_Tester: DUT Status: Registered, Time Synced, Link Mask 0
DUT->>Lower_Tester: UPLINK_CAPABILITY_COMMAND
Lower_Tester->>DUT: SEND_DOWNLINK_COMMAND
Upper_Tester->>DUT: reboot
DUT->>Upper_Tester: #35;SID_ERROR_NONE
Note over Lower_Tester,Upper_Tester: iterate: Each Sidewalk operation mode
Note over Lower_Tester,Upper_Tester: Sidewalk application started
Note over Lower_Tester,Upper_Tester: DUT Status: Registered, Time Synced, Link Mask 0
Note over Lower_Tester,Upper_Tester: No UPLINK_CAPABILITY_COMMAND send
Note over Lower_Tester,Upper_Tester: end of iteration
Upper_Tester->>DUT: sid_stop()
DUT->>Upper_Tester: #35;SID_ERROR_NONE
DUT->>Upper_Tester: on_status_changed() "Time Synced, Link Mask 0"
Upper_Tester->>DUT: sid_deinit()
DUT->>Upper_Tester: #35;SID_ERROR_NONE
DUT->>Upper_Tester: on_status_changed() "No Time, Link Mask 0"
10.2.4 Expected Results
10.2.4.1 Pass Verdict
Capability information stored in the KV store is equal to capability information of the device. The event to report capability information is not scheduled.
10.3 CMN-EP-CAPABILITY-REPORT-BV-03: Endpoint default capability report.
10.3.1 Test Purpose
Verify on clearing the configuration, the capability and configuration shall be set to defaults.
10.3.2 Initial Conditions
- DUT is registered with Amazon Sidewalk network.
- Lower Tester operates in supported links mode.
- SidewalkNetworkFlag is enabled on the Lower Tester.
10.3.3 Test Procedure
sequenceDiagram
participant Lower_Tester as Lower Tester
participant DUT as DUT
participant Upper_Tester as Upper Tester
Note over Lower_Tester,Upper_Tester: iterate: Each Sidewalk operation mode
Note over Lower_Tester,Upper_Tester: Sidewalk application started
Note over Lower_Tester,Upper_Tester: DUT Status: Registered, Time Synced, Link Mask 0
Upper_Tester->>DUT: print_clear_cap(CAPABILITY_AND_CONFIGURE)
DUT->>Upper_Tester: #35;SID_ERROR_NONE
Upper_Tester->>DUT: print_get_cap(CAPABILITY_AND_CONFIGURE)
DUT->>Upper_Tester: Print Capability "Default_capability_and_configure"
Note over Lower_Tester,Upper_Tester: end of iteration
Upper_Tester->>DUT: sid_stop()
DUT->>Upper_Tester: #35;SID_ERROR_NONE
DUT->>Upper_Tester: on_status_changed() "Time Synced, Link Mask 0"
Upper_Tester->>DUT: sid_deinit()
DUT->>Upper_Tester: #35;SID_ERROR_NONE
DUT->>Upper_Tester: on_status_changed() "No Time, Link Mask 0"
10.3.4 Expected Results
10.3.4.1 Pass Verdict
The capability and configuration information are equal to the default values.
10.4 CMN-EP-CAPABILITY-REQUEST-BV-01: Endpoint is online, send request to get endpoint capability.
10.4.1 Test Purpose
Verify endpoint sends updated capability when user initiates request capability.
10.4.2 Initial Conditions
- DUT is registered with Amazon Sidewalk network.
- Lower Tester operates in supported links mode.
- SidewalkNetworkFlag is enabled on the Lower Tester.
10.4.3 Test Procedure
sequenceDiagram
participant Lower_Tester as Lower Tester
participant DUT as DUT
participant Upper_Tester as Upper Tester
Note over Lower_Tester,Upper_Tester: iterate: Each Sidewalk operation mode
Note over Lower_Tester,Upper_Tester: Sidewalk application started
Note over Lower_Tester,Upper_Tester: DUT Status: Registered, Time Synced
Upper_Tester->>DUT: INITIATE_REQUEST_CAPABILITY
Lower_Tester->>DUT: SEND_DOWNLINK_COMMAND
DUT->>Lower_Tester: SEND_CAPABILITY_COMMAND
DUT->>Lower_Tester: GET_CAPABILITY "Configure_is_same_as_DUT"
Note over Lower_Tester,Upper_Tester: end of iteration
Upper_Tester->>DUT: sid_stop()
DUT->>Upper_Tester: #35;SID_ERROR_NONE
DUT->>Upper_Tester: on_status_changed() "Time Synced, Link Mask 0"
Upper_Tester->>DUT: sid_deinit()
DUT->>Upper_Tester: #35;SID_ERROR_NONE
DUT->>Upper_Tester: on_status_changed() "No Time, Link Mask 0"
10.4.4 Expected Results
10.4.4.1 Pass Verdict
Endpoint reports updated capability report when requested by the user.
10.5 CMN-EP-CAPABILITY-CONFIGURE-BV-01: Endpoint configuration shall be updated on user setting.
10.5.1 Test Purpose
Verify configuration of the endpoint is updated after it is set by the user.
10.5.2 Initial Conditions
- DUT is registered with Amazon Sidewalk network.
- Lower Tester operates in supported links.
- SidewalkNetworkFlag is enabled on the Lower Tester.
10.5.3 Test Procedure
sequenceDiagram
participant Lower_Tester as Lower Tester
participant DUT as DUT
participant Upper_Tester as Upper Tester
Note over Lower_Tester,Upper_Tester: iterate: Each Sidewalk operation mode
Note over Lower_Tester,Upper_Tester: Sidewalk application started
Note over Lower_Tester,Upper_Tester: DUT Status: Registered, Time Synced
Upper_Tester->>DUT: SET_EACH_CONFIGURE
Lower_Tester->>DUT: SEND_DOWNLINK_COMMAND
DUT->>Lower_Tester: SEND_CONFIGURATION_DOWNLOAD_ACK
Upper_Tester->>DUT: print_get_cap(CONFIGURATION)
DUT->>Upper_Tester: Print Capability "Each_configure_is_updated"
DUT->>Lower_Tester: GET_CAPABILITY "Each_configure_is_updated"
Note over Lower_Tester,Upper_Tester: end of iteration
Upper_Tester->>DUT: sid_stop()
DUT->>Upper_Tester: #35;SID_ERROR_NONE
DUT->>Upper_Tester: on_status_changed() "Time Synced, Link Mask 0"
Upper_Tester->>DUT: sid_deinit()
DUT->>Upper_Tester: #35;SID_ERROR_NONE
DUT->>Upper_Tester: on_status_changed() "No Time, Link Mask 0"
10.5.4 Expected Results
10.5.4.1 Pass Verdict
The configuration on DUT is updated.
10.6 CMN-EP-CAPABILITY-REGISTER-BV-01: Endpoint capability is set to default after re-registration.
10.6.1 Test Purpose
Verify capability of Endpoint shall have default configuration on re-registration.
10.6.2 Initial Conditions
- DUT is registered with Amazon Sidewalk network.
- Lower Tester operates in supported links(BLE or FSK) mode.
- SidewalkNetworkFlag is enabled on the Lower Tester.
10.6.3 Test Procedure
sequenceDiagram
participant Lower_Tester as Lower Tester
participant DUT as DUT
participant Upper_Tester as Upper Tester
Note over Lower_Tester,Upper_Tester: iterate: BLE and FSK mode
Note over Lower_Tester,Upper_Tester: Sidewalk application started
Note over Lower_Tester,Upper_Tester: DUT Status: Registered, Time Synced, Link Mask 0
Upper_Tester->>DUT: SET_EACH_CONFIGURE
Lower_Tester->>DUT: SEND_DOWNLINK_COMMAND
DUT->>Lower_Tester: SEND_CONFIGURATION_DOWNLOAD_ACK
Upper_Tester->>DUT: print_get_cap(CONFIGURATION)
DUT->>Upper_Tester: Print Capability "Each_configure_is_updated"
Upper_Tester->>DUT: sid_set_factory_reset()
DUT->>Upper_Tester: #35;SID_ERROR_NONE
DUT->>Lower_Tester: NOTIFY_RESET(RESET_HARD)
DUT->>Upper_Tester: on_status_changed() "Status: Not registered, Link Mask 0"
Note over Lower_Tester,Upper_Tester: Sidewalk stack initialized and started, DUT Status: Not Registered
Note over Lower_Tester,Upper_Tester: Wait until registration process is finished
DUT->>Upper_Tester: on_status_changed() "Status: Registered"
DUT->>Lower_Tester: UPLINK_CAPABILITY_COMMAND
Lower_Tester->>DUT: SEND_DOWNLINK_COMMAND
Upper_Tester->>DUT: print_get_cap(CONFIGURATION)
DUT->>Upper_Tester: Print Capability "Each_configure_is_return_to_default"
DUT->>Lower_Tester: GET_CAPABILITY "Each_configure_is_return_to_default"
Note over Lower_Tester,Upper_Tester: end of iteration
Upper_Tester->>DUT: sid_stop()
DUT->>Upper_Tester: #35;SID_ERROR_NONE
DUT->>Upper_Tester: on_status_changed() "Time Synced, Link Mask 0"
Upper_Tester->>DUT: sid_deinit()
DUT->>Upper_Tester: #35;SID_ERROR_NONE
DUT->>Upper_Tester: on_status_changed() "No Time, Link Mask 0"
10.6.4 Expected Results
10.6.4.1 Pass Verdict
Configuration is set to defaults on re-registration.
10.7 CMN-EP-CAPABILITY-THRESHOLD-BV-01: Traffic threshold reset mechanism.
10.7.1 Test Purpose
Verify traffic thresholds are reset when the device is reset but not when sidewalk stack is stopped and started.
10.7.2 Initial Conditions
- DUT is registered with Amazon Sidewalk network.
- Lower Tester operates in supported links mode.
- SidewalkNetworkFlag is enabled on the Lower Tester.
10.7.3 Test Procedure
sequenceDiagram
participant Lower_Tester as Lower Tester
participant DUT as DUT
participant Upper_Tester as Upper Tester
Note over Lower_Tester,Upper_Tester: iterate: Each Sidewalk operation mode
Note over Lower_Tester,Upper_Tester: Sidewalk application started
Note over Lower_Tester,Upper_Tester: DUT Status: Registered, Time Synced
Upper_Tester->>DUT: SET_CONFIGURATION
Lower_Tester->>DUT: SEND_DOWNLINK_COMMAND
DUT->>Lower_Tester: SEND_CONFIGURATION_DOWNLOAD_ACK
Upper_Tester->>DUT: sid_put_msg(SID_MSG_TYPE_NOTIFY, Command data: any)
DUT->>Upper_Tester: on_msg_sent()
Note over Lower_Tester,Upper_Tester: Wait for 2s
Upper_Tester->>DUT: sid_put_msg(SID_MSG_TYPE_NOTIFY, Command data: any)
DUT->>Upper_Tester: on_msg_sent()
Note over Lower_Tester,Upper_Tester: Wait for 2s
Upper_Tester->>DUT: sid_put_msg(SID_MSG_TYPE_NOTIFY, Command data: any)
DUT->>Upper_Tester: on_msg_sent()
Upper_Tester->>DUT: sid_stop
DUT->>Upper_Tester: #35;SID_ERROR_NONE
Upper_Tester->>DUT: sid_start
DUT->>Upper_Tester: #35;SID_ERROR_NONE
Note over Lower_Tester,Upper_Tester: DUT Status: Registered, Time Synced
Upper_Tester->>DUT: sid_put_msg(SID_MSG_TYPE_NOTIFY, Command data: any)
DUT->>Upper_Tester: on_send_error(SID_ERROR_THRESHOLD_EXCEEDED)
Upper_Tester->>DUT: reboot
DUT->>Upper_Tester: #35;SID_ERROR_NONE
Note over Lower_Tester,Upper_Tester: iterate: Each Sidewalk operation mode
Note over Lower_Tester,Upper_Tester: Sidewalk application started
Note over Lower_Tester,Upper_Tester: DUT Status: Registered, Time Synced
Upper_Tester->>DUT: sid_put_msg(SID_MSG_TYPE_NOTIFY, Command data: any)
DUT->>Upper_Tester: on_msg_sent()
Note over Lower_Tester,Upper_Tester: Wait for 2s
Upper_Tester->>DUT: sid_put_msg(SID_MSG_TYPE_NOTIFY, Command data: any)
DUT->>Upper_Tester: on_msg_sent()
Note over Lower_Tester,Upper_Tester: Wait for 2s
Upper_Tester->>DUT: sid_put_msg(SID_MSG_TYPE_NOTIFY, Command data: any)
DUT->>Upper_Tester: on_msg_sent()
Note over Lower_Tester,Upper_Tester: end of iteration
10.7.4 Expected Results
10.7.4.1 Pass Verdict
After messages on a particular link exceed traffic threshold, stopping and starting the stack shall not allow new uplink messages to be sent. After messages on a particular link exceed traffic threshold, a reboot of device can allow new uplink messages to be sent.
10.8 CMN-EP-CAPABILITY-PERIODICITY-BV-01: Set metrics periodicity.
10.8.1 Test Purpose
Verify metrics are sent at a periodicity set in the endpoint metrics periodicity configuration.
10.8.2 Initial Conditions
- DUT is registered with Amazon Sidewalk network.
- Lower Tester operates in supported links mode.
- SidewalkNetworkFlag is enabled on the Lower Tester.
10.8.3 Test Procedure
sequenceDiagram
participant Lower_Tester as Lower Tester
participant DUT as DUT
participant Upper_Tester as Upper Tester
Note over Lower_Tester,Upper_Tester: iterate: Each Sidewalk operation mode
Note over Lower_Tester,Upper_Tester: Sidewalk application started
Note over Lower_Tester,Upper_Tester: DUT Status: Registered, Time Synced
Upper_Tester->>DUT: SET_CONFIGURATION "enableMetricsReport: True, metricsPeriodicity: 1"
Lower_Tester->>DUT: SEND_DOWNLINK_COMMAND
DUT->>Lower_Tester: SEND_CONFIGURATION_DOWNLOAD_ACK
Upper_Tester->>DUT: print_get_cap(CONFIGURATION)
DUT->>Upper_Tester: Print Capability "enableMetricsReport: True, metricsPeriodicity: 1"
Note over Lower_Tester,Upper_Tester: Wait for 6 hours
DUT->>Lower_Tester: NTFY_READ_METRICS_FWK
DUT->>Upper_Tester: on_metrics_sent()
Lower_Tester->>DUT: ACK_NTFY_READ_METRICS_FWK
DUT->>Upper_Tester: on_metrics_received()
Note over Lower_Tester,Upper_Tester: end of iteration
Upper_Tester->>DUT: sid_stop()
DUT->>Upper_Tester: #35;SID_ERROR_NONE
DUT->>Upper_Tester: on_status_changed() "Time Synced, Link Mask 0"
Upper_Tester->>DUT: sid_deinit()
DUT->>Upper_Tester: #35;SID_ERROR_NONE
DUT->>Upper_Tester: on_status_changed() "No Time, Link Mask 0"
10.8.4 Expected Results
10.8.4.1 Pass Verdict
configuration is updated after setting. DUT successfully transmits metrics according to the configured periodicity. DUT receives Cloud acknowledgment for the transmitted metrics messages.
10.9 CMN-EP-CAPABILITY-PERIODICITY-BV-02: Set metrics periodicity when link metrics is disabled.
10.9.1 Test Purpose
Verify the metrics periodicity configuration shall be set successfully even when link is disabled.
10.9.2 Initial Conditions
- DUT is registered with Amazon Sidewalk network.
- Lower Tester operates in supported links mode.
- SidewalkNetworkFlag is enabled on the Lower Tester.
10.9.3 Test Procedure
sequenceDiagram
participant Lower_Tester as Lower Tester
participant DUT as DUT
participant Upper_Tester as Upper Tester
Note over Lower_Tester,Upper_Tester: iterate: Each Sidewalk operation mode
Note over Lower_Tester,Upper_Tester: Sidewalk application started
Note over Lower_Tester,Upper_Tester: DUT Status: Registered, Time Synced
Upper_Tester->>DUT: SET_CONFIGURATION "enableMetricsReport: False, metricsPeriodicity: 1"
Lower_Tester->>DUT: SEND_DOWNLINK_COMMAND
DUT->>Lower_Tester: SEND_CONFIGURATION_DOWNLOAD_ACK
Upper_Tester->>DUT: print_get_cap(CONFIGURATION)
DUT->>Upper_Tester: Print Capability "enableMetricsReport: False, metricsPeriodicity: 1"
Note over Lower_Tester,Upper_Tester: Wait for 6 hours
Note over Lower_Tester,Upper_Tester: No metrics sent
Note over Lower_Tester,Upper_Tester: end of loop
Note over Lower_Tester,Upper_Tester: end of iteration
Upper_Tester->>DUT: sid_stop()
DUT->>Upper_Tester: #35;SID_ERROR_NONE
DUT->>Upper_Tester: on_status_changed() "Time Synced, Link Mask 0"
Upper_Tester->>DUT: sid_deinit()
DUT->>Upper_Tester: #35;SID_ERROR_NONE
DUT->>Upper_Tester: on_status_changed() "No Time, Link Mask 0"
10.9.4 Expected Results
10.9.4.1 Pass Verdict
Configuration is updated after setting. Metrics are sent only at the periodicity configuration.
10.10 BLE-EP-CAPABILITY-THRESHOLD-BV-01: Verify traffic thresholds for BLE stack.
10.10.1 Test Purpose
After traffic on BLE link exceeds the BLE traffic thresholds, the user messages shall be dropped.
10.10.2 Initial Conditions
- The Sidewalk stack (BLE) is initialized and started on the DUT.
- DUT is registered with Amazon Sidewalk network.
- DUT is time-synced with Amazon Sidewalk network.
- Lower Tester operates in BLE mode.
10.10.3 Test Procedure
sequenceDiagram
participant Lower_Tester as Lower Tester
participant DUT as DUT
participant Upper_Tester as Upper Tester
Note over Lower_Tester,Upper_Tester: DUT Status: Registered, Time Synced, Link Mask 0, BLE disconnected
Upper_Tester->>DUT: SET_CONFIGURATION "table: 1, BLE_max_packets_per_min: 1, enableThrottling: True"
Lower_Tester->>DUT: SEND_DOWNLINK_COMMAND
DUT->>Lower_Tester: SEND_CONFIGURATION_DOWNLOAD_ACK
Upper_Tester->>DUT: print_get_cap(CONFIGURATION)
DUT->>Upper_Tester: Print Capability "Traffic_threshold_table_id: 1", "BLE_max_packets_per_min: 1", "BLE_max_packets_per_day: 1440"
Upper_Tester->>DUT: sid_ble_bcn_connection_request(set = true)
DUT->>Upper_Tester: #35;SID_ERROR_NONE
DUT->>Lower_Tester: Beacon with connection request
Lower_Tester->>DUT: Establish BLE connection
DUT->>Upper_Tester: on_status_changed() "Time Synced, Link Mask 1, BLE connected"
Upper_Tester->>DUT: sid_put_msg(SID_MSG_TYPE_NOTIFY, Command data: any)
DUT->>Upper_Tester: #35;SID_ERROR_NONE
DUT->>Lower_Tester: CUSTOM_NOTIFY_CMD (with any Command data)
DUT->>Upper_Tester: on_msg_sent()
Note over Lower_Tester,Upper_Tester: Wait for 25s
Upper_Tester->>DUT: sid_put_msg(SID_MSG_TYPE_NOTIFY, Command data: any)
DUT->>Upper_Tester: on_send_error(SID_ERROR_THRESHOLD_EXCEEDED)
Note over Lower_Tester,Upper_Tester: Wait for 25s
Upper_Tester->>DUT: sid_put_msg(SID_MSG_TYPE_NOTIFY, Command data: any)
DUT->>Upper_Tester: on_send_error(SID_ERROR_THRESHOLD_EXCEEDED)
Note over Lower_Tester,Upper_Tester: Wait for 15s
Upper_Tester->>DUT: sid_put_msg(SID_MSG_TYPE_NOTIFY, Command data: any)
DUT->>Upper_Tester: #35;SID_ERROR_NONE
DUT->>Lower_Tester: CUSTOM_NOTIFY_CMD (with any Command data)
DUT->>Upper_Tester: on_msg_sent()
Upper_Tester->>DUT: sid_stop()
DUT->>Upper_Tester: #35;SID_ERROR_NONE
DUT->>Lower_Tester: Drop BLE connection
DUT->>Upper_Tester: on_status_changed() "Time Synced, Link Mask 0, BLE Disconnected"
Upper_Tester->>DUT: sid_deinit()
DUT->>Upper_Tester: #35;SID_ERROR_NONE
DUT->>Upper_Tester: on_status_changed() "No Time, Link Mask 0, BLE Disconnected"
10.10.4 Expected Results
10.10.4.1 Pass Verdict
Traffic threshold configuration shall reflect the correct setting. User messages shall be allowed after the traffic threshold timeouts.
10.11 FSK-EP-CAPABILITY-THRESHOLD-BV-01: Verify traffic threshold for FSK stack.
10.11.1 Test Purpose
When messages on FSK exceed thresholds, messages shall be dropped.
10.11.2 Initial Conditions
- The Sidewalk stack (FSK) is initialized and started on the DUT.
- DUT is registered with Amazon Sidewalk network.
- DUT is time-synced with Amazon Sidewalk network.
- Lower Tester operates in FSK mode.
10.11.3 Test Procedure
sequenceDiagram
participant Lower_Tester as Lower Tester
participant DUT as DUT
participant Upper_Tester as Upper Tester
Note over Lower_Tester,Upper_Tester: DUT Status: Registered, Time Synced, Link Mask 2, FSK connected
Upper_Tester->>DUT: SET_CONFIGURATION "table: 1, enableThrottling: True, fsk_packet_Per_Min: 1"
Lower_Tester->>DUT: SEND_DOWNLINK_COMMAND
DUT->>Lower_Tester: SEND_CONFIGURATION_DOWNLOAD_ACK
Upper_Tester->>DUT: print_get_cap(CONFIGURATION)
DUT->>Upper_Tester: Print Capability "Traffic_threshold_table_id: 1", "FSK_max_packets_per_min: 1", "FSK_max_packets_per_day: 1440"
Upper_Tester->>DUT: sid_put_msg(SID_MSG_TYPE_NOTIFY, Command data: any)
DUT->>Upper_Tester: #35;SID_ERROR_NONE
DUT->>Lower_Tester: CUSTOM_NOTIFY_CMD (with any Command data)
DUT->>Upper_Tester: on_msg_sent()
Note over Lower_Tester,Upper_Tester: Wait for 25s
Upper_Tester->>DUT: sid_put_msg(SID_MSG_TYPE_NOTIFY, Command data: any)
DUT->>Upper_Tester: on_send_error(SID_ERROR_THRESHOLD_EXCEEDED)
Note over Lower_Tester,Upper_Tester: Wait for 25s
Upper_Tester->>DUT: sid_put_msg(SID_MSG_TYPE_NOTIFY, Command data: any)
DUT->>Upper_Tester: on_send_error(SID_ERROR_THRESHOLD_EXCEEDED)
Note over Lower_Tester,Upper_Tester: Wait for 15s
Upper_Tester->>DUT: sid_put_msg(SID_MSG_TYPE_NOTIFY, Command data: any)
DUT->>Upper_Tester: #35;SID_ERROR_NONE
DUT->>Lower_Tester: CUSTOM_NOTIFY_CMD (with any Command data)
DUT->>Upper_Tester: on_msg_sent()
Upper_Tester->>DUT: sid_stop()
DUT->>Upper_Tester: #35;SID_ERROR_NONE
DUT->>Lower_Tester: Drop FSK connection
DUT->>Upper_Tester: on_status_changed() "Time Synced, Link Mask 0, FSK Disconnected"
Upper_Tester->>DUT: sid_deinit()
DUT->>Upper_Tester: #35;SID_ERROR_NONE
DUT->>Upper_Tester: on_status_changed() "No Time, Link Mask 0, FSK Disconnected"
10.11.4 Expected Results
10.11.4.1 Pass Verdict
Traffic threshold configuration shall reflect the correct setting. After traffic on FSK link exceeds the FSK traffic thresholds, the user messages shall be dropped. User messages shall be allowed after the traffic threshold timeouts.
10.12 LORA-EP-CAPABILITY-THRESHOLD-BV-01: Verify traffic threshold on static endpoint of LoRa.
10.12.1 Test Purpose
When messages on LoRa exceed thresholds, messages shall be dropped.
10.12.2 Initial Conditions
- The Sidewalk stack (LoRa) is initialized and started on the DUT.
- DUT is registered with Amazon Sidewalk network.
- DUT is time-synced with Amazon Sidewalk network.
- Lower Tester operates in LoRa mode.
10.12.3 Test Procedure
sequenceDiagram
participant Lower_Tester as Lower Tester
participant DUT as DUT
participant Upper_Tester as Upper Tester
Note over Lower_Tester,Upper_Tester: DUT Status: Registered, Time Synced, Link Mask 4, LoRa connected
Upper_Tester->>DUT: SET_CONFIGURATION
Lower_Tester->>DUT: SEND_DOWNLINK_COMMAND
DUT->>Lower_Tester: SEND_CONFIGURATION_DOWNLOAD_ACK
Upper_Tester->>DUT: print_get_cap(CONFIGURATION)
DUT->>Upper_Tester: Print Capability
Upper_Tester->>DUT: sid_put_msg(SID_MSG_TYPE_NOTIFY, Command data: any)
DUT->>Upper_Tester: #35;SID_ERROR_NONE
DUT->>Lower_Tester: CUSTOM_NOTIFY_CMD (with any Command data)
DUT->>Upper_Tester: on_msg_sent()
Note over Lower_Tester,Upper_Tester: Wait for 25s
Upper_Tester->>DUT: sid_put_msg(SID_MSG_TYPE_NOTIFY, Command data: any)
DUT->>Upper_Tester: on_send_error(SID_ERROR_THRESHOLD_EXCEEDED)
Note over Lower_Tester,Upper_Tester: Wait for 25s
Upper_Tester->>DUT: sid_put_msg(SID_MSG_TYPE_NOTIFY, Command data: any)
DUT->>Upper_Tester: on_send_error(SID_ERROR_THRESHOLD_EXCEEDED)
Note over Lower_Tester,Upper_Tester: Wait for 15s
Upper_Tester->>DUT: sid_put_msg(SID_MSG_TYPE_NOTIFY, Command data: any)
DUT->>Upper_Tester: #35;SID_ERROR_NONE
DUT->>Lower_Tester: CUSTOM_NOTIFY_CMD (with any Command data)
DUT->>Upper_Tester: on_msg_sent()
Note over Lower_Tester,Upper_Tester: Wait for 61s
Upper_Tester->>DUT: sid_put_msg(SID_MSG_TYPE_NOTIFY, Command data: any)
DUT->>Upper_Tester: #35;SID_ERROR_NONE
DUT->>Lower_Tester: CUSTOM_NOTIFY_CMD (with any Command data)
DUT->>Upper_Tester: on_msg_sent()
Note over Lower_Tester,Upper_Tester: Wait for 65s
Upper_Tester->>DUT: sid_put_msg(SID_MSG_TYPE_NOTIFY, Command data: any)
DUT->>Upper_Tester: on_send_error(SID_ERROR_THRESHOLD_EXCEEDED)
Note over Lower_Tester,Upper_Tester: Wait for 10s
Upper_Tester->>DUT: sid_put_msg(SID_MSG_TYPE_NOTIFY, Command data: any)
DUT->>Upper_Tester: on_send_error(SID_ERROR_THRESHOLD_EXCEEDED)
Upper_Tester->>DUT: sid_stop()
DUT->>Upper_Tester: #35;SID_ERROR_NONE
DUT->>Lower_Tester: Drop LoRa connection
DUT->>Upper_Tester: on_status_changed() "Time Synced, Link Mask 0, LoRa Disconnected"
Upper_Tester->>DUT: sid_deinit()
DUT->>Upper_Tester: #35;SID_ERROR_NONE
DUT->>Upper_Tester: on_status_changed() "No Time, Link Mask 0, LoRa Disconnected"
10.12.4 Expected Results
10.12.4.1 Pass Verdict
Traffic threshold configuration shall reflect the correct setting. After traffic on LoRa link exceeds the LoRa traffic thresholds, the user messages shall be dropped. User messages shall be allowed after the traffic threshold timeouts.