# Copyright (c) 2021 Project CHIP Authors
#
# Licensed under the Apache License, Version 2.0 (the "License");
# you may not use this file except in compliance with the License.
# You may obtain a copy of the License at
#
# http://www.apache.org/licenses/LICENSE-2.0
#
# Unless required by applicable law or agreed to in writing, software
# distributed under the License is distributed on an "AS IS" BASIS,
# WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
# See the License for the specific language governing permissions and
# limitations under the License.
# Auto-generated scripts for harness use only, please review before automation. The endpoints and cluster names are currently set to default

name: 33.7.1. [TC-SU-3.1] QueryImageResponse from DUT to OTA-R

PICS:
    - MCORE.OTA.Provider

config:
    nodeId: 0x12344321
    cluster: "Basic Information"
    endpoint: 0

tests:
    - label:
          "Step 1: OTA-R/TH sends a QueryImage Command to the DUT.
          UserConsentNeeded field is set to False."
      verification: |
          ./chip-tool otasoftwareupdaterequestor announce-otaprovider 123 0 0 0 321 0

          Where 321 is OTA Requestor node ID and 123 is OTA Provider node ID

          On OTA Requestor logs,
          Verify that the DUT is able to query the server where the software update image is located. DUT should obtain the User Consent from the user. DUT should respond with the QueryImageResponse to the OTA-R/TH

          [1673337981.104652][28428:28428] CHIP:SWU: QueryImageResponse:
          [1673337981.104695][28428:28428] CHIP:SWU:   status: 0
          [1673337981.104735][28428:28428] CHIP:SWU:   imageURI: bdx://000000000000007B/ota-requestor-app.ota
          [1673337981.104776][28428:28428] CHIP:SWU:   softwareVersion: 2
          [1673337981.104816][28428:28428] CHIP:SWU:   softwareVersionString: 2.0
          [1673337981.104856][28428:28428] CHIP:SWU:   updateToken: 32
          [1673337981.104896][28428:28428] CHIP:SWU:   userConsentNeeded: 0
          [1673337981.104948][28428:28428] CHIP:SWU: Update available from version 1 to 2
      disabled: true
