#!/usr/bin/env bash # Copyright 2024 Versity Software # This file is 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. source ./tests/logger.sh source ./tests/report.sh send_command() { if ! check_param_count_gt "command data" 1 $#; then return 1 fi local response if [ -n "$COMMAND_LOG" ] || [ -n "$COVERAGE_LOG" ]; then args=(AWS_ACCESS_KEY_ID="$AWS_ACCESS_KEY_ID" "$@") if ! response=$(mask_arg_array "${args[@]}" 2>&1); then echo "error masking args: $response" return 1 fi masked_args="$response" if [ -n "$COMMAND_LOG" ]; then # shellcheck disable=SC2154 echo "$masked_args" >> "$COMMAND_LOG" fi if [ -n "$COVERAGE_LOG" ]; then record_command_v2 "$masked_args" fi fi local command_result=0 "$@" || command_result=$? if [ "$command_result" -ne 0 ]; then if [ "$1" == "curl" ]; then echo ", curl response code: $command_result" elif [ "$command_result" -ne 1 ]; then echo " ($1 response code: $command_result)" fi fi if [ "$DIRECT" == "true" ]; then sleep "$DIRECT_POST_COMMAND_DELAY" fi return $command_result } generate_go_command() { if ! check_param_count_gt "command params" 1 $#; then return 1 fi local response if [ -n "$GENERATE_COMMAND_EXECUTABLE" ]; then if [ ! -f "$GENERATE_COMMAND_EXECUTABLE" ] && ! response=$(go build -o "$GENERATE_COMMAND_EXECUTABLE" ./tests/rest_scripts/generateCommand.go 2>&1); then log 2 "error building generateCommand executable: $response" return 1 fi log 5 "running go generateCommand executable" if ! response=$("$GENERATE_COMMAND_EXECUTABLE" "$@" 2>&1); then log 2 "error generating go command from executable: $response" return 1 fi else if ! response=$(go run ./tests/rest_scripts/generateCommand.go "$@" 2>&1); then log 2 "error generating go command from files: $response" return 1 fi fi echo "$response" return 0 }