38
Content-Disposition: inline; filename="t0107-snapshot.sh
HTTP/1.1 200 OK
Connection: close
Content-Length: 761
Content-Security-Policy: default-src 'none'
Content-Type: text/plain; charset=UTF-8
Date: Sun, 14 Dec 2025 16:37:18 GMT
ETag: "8e90e10508e70df4c1d60ec53e21b91e3e647607"
Expires: Wed, 12 Dec 2035 16:37:18 GMT
Last-Modified: Sun, 14 Dec 2025 16:37:18 GMT
Server: OpenBSD httpd
X-Content-Type-Options: nosniff

#!/bin/sh

. ./setup.sh

prepare_tests "Verify snapshot"

run_test 'get foo/snapshot/test.tar.gz' '
	cgit_url "foo/snapshot/test.tar.gz" >trash/tmp
'

run_test 'check html headers' '
	head -n 1 trash/tmp |
	     grep -e "Content-Type: application/x-tar" &&

	head -n 2 trash/tmp |
	     grep -e "Content-Disposition: inline; filename=.test.tar.gz."
'

run_test 'strip off the header lines' '
	 tail -n +6 trash/tmp > trash/test.tar.gz
'

run_test 'verify gzip format' 'gunzip --test trash/test.tar.gz'
run_test 'untar' 'tar -xf trash/test.tar.gz -C trash'

run_test 'count files' '
	c=$(ls -1 trash/foo/ | wc -l) &&
	test $c = 5
'

run_test 'verify untarred file-5' '
	 grep -e "^5$" trash/foo/file-5 &&
	 test $(cat trash/foo/file-5 | wc -l) = 1
'

tests_done
