<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 15:23:48 GMT Server: test-server/fake Content-Length: 43 Connection: close Content-Type: text/html Content-Disposition: filename=name2008; charset=funny; option=strange Funny-head: yesyes Some stuff 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/test2008.metalink -o log/outfile2008 -D log/heads2008 </command> # local metalink file written before test command runs <file name="log/test2008.metalink"> <?xml version="1.0" encoding="utf-8"?> <metalink version="3.0" xmlns="http://www.metalinker.org/"> <files> <file name="log/download2008"> <verification> <hash type="md5">we-only-check-the-strongest-hash-provided</hash> <hash type="sha256">711b1b566b536c5baae9b36f2f5c1830a7c8ff126d1afa2febc5b59f8d0aab54</hash> </verification> <resources maxconnections="1"> <url type="http" preference="90">http://%HOSTIP:%HTTPPORT/2008</url> </resources> </file> </files> </metalink> </file> <postcheck> perl %SRCDIR/libtest/notexists.pl log/2008 log/name2008 log/outfile2008 </postcheck> </client> # # Verify data after the test has been "shot" <verify> <strip> ^User-Agent:.* </strip> <protocol> GET /2008 HTTP/1.1 Host: %HOSTIP:%HTTPPORT Accept: */* </protocol> <file1 name="log/download2008"> Some stuff delivered from an HTTP resource </file1> <stripfile2> s/Last-Modified:.*// </stripfile2> <file2 name="log/heads2008"> Content-Length: 496 Accept-ranges: bytes HTTP/1.1 200 OK Date: Thu, 21 Jun 2012 15:23:48 GMT Server: test-server/fake Content-Length: 43 Connection: close Content-Type: text/html Content-Disposition: filename=name2008; charset=funny; option=strange Funny-head: yesyes </file2> <file3 name="log/stdout2008"> </file3> <file4 name="log/stderr2008"> Metalink: parsing (file://%PWD/log/test2008.metalink) metalink/XML... Metalink: parsing (file://%PWD/log/test2008.metalink) OK Metalink: fetching (log/download2008) from (http://%HOSTIP:%HTTPPORT/2008)... Metalink: fetching (log/download2008) from (http://%HOSTIP:%HTTPPORT/2008) OK Metalink: validating (log/download2008)... Metalink: validating (log/download2008) [sha-256] OK </file4> <stripfile4> $_ = '' if (($_ !~ /^Metalink: /) && ($_ !~ /error/i) && ($_ !~ /warn/i)) </stripfile4> </verify> </testcase>