- msgtest 'apt-file download-file md5sum sha1'
- testsuccess --nomsg apthelper download-file http://localhost:8080/foo ./downloaded/foo6 MD5Sum:d3b07384d113edec49eaa6238ad5ff00 http://localhost:8080/foo2 ./downloaded/foo7 SHA1:e242ed3bffccdf271b7fbaf34ed72d089537b42f
- testfileequal ./downloaded/foo6 'foo'
- testfileequal ./downloaded/foo7 'bar'
+ msgtest 'apt-file download-file' 'wrong sha256'
+ testfailure --nomsg apthelper -qq download-file "${1}/foo" './downloaded/foo6' 'SHA256:aabbcc'
+ testfileequal rootdir/tmp/testfailure.output "E: Failed to fetch ${1}/foo Hash Sum mismatch
+ Hashes of expected file:
+ - SHA256:aabbcc
+ Hashes of received file:
+ - SHA256:b5bb9d8014a0f9b1d61e21e796d78dccdf1352f23cd32812f4850b878ae4944c
+ - Checksum-FileSize:4 [weak]
+ Last modification reported: $(lastmodification 'aptarchive/foo')
+E: Download Failed"
+ testfileequal './downloaded/foo6.FAILED' 'foo'
+
+ msgtest 'apt-file download-file' 'sha256 sha1'
+ testsuccess --nomsg apthelper download-file "${1}/foo" './downloaded/foo8' 'SHA256:b5bb9d8014a0f9b1d61e21e796d78dccdf1352f23cd32812f4850b878ae4944c' \
+ "${1}/foo2" './downloaded/foo7' 'SHA1:e242ed3bffccdf271b7fbaf34ed72d089537b42f'
+ testfileequal './downloaded/foo8' 'foo'
+ testfileequal './downloaded/foo7' 'bar'
+
+ msgtest 'apt-file download-file' 'md5sum sha1'
+ testsuccess --nomsg apthelper download-file "${1}/foo" './downloaded/foo9' 'MD5Sum:d3b07384d113edec49eaa6238ad5ff00' \
+ "${1}/foo2" './downloaded/foo10' 'SHA1:e242ed3bffccdf271b7fbaf34ed72d089537b42f'
+ testfileequal './downloaded/foo9' 'foo'
+ testfileequal './downloaded/foo10' 'bar'
+}
+
+setupproxydetect() {
+ local METH="$1"
+ shift
+ {
+ echo '#!/bin/sh -e'
+ echo "$@"
+ } > "${TMPWORKINGDIRECTORY}/apt-proxy-detect"
+ chmod 755 "${TMPWORKINGDIRECTORY}/apt-proxy-detect"
+ echo "Acquire::${METH}::Proxy-Auto-Detect \"${TMPWORKINGDIRECTORY}/apt-proxy-detect\";" > rootdir/etc/apt/apt.conf.d/02proxy-detect