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!"
 |