<testcase> <info> <keywords> Metalink HTTP HTTP GET FILE </keywords> </info> # # Server-side <reply> <data nocheck="yes"> HTTP/1.1 200 OK Date: Thu, 21 Jun 2012 17:37:27 GMT Server: test-server/fake Content-Length: 41 Connection: close Content-Type: text/html Content-Disposition: filename=name2010; charset=funny; option=strange Funny-head: yesyes Contents delivered from an HTTP resource </data> </reply> # # Client-side <client> <features> file Metalink </features> <server> http </server> <name> Metalink local XML file, HTTP resource, using -o fname -D file </name> <command option="no-output,no-include"> --metalink file://%PWD/log/test2010.metalink -o log/outfile2010 -D log/heads2010 </command> # local metalink file written before test command runs <file name="log/test2010.metalink"> <?xml version="1.0" encoding="utf-8"?> <metalink version="3.0" xmlns="http://www.metalinker.org/"> <files> <file name="log/download2010"> <verification> <hash type="md5">we-only-check-the-strongest-hash-provided</hash> <hash type="sha256">19dcb4e2a99b9cd02c30b1ed6c55869b7ef8cda9f985648909c48a6dbb54356c</hash> </verification> <resources maxconnections="1"> <url type="http" preference="90">http://%HOSTIP:%HTTPPORT/2010</url> </resources> </file> </files> </metalink> </file> <postcheck> perl %SRCDIR/libtest/notexists.pl log/2010 log/name2010 log/outfile2010 </postcheck> </client> # # Verify data after the test has been "shot" <verify> <strip> ^User-Agent:.* </strip> <protocol> GET /2010 HTTP/1.1 Host: %HOSTIP:%HTTPPORT Accept: */* </protocol> <file1 name="log/download2010"> Contents delivered from an HTTP resource </file1> <stripfile2> s/Last-Modified:.*// </stripfile2> <file2 name="log/heads2010"> Content-Length: 496 Accept-ranges: bytes HTTP/1.1 200 OK Date: Thu, 21 Jun 2012 17:37:27 GMT Server: test-server/fake Content-Length: 41 Connection: close Content-Type: text/html Content-Disposition: filename=name2010; charset=funny; option=strange Funny-head: yesyes </file2> <file3 name="log/stdout2010"> </file3> <file4 name="log/stderr2010"> Metalink: parsing (file://%PWD/log/test2010.metalink) metalink/XML... Metalink: parsing (file://%PWD/log/test2010.metalink) OK Metalink: fetching (log/download2010) from (http://%HOSTIP:%HTTPPORT/2010)... Metalink: fetching (log/download2010) from (http://%HOSTIP:%HTTPPORT/2010) OK Metalink: validating (log/download2010)... Metalink: validating (log/download2010) [sha-256] OK </file4> <stripfile4> $_ = '' if (($_ !~ /^Metalink: /) && ($_ !~ /error/i) && ($_ !~ /warn/i)) </stripfile4> </verify> </testcase>