<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>
# The Content-Length replace here is to handle with 4/5 digit port number in
# the content
<stripfile2>
s/Last-Modified:.*//
s/Content-Length: 49[67]/Content-Length: yeps/
</stripfile2>
<file2 name="log/heads2010">
Content-Length: yeps
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" mode="text">
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>
