aboutsummaryrefslogtreecommitdiff
path: root/test.sh
blob: 89db5f4080f5db0b47216ed28f74f957e8233ce2 (plain)
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
68
#!/bin/sh -xe
cd "$(dirname "$0")"
make gallery
target=/tmp/G input=/tmp/G/Test
rm -rf $target

mkdir -p $target $input/Test $input/Empty
gen() { magick "$@"; sha1=$(sha1sum "$(eval echo \$\{$#\})" | cut -d' ' -f1); }

gen wizard: $input/wizard.webp
gen -seed 10 -size 256x256 plasma:fractal \
	$input/Test/dhash.jpg
gen -seed 10 -size 256x256 plasma:fractal \
	$input/Test/dhash.png
sha1duplicate=$sha1
cp $input/Test/dhash.png \
	$input/Test/multiple-paths.png

gen -seed 15 -size 256x256 plasma:fractal \
	$input/Test/excluded.png

gen -seed 20 -size 160x128 plasma:fractal \
	-bordercolor transparent -border 64 \
	$input/Test/transparent-wide.png
gen -seed 30 -size 1024x256 plasma:fractal \
	-alpha set -channel A -evaluate multiply 0.2 \
	$input/Test/translucent-superwide.png

gen -size 96x96 -delay 10 -loop 0 \
	-seed 111 plasma:fractal \
	-seed 222 plasma:fractal \
	-seed 333 plasma:fractal \
	-seed 444 plasma:fractal \
	-seed 555 plasma:fractal \
	-seed 666 plasma:fractal \
	$input/Test/animation-small.gif
sha1animated=$sha1
gen $input/Test/animation-small.gif \
	$input/Test/video.mp4

./gallery init $target
./gallery sync -exclude '/excluded[.]' $target $input "$@"
./gallery thumbnail $target
./gallery dhash $target
./gallery tag $target test "Test space" <<-END
	$sha1duplicate	foo	1.0
	$sha1duplicate	bar	0.5
	$sha1animated	foo	0.8
END

# TODO: Test all the various possible sync transitions.
mv $input/Test $input/Plasma
./gallery sync -exclude '/excluded[.]' $target $input

./gallery web $target :8080 &
web=$!
trap "kill $web; wait $web" EXIT INT TERM
sleep 0.25

call() (curl http://localhost:8080/api/$1 -X POST --data-binary @-)

# TODO: Verify that things are how we expect them to be.
echo '{"path":"'"$(basename "$input")"'"}' | call browse
echo '{}' | call tags
echo '{}' | call duplicates
echo '{}' | call orphans
echo '{"sha1":"'"$sha1duplicate"'"}' | call info
echo '{"sha1":"'"$sha1duplicate"'"}' | call similar