blob: 9f73a6ed4e975525f296cb22f7be4b78ec630330 [file] [log] [blame]
#!/usr/bin/env bash
# Copyright 2022 Nordic Semiconductor
# SPDX-License-Identifier: Apache-2.0
source $(dirname "${BASH_SOURCE[0]}")/../../_mesh_test.sh
# Test Node Composition Refresh procedure with persistence storage:
# 1. Prepare for Composition Data change.
# PB-Remote client (1st device):
# - provision the 2nd device over PB-Adv
# - provision the 3rd device over PB-Remote
# PB-Remote server (2nd device):
# - wait for being provisioned
# - run PB-Remote bearer
# PB-Remote server (3rd device):
# - wait for being provisioned
# - call bt_mesh_comp_change_prepare() to prepare for Composition Data change
# 2. Verify Node Composition Refresh procedure.
# PB-Remote client (1st device):
# - check that Composition Data pages 0 (old comp data) and 128 (new comp data) are different
# - run Node Composition Refresh procedure on the 3rd device
# - verify Composition Data pages 0 (new comp data) and 128 (same as page 0)
# PB-Remote server (3rd device):
# - start with a new Composition Data
# 3. Verify that old settings are removed on the 3rd device after Composition Data change.
# PB-Remote client (1st device):
# - run Node Composition Refresh procedure again and expect it to fail
# PB-Remote server (3rd device):
# - verify that the device is not re-provisioned again.
# Step 1
conf=prj_mesh1d1_conf
overlay=overlay_pst_conf
RunTest mesh_prov_pst_pb_remote_ncrp \
prov_provisioner_pb_remote_client_ncrp_provision \
prov_device_pb_remote_server_unproved \
prov_device_pb_remote_server_ncrp_prepare
# Step 2
conf=prj_mesh1d1_conf
overlay=overlay_pst_conf
RunTest mesh_prov_pst_pb_remote_ncrp \
prov_provisioner_pb_remote_client_ncrp \
prov_device_pb_remote_server_proved \
prov_device_pb_remote_server_ncrp
# Step 3
conf=prj_mesh1d1_conf
overlay=overlay_pst_conf
RunTest mesh_prov_pst_pb_remote_ncrp \
prov_provisioner_pb_remote_client_ncrp_second_time \
prov_device_pb_remote_server_proved \
prov_device_pb_remote_server_ncrp_second_time