owncast/test/automated/api/run.sh
Meisam 0a8fc6e8c5 validate Nodeinfo response by schema (#2390)
* rm stable: 'false' from actions/setup-go@v3

* adapt tests from #2369

* set undefined as defaultStreamKey

pass adminpass to sendConfigChangeRequest()

* mv getAdminConfig to api/lib/config.js

* npm install --quiet for automated tests

* refactor tests

separate default values from new ones

* test adminpass change

fix defaultStreamKeys test

* fix defaultStreamKeys

* use getAdminStatus

* mv test/automated/lib/config.js to admin.js

* check default hideViewerCount

cleanup

* test more default options in api

erverName
SServerSummary
yp.instanceUrl
FederationConfig.username

* more testing of default config params

* update reference values for api test
2022-11-29 16:05:44 -08:00

43 lines
1,003 B
Bash
Executable file

#!/bin/bash
TEMP_DB=$(mktemp)
# Install the node test framework
npm install --quiet --no-progress
# Download a specific version of ffmpeg
if [ ! -d "ffmpeg" ]; then
mkdir ffmpeg
pushd ffmpeg >/dev/null
curl -sL https://github.com/vot/ffbinaries-prebuilt/releases/download/v4.2.1/ffmpeg-4.2.1-linux-64.zip --output ffmpeg.zip >/dev/null
unzip -o ffmpeg.zip >/dev/null
PATH=$PATH:$(pwd)
popd >/dev/null
fi
pushd ../../.. >/dev/null
# Build and run owncast from source
go build -o owncast main.go
./owncast -database $TEMP_DB &
SERVER_PID=$!
popd >/dev/null
sleep 5
# Start streaming the test file over RTMP to
# the local owncast instance.
ffmpeg -hide_banner -loglevel panic -stream_loop -1 -re -i ../test.mp4 -vcodec libx264 -profile:v main -sc_threshold 0 -b:v 1300k -acodec copy -f flv rtmp://127.0.0.1/live/abc123 &
FFMPEG_PID=$!
function finish {
rm $TEMP_DB
kill $SERVER_PID $FFMPEG_PID
}
trap finish EXIT
echo "Waiting..."
sleep 15
# Run the tests against the instance.
npm test