11. MAC Address Test Cases
11.1 BLE/EP/BCN/MAC/BV/01: Verify MAC address rotation after registration.
11.1.1 Test Purpose
DUT BLE MAC address should rotate after registration.
11.1.2 Initial Conditions
-
DUT is not registered on Amazon Sidewalk Network.
-
Lower Tester is a Sidewalk gateway and a BLE sniffer.
-
Upper Tester operates as a SID API user.
11.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: The Sidewalk stack is uninitialized
Upper_Tester->>DUT: sid init(SID_LINK_TYPE_1)
DUT->>Upper_Tester: #35;SID_ERROR_NONE
Upper_Tester->>DUT: sid start
DUT->>Upper_Tester: #35;SID_ERROR_NONE
DUT->>Upper_Tester: on_status_changed() "Status: Un-Registered, No Time, Link Mask 0, BLE Disconnected"
DUT->>Lower_Tester: Beacon
DUT->>Lower_Tester: Beacon
DUT->>Lower_Tester: Beacon
Note over Lower_Tester,Upper_Tester: Record beacon MAC address as MAC1
DUT->>Lower_Tester: Start registration via FFN
DUT->>Lower_Tester: Registration success
DUT->>Upper_Tester: on_status_changed() "Status: Registered, No Time, Link Mask 0, BLE Disconnected"
DUT->>Lower_Tester: Beacon
DUT->>Lower_Tester: Beacon
DUT->>Lower_Tester: Beacon
Note over Lower_Tester,Upper_Tester: Record beacon MAC address as MAC2
11.1.4 Expected Results
11.1.4.1 Pass Verdict
MAC1 is different with MAC2.
11.2 BLE/EP/BCN/MAC/BV/02: Verify MAC address rotation after time sync.
11.2.1 Test Purpose
DUT BLE MAC address should rotate after time sync.
11.2.2 Initial Conditions
-
DUT is registered with Amazon Sidewalk network.
-
Lower Tester is a Sidewalk gateway and a BLE sniffer.
-
Upper Tester operates as a SID API user.
11.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: The Sidewalk stack is uninitialized
Upper_Tester->>DUT: sid init(SID_LINK_TYPE_1)
DUT->>Upper_Tester: #35;SID_ERROR_NONE
Upper_Tester->>DUT: sid start
DUT->>Upper_Tester: #35;SID_ERROR_NONE
DUT->>Upper_Tester: on_status_changed() "Status: Registered, No Time, Link Mask 0, BLE Disconnected"
DUT->>Lower_Tester: Beacon
DUT->>Lower_Tester: Beacon
DUT->>Lower_Tester: Beacon
Note over Lower_Tester,Upper_Tester: Record beacon MAC address as MAC1
DUT->>Lower_Tester: Time sync request
Lower_Tester->>DUT: Time sync response
DUT->>Upper_Tester: on_status_changed() "Status: Registered, Time Synced, Link Mask 0, BLE Disconnected"
DUT->>Lower_Tester: Beacon
DUT->>Lower_Tester: Beacon
DUT->>Lower_Tester: Beacon
Note over Lower_Tester,Upper_Tester: Record beacon MAC address as MAC2
11.2.4 Expected Results
11.2.4.1 Pass Verdict
MAC1 is different with MAC2.
11.3 BLE/EP/BCN/MAC/BV/03: Verify MAC address rotates every 15 minutes.
11.3.1 Test Purpose
DUT BLE MAC address should rotate after time sync every 15 minutes along with TX-UUID.
11.3.2 Initial Conditions
-
DUT is registered with Amazon Sidewalk network.
-
Lower Tester is a Sidewalk gateway and a BLE sniffer.
-
Upper Tester operates as a SID API user.
11.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: The Sidewalk stack is uninitialized
Upper_Tester->>DUT: sid init(SID_LINK_TYPE_1)
DUT->>Upper_Tester: #35;SID_ERROR_NONE
Upper_Tester->>DUT: sid start
DUT->>Upper_Tester: #35;SID_ERROR_NONE
DUT->>Upper_Tester: on_status_changed() "Status: Registered, No Time, Link Mask 0, BLE Disconnected"
DUT->>Upper_Tester: on_status_changed() "Status: Registered, Time Synced, Link Mask 0, BLE Disconnected"
DUT->>Lower_Tester: Beacon
DUT->>Lower_Tester: Beacon
DUT->>Lower_Tester: Beacon
Note over Lower_Tester,Upper_Tester: Record beacon MAC address as MAC1
Note over Lower_Tester,Upper_Tester: MAC Address will transform within 15 minutes, record it as MAC2
DUT->>Lower_Tester: Beacon
DUT->>Lower_Tester: Beacon
DUT->>Lower_Tester: Beacon
Note over Lower_Tester,Upper_Tester: For the next 1 hour and 45 minutes, the MAC address will change every 15 minutes, record them
11.3.4 Expected Results
11.3.4.1 Pass Verdict
MAC address and TX-UUID change every 15 minutes.
11.4 BLE/EP/BCN/MAC/BV/04: Verify MAC address rotation after connection request sent to cloud.
11.4.1 Test Purpose
DUT BLE MAC address should rotate after connection request sent from EN to cloud.
11.4.2 Initial Conditions
-
DUT is registered with Amazon Sidewalk network.
-
The Sidewalk stack (BLE) is initialized and started on the DUT.
-
DUT is time-synced with Amazon Sidewalk network.
-
Lower Tester is a Sidewalk gateway and a BLE sniffer.
-
Upper Tester operates as a SID API user.
11.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: DUT Status: Registered, Time Synced, Link Mask 0, BLE disconnected
DUT->>Lower_Tester: Beacon
DUT->>Lower_Tester: Beacon
DUT->>Lower_Tester: Beacon
Note over Lower_Tester,Upper_Tester: Record beacon MAC address as MAC1
Upper_Tester->>DUT: sid conn_req 1
DUT->>Upper_Tester: #35;SID_ERROR_NONE
DUT->>Lower_Tester: Beacon
DUT->>Lower_Tester: Beacon
DUT->>Lower_Tester: Beacon
Note over Lower_Tester,Upper_Tester: Record beacon MAC address as MAC2
11.4.4 Expected Results
11.4.4.1 Pass Verdict
MAC1 is different with MAC2.
11.5 BLE/EP/BCN/MAC/BV/05: Verify MAC address rotation on disconnection from Sidewalk cloud.
11.5.1 Test Purpose
DUT BLE MAC address rotated after disconnection.
11.5.2 Initial Conditions
-
DUT is registered with Amazon Sidewalk network.
-
The Sidewalk stack (BLE) is initialized and started on the DUT.
-
DUT is time-synced with Amazon Sidewalk network.
-
Lower Tester is a Sidewalk gateway and a BLE sniffer.
-
Upper Tester operates as a SID API user.
11.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: DUT Status: Registered, Time Synced, Link Mask 0, BLE disconnected
Upper_Tester->>DUT: sid conn_req 1
DUT->>Upper_Tester: #35;SID_ERROR_NONE
DUT->>Lower_Tester: Beacon
DUT->>Lower_Tester: Beacon
DUT->>Lower_Tester: Beacon
Note over Lower_Tester,Upper_Tester: Record beacon MAC address as MAC1
DUT->>Upper_Tester: on_status_changed() "Status: Registered, Time Synced, Link Mask 1, BLE Connected"
Note over Lower_Tester,Upper_Tester: Idle for 30 seconds
DUT->>Upper_Tester: on_status_changed() "Status: Registered, Time Synced, Link Mask 0, BLE Disconnected"
DUT->>Lower_Tester: Beacon
DUT->>Lower_Tester: Beacon
DUT->>Lower_Tester: Beacon
Note over Lower_Tester,Upper_Tester: Record beacon MAC address as MAC2
11.5.4 Expected Results
11.5.4.1 Pass Verdict
MAC1 is different with MAC2.
11.6 BLE/EP/BCN/MAC/BV/06: Verify MAC address rotation on downlink reception.
11.6.1 Test Purpose
DUT BLE MAC address should rotate after receiving a downlink.
11.6.2 Initial Conditions
-
DUT is registered with Amazon Sidewalk network.
-
The Sidewalk stack (BLE) is initialized and started on the DUT.
-
DUT is time-synced with Amazon Sidewalk network.
-
Lower Tester is a Sidewalk gateway, a BLE sniffer, and ready on AWS IOT side.
-
Upper Tester operates as a SID API user.
11.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: DUT Status: Registered, Time Synced, Link Mask 0, BLE disconnected
DUT->>Lower_Tester: Beacon
DUT->>Lower_Tester: Beacon
DUT->>Lower_Tester: Beacon
Note over Lower_Tester,Upper_Tester: Record beacon MAC address as MAC1
Lower_Tester->>DUT: Send a DL
DUT->>Upper_Tester: on_status_changed() "Status: Registered, Time Synced, Link Mask 1, BLE Connected"
DUT->>Upper_Tester: Receive a DL
Note over Lower_Tester,Upper_Tester: Idle for 30 seconds
DUT->>Upper_Tester: on_status_changed() "Status: Registered, Time Synced, Link Mask 0, BLE Disconnected"
DUT->>Lower_Tester: Beacon
DUT->>Lower_Tester: Beacon
DUT->>Lower_Tester: Beacon
Note over Lower_Tester,Upper_Tester: Record beacon MAC address as MAC2
11.6.4 Expected Results
11.6.4.1 Pass Verdict
MAC1 is different with MAC2.
11.7 BLE/EP/BCN/MAC/BV/07: Verify MAC address rotation on key refresh.
11.7.1 Test Purpose
DUT BLE MAC address should rotate after key refresh.
11.7.2 Initial Conditions
-
DUT is registered with Amazon Sidewalk network.
-
The Sidewalk stack (BLE) is initialized and started on the DUT.
-
DUT is time-synced with Amazon Sidewalk network.
-
Lower Tester is a Sidewalk gateway, a BLE sniffer, and ready on AWS IOT side.
-
Upper Tester operates as a SID API user.
11.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: DUT Status: Registered, Time Synced, Link Mask 0, BLE disconnected
DUT->>Lower_Tester: Beacon
DUT->>Lower_Tester: Beacon
DUT->>Lower_Tester: Beacon
Note over Lower_Tester,Upper_Tester: Record beacon MAC address as MAC1
Lower_Tester->>DUT: Trigger a key refresh event
DUT->>Upper_Tester: on_status_changed() "Status: Registered, Time Synced, Link Mask 1, BLE Connected"
DUT->>Upper_Tester: Key refresh event finish
DUT->>Upper_Tester: on_status_changed() "Status: Registered, Time Synced, Link Mask 0, BLE Disconnected"
DUT->>Lower_Tester: Beacon
DUT->>Lower_Tester: Beacon
DUT->>Lower_Tester: Beacon
Note over Lower_Tester,Upper_Tester: Record beacon MAC address as MAC2
11.7.4 Expected Results
11.7.4.1 Pass Verdict
MAC1 is different with MAC2.
11.8 BLE/EP/BCN/MAC/BV/08: Verify MAC address rotation on long lived connection.
11.8.1 Test Purpose
DUT BLE MAC address should rotate every 15 minutes if the connection to Sidewalk cloud is maintained beyond 15 minutes.
11.8.2 Initial Conditions
-
DUT is registered with Amazon Sidewalk network.
-
The Sidewalk stack (BLE) is initialized and started on the DUT.
-
DUT is time-synced with Amazon Sidewalk network.
-
Lower Tester is a Sidewalk gateway, a BLE sniffer, and ready on AWS IOT side.
-
Upper Tester operates as a SID API user.
11.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: DUT Status: Registered, Time Synced, Link Mask 0, BLE disconnected
DUT->>Lower_Tester: Beacon
DUT->>Lower_Tester: Beacon
DUT->>Lower_Tester: Beacon
Note over Lower_Tester,Upper_Tester: Record beacon MAC address as MAC1
Upper_Tester->>DUT: sid option -ble_con 1 1 1
Upper_Tester->>DUT: sid conn_req 1
DUT->>Upper_Tester: on_status_changed() "Status: Registered, Time Synced, Link Mask 1, BLE Connected"
Note over Lower_Tester,Upper_Tester: Wait for 15 minutes
Lower_Tester->>DUT: BLE Disconnect to DUT
DUT->>Upper_Tester: on_status_changed() "Status: Registered, Time Synced, Link Mask 0, BLE Disconnected"
DUT->>Lower_Tester: Beacon
DUT->>Lower_Tester: Beacon
DUT->>Lower_Tester: Beacon
Note over Lower_Tester,Upper_Tester: Record beacon MAC address as MAC2
11.8.4 Expected Results
11.8.4.1 Pass Verdict
MAC1 is different with MAC2.