Skip to main content Link Menu Expand (external link) Document Search Copy Copied

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.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.


Back to top

©2023 Amazon.com, Inc. or its affiliates (collectively, “Amazon”). All Rights Reserved.