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

8. File-Transfer Test Cases

8.1 BLE/EP/API/FILETRANSFER/BV/01: Initialize the feature and start receiving a file.

8.1.1 Test Purpose

DUT is able to initialize the feature and be ready for the coming request of data transfer. DUT is able to finish a transfer.

8.1.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 as a SID API user.

  • Upper Tester is ready on AWS IoT side.

8.1.3 Test Procedure

sequenceDiagram
    participant Lower_Tester_(Sid_API_User) as Lower Tester (SID API User)
    participant DUT as DUT
    participant Upper_Tester as Upper Tester
    Note over Lower_Tester_(Sid_API_User),Upper_Tester: DUT Status: Registered
    Lower_Tester_(Sid_API_User)->>DUT: sbdt init
    Upper_Tester->>DUT: TRANSFER_APPLICATION_REQUEST
    DUT->>Lower_Tester_(Sid_API_User): on_transfer_request()
    Lower_Tester_(Sid_API_User)->>DUT: scratch buffer, accept transfer request
    DUT->>Upper_Tester: TRANSFER_APPLICATION_REQUEST_RESPONSE
    Upper_Tester->>DUT: TRANSFER_REQUEST
    DUT->>Upper_Tester: TRANSFER_REQUEST_RESPONSE
    Upper_Tester->>DUT: TRANSFER_REQUEST_FINALIZE
    DUT->>Upper_Tester: TRANSFER_REQUEST_FINALIZE_RESPONSE
    Note over Lower_Tester_(Sid_API_User),Upper_Tester: loop: transferring all blocks
    Note over DUT,Upper_Tester: loop: data_chunks
    Upper_Tester->>DUT: TRANSFER_BLOCK_DATA
    Note over DUT,Upper_Tester: end of loop
    DUT->>Lower_Tester_(Sid_API_User): on_data_received()
    Lower_Tester_(Sid_API_User)->>DUT: sid_bulk_data_transfer_release_buffer()
    DUT->>Upper_Tester: TRANSFER_FILE_DATA_RESPONSE
    Note over Lower_Tester_(Sid_API_User),Upper_Tester: end of loop
    Upper_Tester->>DUT: TRANSFER_REQUEST_FINALIZE
    DUT->>Lower_Tester_(Sid_API_User): on_finalize_request()
    Lower_Tester_(Sid_API_User)->>DUT: sid_bulk_data_transfer_finalize()
    DUT->>Upper_Tester: TRANSFER_REQUEST_FINALIZE_RESPONSE
    Upper_Tester->>DUT: TRANSFER_FILE_EXIT
    DUT->>Lower_Tester_(Sid_API_User): on_release_scratch()

8.1.4 Expected Results

8.1.4.1 Pass Verdict

The DUT should successfully complete the data transfer with the Upper Tester and send a task complete notify to AWS IoT side.

8.2 BLE/EP/API/FILETRANSFER/BV/02: Cancel ongoing transfer.

8.2.1 Test Purpose

DUT is able to cancel the ongoing data transfer with a given file_id.

8.2.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 as a SID API user.

  • Upper Tester is ready on AWS IoT side.

8.2.3 Test Procedure

sequenceDiagram
    participant Lower_Tester_(Sid_API_User) as Lower Tester (SID API User)
    participant DUT as DUT
    participant Upper_Tester as Upper Tester
    Note over Lower_Tester_(Sid_API_User),Upper_Tester: DUT Status: Registered
    Lower_Tester_(Sid_API_User)->>DUT: sbdt init
    Upper_Tester->>DUT: TRANSFER_APPLICATION_REQUEST
    DUT->>Lower_Tester_(Sid_API_User): on_transfer_request()
    Lower_Tester_(Sid_API_User)->>DUT: scratch buffer, accept transfer request
    DUT->>Upper_Tester: TRANSFER_APPLICATION_REQUEST_RESPONSE
    Upper_Tester->>DUT: TRANSFER_REQUEST
    DUT->>Upper_Tester: TRANSFER_REQUEST_RESPONSE
    Upper_Tester->>DUT: TRANSFER_REQUEST_FINALIZE
    DUT->>Upper_Tester: TRANSFER_REQUEST_FINALIZE_RESPONSE
    Note over Lower_Tester_(Sid_API_User),Upper_Tester: loop: transferring data_chunks
    Upper_Tester->>DUT: TRANSFER_BLOCK_DATA
    Note over Lower_Tester_(Sid_API_User),Upper_Tester: CANCEL Path 1: Cancel while transferring
    Lower_Tester_(Sid_API_User)->>DUT: sbdt cancel file_id reason_id
    DUT->>Upper_Tester: TRANSFER_CANCEL_NOTIFY
    DUT->>Lower_Tester_(Sid_API_User): on_cancel_request()
    DUT->>Lower_Tester_(Sid_API_User): on_release_scratch()
    Note over DUT,Upper_Tester: end of CANCEL Path 1
    Note over Lower_Tester_(Sid_API_User),Upper_Tester: end of loop
    Note over Lower_Tester_(Sid_API_User),Upper_Tester: CANCEL Path 2: Cancel after just finished transfer
    DUT->>Lower_Tester_(Sid_API_User): on_data_received()
    Lower_Tester_(Sid_API_User)->>DUT: sid_bulk_data_transfer_release_buffer()
    DUT->>Upper_Tester: TRANSFER_FILE_DATA_RESPONSE
    Lower_Tester_(Sid_API_User)->>DUT: sbdt cancel file_id reason_id
    DUT->>Upper_Tester: TRANSFER_CANCEL_NOTIFY
    DUT->>Lower_Tester_(Sid_API_User): on_cancel_request()
    DUT->>Lower_Tester_(Sid_API_User): on_release_scratch()
    Note over DUT,Upper_Tester: end of CANCEL Path 2

8.2.4 Expected Results

8.2.4.1 Pass Verdict

The DUT should successfully cancel the ongoing transfer with a specific given reason. The DUT should report the reason to the Upper Tester.

8.3 BLE/EP/API/FILETRANSFER/BV/03: Print the progress of the transfer and current file offset.

8.3.1 Test Purpose

DUT is able to output the progress of the transfer as a percent and the current file offset.

8.3.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 as a SID API user.

  • Upper Tester is ready on AWS IoT side.

8.3.3 Test Procedure

sequenceDiagram
    participant Lower_Tester_(Sid_API_User) as Lower Tester (SID API User)
    participant DUT as DUT
    participant Upper_Tester as Upper Tester
    Note over Lower_Tester_(Sid_API_User),Upper_Tester: DUT Status: Registered
    Lower_Tester_(Sid_API_User)->>DUT: sbdt init
    Upper_Tester->>DUT: TRANSFER_APPLICATION_REQUEST
    DUT->>Lower_Tester_(Sid_API_User): on_transfer_request()
    Lower_Tester_(Sid_API_User)->>DUT: scratch buffer, accept transfer request
    DUT->>Upper_Tester: TRANSFER_APPLICATION_REQUEST_RESPONSE
    Upper_Tester->>DUT: TRANSFER_REQUEST
    DUT->>Upper_Tester: TRANSFER_REQUEST_RESPONSE
    Upper_Tester->>DUT: TRANSFER_REQUEST_FINALIZE
    DUT->>Upper_Tester: TRANSFER_REQUEST_FINALIZE_RESPONSE
    Note over Lower_Tester_(Sid_API_User),Upper_Tester: loop: before_interrupt_blocks
    Note over DUT,Upper_Tester: loop: data_chunks
    Upper_Tester->>DUT: TRANSFER_BLOCK_DATA
    Note over DUT,Upper_Tester: end of loop
    DUT->>Lower_Tester_(Sid_API_User): on_data_received()
    Lower_Tester_(Sid_API_User)->>DUT: sid_bulk_data_transfer_release_buffer()
    DUT->>Upper_Tester: TRANSFER_FILE_DATA_RESPONSE
    Note over Lower_Tester_(Sid_API_User),Upper_Tester: end of loop
    Lower_Tester_(Sid_API_User)->>DUT: sbdt stats file_id
    DUT->>Lower_Tester_(Sid_API_User): Print progress of transfer as percentage and current file offset
    Note over Lower_Tester_(Sid_API_User),Upper_Tester: loop: after_interrupt_blocks
    Note over DUT,Upper_Tester: loop: data_chunks
    Upper_Tester->>DUT: TRANSFER_BLOCK_DATA
    Note over DUT,Upper_Tester: end of loop
    DUT->>Lower_Tester_(Sid_API_User): on_data_received()
    Lower_Tester_(Sid_API_User)->>DUT: sid_bulk_data_transfer_release_buffer()
    DUT->>Upper_Tester: TRANSFER_FILE_DATA_RESPONSE
    Note over Lower_Tester_(Sid_API_User),Upper_Tester: end of loop
    Upper_Tester->>DUT: TRANSFER_REQUEST_FINALIZE
    DUT->>Lower_Tester_(Sid_API_User): on_finalize_request()
    Lower_Tester_(Sid_API_User)->>DUT: sid_bulk_data_transfer_finalize()
    DUT->>Upper_Tester: TRANSFER_REQUEST_FINALIZE_RESPONSE
    Upper_Tester->>DUT: TRANSFER_FILE_EXIT
    DUT->>Lower_Tester_(Sid_API_User): on_release_scratch()

8.3.4 Expected Results

8.3.4.1 Pass Verdict

The DUT should successfully print out the progress of the transfer and current file offset.

8.4 BLE/EP/API/FILETRANSFER/BV/04: Print various parameters of the transfer.

8.4.1 Test Purpose

DUT is able to output the various parameters of the transfer.

8.4.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 as a SID API user.

  • Upper Tester is ready on AWS IoT side.

8.4.3 Test Procedure

sequenceDiagram
    participant Lower_Tester_(Sid_API_User) as Lower Tester (SID API User)
    participant DUT as DUT
    participant Upper_Tester as Upper Tester
    Note over Lower_Tester_(Sid_API_User),Upper_Tester: DUT Status: Registered
    Lower_Tester_(Sid_API_User)->>DUT: sbdt init
    Upper_Tester->>DUT: TRANSFER_APPLICATION_REQUEST
    DUT->>Lower_Tester_(Sid_API_User): on_transfer_request()
    Lower_Tester_(Sid_API_User)->>DUT: scratch buffer, accept transfer request
    DUT->>Upper_Tester: TRANSFER_APPLICATION_REQUEST_RESPONSE
    Upper_Tester->>DUT: TRANSFER_REQUEST
    DUT->>Upper_Tester: TRANSFER_REQUEST_RESPONSE
    Upper_Tester->>DUT: TRANSFER_REQUEST_FINALIZE
    DUT->>Upper_Tester: TRANSFER_REQUEST_FINALIZE_RESPONSE
    Note over Lower_Tester_(Sid_API_User),Upper_Tester: loop: before_interrupt_blocks
    Note over DUT,Upper_Tester: loop: data_chunks
    Upper_Tester->>DUT: TRANSFER_BLOCK_DATA
    Note over DUT,Upper_Tester: end of loop
    DUT->>Lower_Tester_(Sid_API_User): on_data_received()
    Lower_Tester_(Sid_API_User)->>DUT: sid_bulk_data_transfer_release_buffer()
    DUT->>Upper_Tester: TRANSFER_FILE_DATA_RESPONSE
    Note over Lower_Tester_(Sid_API_User),Upper_Tester: end of loop
    Lower_Tester_(Sid_API_User)->>DUT: sbdt params file_id
    DUT->>Lower_Tester_(Sid_API_User): Print parameters of the ongoing transfer
    Note over Lower_Tester_(Sid_API_User),Upper_Tester: loop: after_interrupt_blocks
    Note over DUT,Upper_Tester: loop: data_chunks
    Upper_Tester->>DUT: TRANSFER_BLOCK_DATA
    Note over DUT,Upper_Tester: end of loop
    DUT->>Lower_Tester_(Sid_API_User): on_data_received()
    Lower_Tester_(Sid_API_User)->>DUT: sid_bulk_data_transfer_release_buffer()
    DUT->>Upper_Tester: TRANSFER_FILE_DATA_RESPONSE
    Note over Lower_Tester_(Sid_API_User),Upper_Tester: end of loop
    Upper_Tester->>DUT: TRANSFER_REQUEST_FINALIZE
    DUT->>Lower_Tester_(Sid_API_User): on_finalize_request()
    Lower_Tester_(Sid_API_User)->>DUT: sid_bulk_data_transfer_finalize()
    DUT->>Upper_Tester: TRANSFER_REQUEST_FINALIZE_RESPONSE
    Upper_Tester->>DUT: TRANSFER_FILE_EXIT
    DUT->>Lower_Tester_(Sid_API_User): on_release_scratch()

8.4.4 Expected Results

8.4.4.1 Pass Verdict

The DUT should successfully print out various parameters relevant to file transfer.

8.5 BLE/EP/API/FILETRANSFER/RECOVERY/BI/01: Recover transfer after EP powered off and back on.

8.5.1 Test Purpose

DUT is able to recover the transfer after EP power off for a valid time slot and back on.

8.5.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 as a SID API user.

  • Upper Tester is ready on AWS IoT side.

8.5.3 Test Procedure

sequenceDiagram
    participant Lower_Tester_(Sid_API_User) as Lower Tester (SID API User)
    participant DUT as DUT
    participant Upper_Tester as Upper Tester
    Note over Lower_Tester_(Sid_API_User),Upper_Tester: DUT Status: Registered
    Lower_Tester_(Sid_API_User)->>DUT: sbdt init
    Upper_Tester->>DUT: TRANSFER_APPLICATION_REQUEST
    DUT->>Lower_Tester_(Sid_API_User): on_transfer_request()
    Lower_Tester_(Sid_API_User)->>DUT: scratch buffer, accept transfer request
    DUT->>Upper_Tester: TRANSFER_APPLICATION_REQUEST_RESPONSE
    Upper_Tester->>DUT: TRANSFER_REQUEST
    DUT->>Upper_Tester: TRANSFER_REQUEST_RESPONSE
    Upper_Tester->>DUT: TRANSFER_REQUEST_FINALIZE
    DUT->>Upper_Tester: TRANSFER_REQUEST_FINALIZE_RESPONSE
    Note over Lower_Tester_(Sid_API_User),Upper_Tester: loop: before_interrupt_blocks
    Note over DUT,Upper_Tester: loop: data_chunks
    Upper_Tester->>DUT: TRANSFER_BLOCK_DATA
    Note over DUT,Upper_Tester: end of loop
    DUT->>Lower_Tester_(Sid_API_User): on_data_received()
    Lower_Tester_(Sid_API_User)->>DUT: sid_bulk_data_transfer_release_buffer()
    DUT->>Upper_Tester: TRANSFER_FILE_DATA_RESPONSE
    Note over Lower_Tester_(Sid_API_User),Upper_Tester: end of loop
    DUT->>DUT: EP Powered off for a valid time slot
    DUT->>DUT: EP back on
    Lower_Tester_(Sid_API_User)->>DUT: sid_init and sid_start
    Lower_Tester_(Sid_API_User)->>DUT: sbdt init
    Note over Lower_Tester_(Sid_API_User),Upper_Tester: loop: after_interrupt_blocks
    Note over DUT,Upper_Tester: loop: data_chunks
    Upper_Tester->>DUT: TRANSFER_BLOCK_DATA
    Note over DUT,Upper_Tester: end of loop
    DUT->>Lower_Tester_(Sid_API_User): on_data_received()
    Lower_Tester_(Sid_API_User)->>DUT: sid_bulk_data_transfer_release_buffer()
    DUT->>Upper_Tester: TRANSFER_FILE_DATA_RESPONSE
    Note over Lower_Tester_(Sid_API_User),Upper_Tester: end of loop
    Upper_Tester->>DUT: TRANSFER_REQUEST_FINALIZE
    DUT->>Lower_Tester_(Sid_API_User): on_finalize_request()
    Lower_Tester_(Sid_API_User)->>DUT: sid_bulk_data_transfer_finalize()
    DUT->>Upper_Tester: TRANSFER_REQUEST_FINALIZE_RESPONSE
    Upper_Tester->>DUT: TRANSFER_FILE_EXIT
    DUT->>Lower_Tester_(Sid_API_User): on_release_scratch()

8.5.4 Expected Results

8.5.4.1 Pass Verdict

The DUT should successfully recover the transfer after EP power off for a valid time slot and back on.

8.6 BLE/EP/API/FILETRANSFER/RECOVERY/BI/02: Recover transfer after EP was out of range from GW.

8.6.1 Test Purpose

DUT is able to recover the transfer after out of range from GW for a valid time slot and back on.

8.6.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 as a SID API user.

  • Upper Tester is ready on AWS IoT side.

8.6.3 Test Procedure

sequenceDiagram
    participant Lower_Tester_(Sid_API_User) as Lower Tester (SID API User)
    participant DUT as DUT
    participant Upper_Tester as Upper Tester
    Note over Lower_Tester_(Sid_API_User),Upper_Tester: DUT Status: Registered
    Lower_Tester_(Sid_API_User)->>DUT: sbdt init
    Upper_Tester->>DUT: TRANSFER_APPLICATION_REQUEST
    DUT->>Lower_Tester_(Sid_API_User): on_transfer_request()
    Lower_Tester_(Sid_API_User)->>DUT: scratch buffer, accept transfer request
    DUT->>Upper_Tester: TRANSFER_APPLICATION_REQUEST_RESPONSE
    Upper_Tester->>DUT: TRANSFER_REQUEST
    DUT->>Upper_Tester: TRANSFER_REQUEST_RESPONSE
    Upper_Tester->>DUT: TRANSFER_REQUEST_FINALIZE
    DUT->>Upper_Tester: TRANSFER_REQUEST_FINALIZE_RESPONSE
    Note over Lower_Tester_(Sid_API_User),Upper_Tester: loop: before_interrupt_blocks
    Note over DUT,Upper_Tester: loop: data_chunks
    Upper_Tester->>DUT: TRANSFER_BLOCK_DATA
    Note over DUT,Upper_Tester: end of loop
    DUT->>Lower_Tester_(Sid_API_User): on_data_received()
    Lower_Tester_(Sid_API_User)->>DUT: sid_bulk_data_transfer_release_buffer()
    DUT->>Upper_Tester: TRANSFER_FILE_DATA_RESPONSE
    Note over Lower_Tester_(Sid_API_User),Upper_Tester: end of loop
    DUT->>DUT: EP out of range from GW for a valid time slot
    DUT->>DUT: EP back on
    Note over Lower_Tester_(Sid_API_User),Upper_Tester: loop: after_interrupt_blocks
    Note over DUT,Upper_Tester: loop: data_chunks
    Upper_Tester->>DUT: TRANSFER_BLOCK_DATA
    Note over DUT,Upper_Tester: end of loop
    DUT->>Lower_Tester_(Sid_API_User): on_data_received()
    Lower_Tester_(Sid_API_User)->>DUT: sid_bulk_data_transfer_release_buffer()
    DUT->>Upper_Tester: TRANSFER_FILE_DATA_RESPONSE
    Note over Lower_Tester_(Sid_API_User),Upper_Tester: end of loop
    Upper_Tester->>DUT: TRANSFER_REQUEST_FINALIZE
    DUT->>Lower_Tester_(Sid_API_User): on_finalize_request()
    Lower_Tester_(Sid_API_User)->>DUT: sid_bulk_data_transfer_finalize()
    DUT->>Upper_Tester: TRANSFER_REQUEST_FINALIZE_RESPONSE
    Upper_Tester->>DUT: TRANSFER_FILE_EXIT
    DUT->>Lower_Tester_(Sid_API_User): on_release_scratch()

8.6.4 Expected Results

8.6.4.1 Pass Verdict

The DUT should successfully recover the transfer after out of range from GW for a valid time slot and back on.

8.7 BLE/EP/API/FILETRANSFER/RECOVERY/BI/03: Recover transfer after GW that was using to send packets switched to another GW.

8.7.1 Test Purpose

DUT is able to recover the transfer after GW that is using to send packets switched to another GW.

8.7.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 as a SID API user.

  • Upper Tester is ready on AWS IoT side.

8.7.3 Test Procedure

sequenceDiagram
    participant Lower_Tester_(Sid_API_User) as Lower Tester (SID API User)
    participant DUT as DUT
    participant Upper_Tester as Upper Tester
    Note over Lower_Tester_(Sid_API_User),Upper_Tester: DUT Status: Registered
    Lower_Tester_(Sid_API_User)->>DUT: sbdt init
    Upper_Tester->>DUT: TRANSFER_APPLICATION_REQUEST
    DUT->>Lower_Tester_(Sid_API_User): on_transfer_request()
    Lower_Tester_(Sid_API_User)->>DUT: scratch buffer, accept transfer request
    DUT->>Upper_Tester: TRANSFER_APPLICATION_REQUEST_RESPONSE
    Upper_Tester->>DUT: TRANSFER_REQUEST
    DUT->>Upper_Tester: TRANSFER_REQUEST_RESPONSE
    Upper_Tester->>DUT: TRANSFER_REQUEST_FINALIZE
    DUT->>Upper_Tester: TRANSFER_REQUEST_FINALIZE_RESPONSE
    Note over Lower_Tester_(Sid_API_User),Upper_Tester: loop: before_interrupt_blocks
    Note over DUT,Upper_Tester: loop: data_chunks
    Upper_Tester->>DUT: TRANSFER_BLOCK_DATA
    Note over DUT,Upper_Tester: end of loop
    DUT->>Lower_Tester_(Sid_API_User): on_data_received()
    Lower_Tester_(Sid_API_User)->>DUT: sid_bulk_data_transfer_release_buffer()
    DUT->>Upper_Tester: TRANSFER_FILE_DATA_RESPONSE
    Note over Lower_Tester_(Sid_API_User),Upper_Tester: end of loop
    DUT->>DUT: EP switch the GW that is transmitting packets to another GW
    Note over Lower_Tester_(Sid_API_User),Upper_Tester: loop: after_interrupt_blocks
    Note over DUT,Upper_Tester: loop: data_chunks
    Upper_Tester->>DUT: TRANSFER_BLOCK_DATA
    Note over DUT,Upper_Tester: end of loop
    DUT->>Lower_Tester_(Sid_API_User): on_data_received()
    Lower_Tester_(Sid_API_User)->>DUT: sid_bulk_data_transfer_release_buffer()
    DUT->>Upper_Tester: TRANSFER_FILE_DATA_RESPONSE
    Note over Lower_Tester_(Sid_API_User),Upper_Tester: end of loop
    Upper_Tester->>DUT: TRANSFER_REQUEST_FINALIZE
    DUT->>Lower_Tester_(Sid_API_User): on_finalize_request()
    Lower_Tester_(Sid_API_User)->>DUT: sid_bulk_data_transfer_finalize()
    DUT->>Upper_Tester: TRANSFER_REQUEST_FINALIZE_RESPONSE
    Upper_Tester->>DUT: TRANSFER_FILE_EXIT
    DUT->>Lower_Tester_(Sid_API_User): on_release_scratch()

8.7.4 Expected Results

8.7.4.1 Pass Verdict

The DUT should successfully recover the transfer after GW that is using to send packets switched to another GW.

8.8 BLE/EP/API/FILETRANSFER/RECOVERY/BI/04: Recover transfer after GW that was using to send packets being opt-out.

8.8.1 Test Purpose

DUT is able to recover the transfer after GW that was using to send packets being opt-out.

8.8.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 as a SID API user.

  • Upper Tester is ready on AWS IoT side.

8.8.3 Test Procedure

sequenceDiagram
    participant Lower_Tester_(Sid_API_User) as Lower Tester (SID API User)
    participant DUT as DUT
    participant Upper_Tester as Upper Tester
    Note over Lower_Tester_(Sid_API_User),Upper_Tester: DUT Status: Registered
    Lower_Tester_(Sid_API_User)->>DUT: sbdt init
    Upper_Tester->>DUT: TRANSFER_APPLICATION_REQUEST
    DUT->>Lower_Tester_(Sid_API_User): on_transfer_request()
    Lower_Tester_(Sid_API_User)->>DUT: scratch buffer, accept transfer request
    DUT->>Upper_Tester: TRANSFER_APPLICATION_REQUEST_RESPONSE
    Upper_Tester->>DUT: TRANSFER_REQUEST
    DUT->>Upper_Tester: TRANSFER_REQUEST_RESPONSE
    Upper_Tester->>DUT: TRANSFER_REQUEST_FINALIZE
    DUT->>Upper_Tester: TRANSFER_REQUEST_FINALIZE_RESPONSE
    Note over Lower_Tester_(Sid_API_User),Upper_Tester: loop: before_interrupt_blocks
    Note over DUT,Upper_Tester: loop: data_chunks
    Upper_Tester->>DUT: TRANSFER_BLOCK_DATA
    Note over DUT,Upper_Tester: end of loop
    DUT->>Lower_Tester_(Sid_API_User): on_data_received()
    Lower_Tester_(Sid_API_User)->>DUT: sid_bulk_data_transfer_release_buffer()
    DUT->>Upper_Tester: TRANSFER_FILE_DATA_RESPONSE
    Note over Lower_Tester_(Sid_API_User),Upper_Tester: end of loop
    DUT->>DUT: GW that using to transmit packets is being opt-out
    Note over Lower_Tester_(Sid_API_User),Upper_Tester: loop: after_interrupt_blocks
    Note over DUT,Upper_Tester: loop: data_chunks
    Upper_Tester->>DUT: TRANSFER_BLOCK_DATA
    Note over DUT,Upper_Tester: end of loop
    DUT->>Lower_Tester_(Sid_API_User): on_data_received()
    Lower_Tester_(Sid_API_User)->>DUT: sid_bulk_data_transfer_release_buffer()
    DUT->>Upper_Tester: TRANSFER_FILE_DATA_RESPONSE
    Note over Lower_Tester_(Sid_API_User),Upper_Tester: end of loop
    Upper_Tester->>DUT: TRANSFER_REQUEST_FINALIZE
    DUT->>Lower_Tester_(Sid_API_User): on_finalize_request()
    Lower_Tester_(Sid_API_User)->>DUT: sid_bulk_data_transfer_finalize()
    DUT->>Upper_Tester: TRANSFER_REQUEST_FINALIZE_RESPONSE
    Upper_Tester->>DUT: TRANSFER_FILE_EXIT
    DUT->>Lower_Tester_(Sid_API_User): on_release_scratch()

8.8.4 Expected Results

8.8.4.1 Pass Verdict

The DUT should successfully recover the transfer after GW that was using to send packets being opt-out.

8.9 BLE/EP/API/FILETRANSFER/RECOVERY/BI/05: Recover transfer after GW that was using to send packets powered off for a while and back on.

8.9.1 Test Purpose

DUT is able to recover the transfer after GW powered off for a valid time slot and back on.

8.9.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 as a SID API user.

  • Upper Tester is ready on AWS IoT side.

8.9.3 Test Procedure

sequenceDiagram
    participant Lower_Tester_(Sid_API_User) as Lower Tester (SID API User)
    participant DUT as DUT
    participant Upper_Tester as Upper Tester
    Note over Lower_Tester_(Sid_API_User),Upper_Tester: DUT Status: Registered
    Lower_Tester_(Sid_API_User)->>DUT: sbdt init
    Upper_Tester->>DUT: TRANSFER_APPLICATION_REQUEST
    DUT->>Lower_Tester_(Sid_API_User): on_transfer_request()
    Lower_Tester_(Sid_API_User)->>DUT: scratch buffer, accept transfer request
    DUT->>Upper_Tester: TRANSFER_APPLICATION_REQUEST_RESPONSE
    Upper_Tester->>DUT: TRANSFER_REQUEST
    DUT->>Upper_Tester: TRANSFER_REQUEST_RESPONSE
    Upper_Tester->>DUT: TRANSFER_REQUEST_FINALIZE
    DUT->>Upper_Tester: TRANSFER_REQUEST_FINALIZE_RESPONSE
    Note over Lower_Tester_(Sid_API_User),Upper_Tester: loop: before_interrupt_blocks
    Note over DUT,Upper_Tester: loop: data_chunks
    Upper_Tester->>DUT: TRANSFER_BLOCK_DATA
    Note over DUT,Upper_Tester: end of loop
    DUT->>Lower_Tester_(Sid_API_User): on_data_received()
    Lower_Tester_(Sid_API_User)->>DUT: sid_bulk_data_transfer_release_buffer()
    DUT->>Upper_Tester: TRANSFER_FILE_DATA_RESPONSE
    Note over Lower_Tester_(Sid_API_User),Upper_Tester: end of loop
    DUT->>DUT: GW that using to transmit packets powered off for a valid time slot
    DUT->>DUT: GW back on
    Note over Lower_Tester_(Sid_API_User),Upper_Tester: loop: after_interrupt_blocks
    Note over DUT,Upper_Tester: loop: data_chunks
    Upper_Tester->>DUT: TRANSFER_BLOCK_DATA
    Note over DUT,Upper_Tester: end of loop
    DUT->>Lower_Tester_(Sid_API_User): on_data_received()
    Lower_Tester_(Sid_API_User)->>DUT: sid_bulk_data_transfer_release_buffer()
    DUT->>Upper_Tester: TRANSFER_FILE_DATA_RESPONSE
    Note over Lower_Tester_(Sid_API_User),Upper_Tester: end of loop
    Upper_Tester->>DUT: TRANSFER_REQUEST_FINALIZE
    DUT->>Lower_Tester_(Sid_API_User): on_finalize_request()
    Lower_Tester_(Sid_API_User)->>DUT: sid_bulk_data_transfer_finalize()
    DUT->>Upper_Tester: TRANSFER_REQUEST_FINALIZE_RESPONSE
    Upper_Tester->>DUT: TRANSFER_FILE_EXIT
    DUT->>Lower_Tester_(Sid_API_User): on_release_scratch()

8.9.4 Expected Results

8.9.4.1 Pass Verdict

The DUT should successfully recover transfer after GW that was using to send packets powered off for a valid time slot and back on.


Back to top

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