42 lines
964 B
Bash
Executable File
42 lines
964 B
Bash
Executable File
#!/usr/bin/bash
|
|
|
|
|
|
# Must specify a JSON with a following structure:
|
|
|
|
ENDPOINT="http://localhost:8087"
|
|
if [[ $DOCKER_ENVIRONMENT ]]; then
|
|
ENDPOINT="http://oc-catalog:8087"
|
|
fi
|
|
|
|
if [[ $DOCKER_ENDPOINT ]]; then
|
|
ENDPOINT="$DOCKER_ENDPOINT"
|
|
fi
|
|
|
|
[[ -z $1 ]] && { echo "Must specify a json path"; exit 1; }
|
|
[[ ! -f $1 ]] && { echo "$1 is not a file"; exit 1; }
|
|
cat "$1" | jq empty || { echo "$1 is not a valid JSON"; exit 1; }
|
|
|
|
########
|
|
|
|
while read row; do
|
|
TRGT_ENDPOINT=$(echo $row | jq -r '.api')
|
|
|
|
while read item; do
|
|
echo `echo $item | jq -r '.name'` to $ENDPOINT${TRGT_ENDPOINT}
|
|
answer=$(curl --fail "$ENDPOINT${TRGT_ENDPOINT}" \
|
|
-X POST \
|
|
-H "Content-Type: application/json" \
|
|
-d "$item")
|
|
echo $answer
|
|
if [[ $? -ne 0 || "$answer" == *"<html>"* ]]; then
|
|
exit 1
|
|
fi
|
|
done < <(echo "$row" | jq -c '.content[]')
|
|
done < <(jq -c '.[]' $1)
|
|
|
|
|
|
echo
|
|
echo
|
|
echo
|
|
echo "All models submitted correctly!"
|