#!/usr/bin/ruby

require 'mechanize'
require 'open-uri'

agent = Mechanize.new

upload_page = agent.get('http://127.0.0.1:51161')
upload_form = upload_page.forms.first
upload_form.field_with(:name => 'upload_password').value = 'test'
upload_form.file_uploads.first.file_name = __FILE__

ready_page = agent.submit(upload_form)
download_url = ready_page.search('.ready').text

open(download_url) do |f|
  raise "Status #{f.status} is not 200" unless f.status.first.to_i == 200
  raise "Content differs" unless f.read == File.open(__FILE__, :encoding => 'binary').read
end
