# yaml-language-server: $schema=/home/me/workspace/azure-rest-api-specs/documentation/api-scenario/references/v1.2/schema.json
scope: ResourceGroup

# variables:
#   resourceName: signalrswaggertest4

variables:
  globalLocation: Global
  publicPort:
    type: int
    value: 6910

scenarios:
  - scenario: SignalR
    description: Microsoft.SignalRService/Basic_CRUD
    steps:
      #        arm template deployment is not fully supported now. Will enable and cover more cases once it has more features
      - step: Generate_Unique_Name
        armTemplate: ./peArmTemplate/Generate_Unique_name_template.json

      - step: SignalR_CheckNameAvailability
        exampleFile: ../examples/SignalR_CheckNameAvailability.json
        requestUpdate:
          - replace: /parameters/name
            value: $(resourceName)

      #     The example is actually an update operation. But in this context, here it is a create operation. The result will dismatch in pe part.
      #     Also, some validations like for keys kike IP or pec ID needs to be suppressed
      - step: SignalR_CreateOrUpdate
        exampleFile: ../examples/SignalR_CreateOrUpdate.json
        requestUpdate:
          - replace: /parameters/properties/publicPort
            value: $(publicPort)
          - replace: /parameters/location
            value: $(location)-test1
        variables:
          location: $(globalLocation)-test2
        outputVariables:
          signalRId:
            fromResponse: /id

      - step: SignalR_Get
        exampleFile: ../examples/SignalR_Get.json

      #     Bug. The patch operation is not validated.
      - step: SignalR_Update
        exampleFile: ../examples/SignalR_Update.json

      #     The key should not be printed and should not be compared.
      - step: SignalR_ListKeys
        exampleFile: ../examples/SignalR_ListKeys.json

      #     We don't have a 200 response for this operation in this API version.
      - step: SignalR_RegenerateKey
        exampleFile: ../examples/SignalR_RegenerateKey.json

      - step: SignalR_Restart
        exampleFile: ../examples/SignalR_Restart.json

      - step: Usages_List
        exampleFile: ../examples/Usages_List.json

      - step: SignalR_ListByResourceGroup
        exampleFile: ../examples/SignalR_ListByResourceGroup.json

      - step: SignalR_ListBySubscription
        exampleFile: ../examples/SignalR_ListBySubscription.json

      - step: Operations_List
        exampleFile: ../examples/Operations_List.json

      - step: SignalR_Delete
        exampleFile: ../examples/SignalR_Delete.json
#  - description: Microsoft.SignalRService/SignalRPrivateLinkResources_List
#    steps:
#      - step: prepare_pe
#        armTemplate: ./peArmTemplate/template.json
#      - step: SignalRPrivateEndpointConnections_Get
#        exampleFile: ../examples/SignalRPrivateEndpointConnections_Get.json
#      - step: SignalRPrivateEndpointConnections_Update
#        exampleFile: ../examples/SignalRPrivateEndpointConnections_Update.json
#      - step: SignalRPrivateEndpointConnections_Delete
#        exampleFile: ../examples/SignalRPrivateEndpointConnections_Delete.json
