mirror of
https://github.com/invoke-ai/InvokeAI
synced 2024-08-30 20:32:17 +00:00
47 lines
1.3 KiB
Bash
47 lines
1.3 KiB
Bash
|
#! /usr/bin/env bash
|
||
|
|
||
|
# This file contains bunch of compatibility tests that ensures
|
||
|
# that the API interface of `scripts/legacy-api.py` remains stable
|
||
|
|
||
|
set -e
|
||
|
|
||
|
OUTDIR=$(mktemp -d)
|
||
|
|
||
|
echo "Using directory $OUTDIR"
|
||
|
|
||
|
# Start API
|
||
|
python -u scripts/legacy_api.py --web --host=localhost --port=3333 --outdir=$OUTDIR &> $OUTDIR/sd.log &
|
||
|
APP_PID=$!
|
||
|
|
||
|
echo "Wait for server to startup"
|
||
|
|
||
|
tail -f -n0 $OUTDIR/sd.log | grep -qe "Point your browser at"
|
||
|
|
||
|
echo "Started, continuing"
|
||
|
|
||
|
if [ $? == 1 ]; then
|
||
|
echo "Search terminated without finding the pattern"
|
||
|
fi
|
||
|
|
||
|
# Generate image
|
||
|
RESULT=$(curl -v -X POST -d '{"index":0,"variation_amount":0,"with_variations":"","steps":25,"width":512,"seed":"1337","prompt":"A cat wearing a hat","strength":0.5,"initimg":null,"cfg_scale":2,"iterations":1,"upscale_level":0,"upscale_strength":0,"sampler_name":"k_euler","height":512}' localhost:3333 | grep result)
|
||
|
|
||
|
# Test 01 - Image contents
|
||
|
FILENAME=$(echo $RESULT | jq -r .url)
|
||
|
|
||
|
ACTUAL_CHECKSUM=$(sha256sum $FILENAME)
|
||
|
EXPECTED_CHECKSUM="a77799226a4dfc62a1674498e575c775da042959a4b90b13e26f666c302f079f"
|
||
|
|
||
|
if [ "$ACTUAL_CHECKSUM" != "$EXPECTED_CHECKSUM" ]; then
|
||
|
echo "Expected hash $EXPECTED_CHECKSUM but got hash $ACTUAL_CHECKSUM"
|
||
|
kill $APP_PID
|
||
|
# rm -r $OUTDIR
|
||
|
exit 33
|
||
|
fi
|
||
|
|
||
|
# Assert output
|
||
|
|
||
|
# Cleanup
|
||
|
kill $APP_PID
|
||
|
# rm -r $OUTDIR
|