---
name: "Test Composite Action"
description: "Test action uses composite"

inputs:
  test_input_optional:
    description: Test

runs:
  using: "composite"
  steps:
#   The output of actions/setup-node@v2 seems to fail the workflow
#   - uses: actions/setup-node@v2
#     with:
#       node-version: '16'
#   - run: |
#       console.log(process.version);
#       console.log("Hi from node");
#       console.log("${{ inputs.test_input_optional }}");
#       if("${{ inputs.test_input_optional }}" !== "Test") {
#         console.log("Invalid input test_input_optional expected \"Test\" as value");
#         process.exit(1);
#       }
#       if(!process.version.startsWith('v16')) {
#         console.log("Expected node v16, but got " + process.version);
#         process.exit(1);
#       }
#     shell: node {0}
  - uses: ./uses-composite/composite_action
    id: composite
    with:
      test_input_required: 'test_input_required_value'
      test_input_optional: 'test_input_optional_value'
      test_input_optional_with_default_overriden: 'test_input_optional_with_default_overriden'
      test_input_required_with_default: 'test_input_optional_value'
      test_input_required_with_default_overriden: 'test_input_required_with_default_overriden'
      secret_input: ${{inputs.test_input_optional}}
    env:
      secret_input: ${{inputs.test_input_optional}}
  - run: |
      echo "steps.composite.outputs.test_output=${{ steps.composite.outputs.test_output }}"
      [[ "${{steps.composite.outputs.test_output == 'test_output_value'}}" = "true" ]] || exit 1
    shell: bash
  - run: |
      echo "steps.composite.outputs.secret_output=${{ steps.composite.outputs.secret_output }}"
      [[ "${{steps.composite.outputs.secret_output == format('{0}/{0}', inputs.test_input_optional)}}" = "true" ]] || exit 1
    shell: bash
  # Now test again with default values
  - name: ./uses-composite/composite_action with defaults
    uses: ./uses-composite/composite_action
    id: composite2
    with:
      test_input_required: 'test_input_required_value'
      test_input_optional_with_default_overriden: 'test_input_optional_with_default_overriden'
      test_input_required_with_default_overriden: 'test_input_required_with_default_overriden'

  - run: |
      echo "steps.composite2.outputs.test_output=${{ steps.composite2.outputs.test_output }}"
      [[ "${{steps.composite2.outputs.test_output == 'test_output_value'}}" = "true" ]] || exit 1
    shell: bash
  - run: |
      echo "steps.composite.outputs.secret_output=$COMPOSITE_ACTION_ENV_OUTPUT"
      [[ "${{env.COMPOSITE_ACTION_ENV_OUTPUT == 'my test value' }}" = "true" ]] || exit 1
    shell: bash