Sha256: 291c7ac26fc5523b598cc3fba3f653203b6efc66bde248689b37fb5398428e58

Contents?: true

Size: 1.94 KB

Versions: 33

Compression:

Stored size: 1.94 KB

Contents

require File.dirname(__FILE__) + '/test_helper.rb'
require 'rubygems'
require 'flexmock/test_unit'
require 'net/http_multipart_post'

class HttpMulitpartPostTest < Test::Unit::TestCase
  def setup
    super
  end
  
  def fixture(string)
    File.open(File.dirname(__FILE__) + "/fixtures/#{string}.txt").read
  end
  
  def test_multipart_post_with_only_parameters
    params = add_sample_facebook_params({})
    post = Net::HTTP::MultipartPost.new("uri", params)
    assert_equal fixture("multipart_post_body_with_only_parameters"), post.send(:body)
  end
  
  def test_multipart_post_with_a_single_file
    params = add_sample_facebook_params({})
    params[:file] = Net::HTTP::MultipartPostFile.new
    params[:file].filename = "somefilename.jpg"
    params[:file].content_type = "image/jpg"
    params[:file].data = "[Raw file data here]"
    post = Net::HTTP::MultipartPost.new("uri", params)
    assert_equal fixture("multipart_post_body_with_single_file"), post.send(:body)
  end
  
  def test_multipart_post_with_a_single_file_parameter_that_has_nil_key
    params = add_sample_facebook_params({})
    params[nil] = Net::HTTP::MultipartPostFile.new("somefilename.jpg", "image/jpg", "[Raw file data here]")
    post = Net::HTTP::MultipartPost.new("uri", params)
    assert_equal fixture("multipart_post_body_with_single_file_that_has_nil_key"), post.send(:body)
  end
  
  def test_multipart_post_should_have_correct_content_type
    post = Net::HTTP::MultipartPost.new("uri", {})
    assert post.send(:content_type) =~ /multipart\/form-data; boundary=/
  end
  
  def add_sample_facebook_params(hash)
    hash[:method] = "facebook.photos.upload"
    hash[:v] = "1.0"
    hash[:api_key] = "77a52842357422fadd912a2600e6e53c"
    hash[:session_key] = "489727d0ab2efc6e8003018c-i2LLkn8BDb2s."
    hash[:call_id] = "1172623588.023010"
    hash[:caption] = "Under the sunset"
    hash[:aid] = "940915667462717"
    hash[:sig] = "dfa724b8a5cd97d9df4baf2b60d3484c"
    hash
  end
end

Version data entries

33 entries across 33 versions & 9 rubygems

Version Path
al-facebooker-1.0.12.1 test/http_multipart_post_test.rb
al-facebooker-1.0.12 test/http_multipart_post_test.rb
al-facebooker-1.0.9 test/http_multipart_post_test.rb
cwninja-facebooker-1.0.8 test/http_multipart_post_test.rb
djanowski-facebooker-1.0.1 test/http_multipart_post_test.rb
djanowski-facebooker-1.0.10 test/http_multipart_post_test.rb
djanowski-facebooker-1.0.11 test/http_multipart_post_test.rb
djanowski-facebooker-1.0.12 test/http_multipart_post_test.rb
djanowski-facebooker-1.0.2 test/http_multipart_post_test.rb
djanowski-facebooker-1.0.4 test/http_multipart_post_test.rb
djanowski-facebooker-1.0.7 test/http_multipart_post_test.rb
djanowski-mmangino-facebooker-1.0.4 test/http_multipart_post_test.rb
hashrocket-clearance-0.4.0 test/rails_root/vendor/plugins/facebooker/test/http_multipart_post_test.rb
hashrocket-clearance-0.4.1 test/rails_root/vendor/plugins/facebooker/test/http_multipart_post_test.rb
hashrocket-clearance-0.4.2 test/rails_root/vendor/plugins/facebooker/test/http_multipart_post_test.rb
hashrocket-clearance-0.4.3 test/rails_root/vendor/plugins/facebooker/test/http_multipart_post_test.rb
mmangino-facebooker-1.0.10 test/http_multipart_post_test.rb
mmangino-facebooker-1.0.11 test/http_multipart_post_test.rb
mmangino-facebooker-1.0.12 test/http_multipart_post_test.rb
mmangino-facebooker-1.0.13 test/http_multipart_post_test.rb