Files
steampipe/tests/acceptance/lib/connection_map_utils.bash

41 lines
1017 B
Bash

# Function to check if all 'state' values
# in the steampipe_connection_state stable are "ready"
wait_connection_map_stable() {
local timeout_duration=5
local end_time=$(( $(date +%s) + timeout_duration ))
local all_ready=false
while [[ $(date +%s) -lt $end_time ]]
do
# Run the steampipe query and parse the JSON output
local json_output=$(steampipe query "select * from steampipe_connection_state" --output json)
if [ $? -ne 0 ]; then
echo "Failed to execute steampipe query"
return 1
fi
for state in $(echo $json_output | jq -r '.[].state')
do
if [ "$state" != "ready" ]; then
# wait for sometime
sleep 0.5
# and try again
continue
fi
done
# if we are here that means all are in the ready state
all_ready=true
# we can break out of the loop
break
done
if [ "$all_ready" = true ]; then
return 0
else
return 1
fi
}