#!/usr/bin/env bash
# Copyright 2023 Nordic Semiconductor
# SPDX-License-Identifier: Apache-2.0

source $(dirname "${BASH_SOURCE[0]}")/../../_mesh_test.sh

# Test that the LCD server model is able to split the
# composition data when the total size exceeds the maximum access message size.
# The test environment simulates a scenario where the server has completed DFU.
#
# Test procedure:
# 0. Provisioning and setup. Server and client has same comp data.
# 1. Client requests a sample exceeding the maximum avaialble payload from the
#    server's composition data.
# 2. Client fetch its local comp data.
# 3. When server status arrive, remove status field data and compare received
#    comp data with corresponding bytes in local comp data.
# 4. Client requests the next sample from server's composition data.
# 5. When server status arrive, remove status field data and compare received
#    comp data with correspending bytes in local comp data.
# 6. Client merges the two samples and checks that the collected data is
#    correctly merged, continuous, and matches its local comp data.
overlay=overlay_pst_conf
RunTest mesh_lcd_test_comp0_data_split_dfu \
	lcd_srv_comp_data_status_respond \
	lcd_cli_split_comp_data_request -- -argstest page=0 comp-changed-mode=1

overlay="overlay_pst_conf_overlay_psa_conf"
RunTest mesh_lcd_test_comp0_data_split_dfu \
	lcd_srv_comp_data_status_respond \
	lcd_cli_split_comp_data_request -- -argstest page=0 comp-changed-mode=1
