Sha256: 3328dcc025815d557897d8e4c27d467fe06ef9a7a2150ad493fa8f9b008cbc7c

Contents?: true

Size: 1.45 KB

Versions: 5

Compression:

Stored size: 1.45 KB

Contents

require "helpers/test_helper"

class UnitTestJsonRequests < MiniTest::Test
  def setup
    Fog.mock!
    @client = Fog::Storage.new(provider: "google",
                               google_client_email: "",
                               google_project: "",
                               google_json_key_location: "")
  end

  def teardown
    Fog.unmock!
  end

  def test_get_url_path_has_query_params
    url = @client.get_object_url("bucket",
                                 "just some file.json",
                                 Time.now + 2 * 60,
                                 query: { "projection" => 'full, noAcl"' })

    assert_match(/projection=full%2C%20noAcl/, url,
                 "query string should be escaped")
  end

  def test_get_url_filter_nil_query_params
    url = @client.get_object_url("bucket",
                                 "just some file.json",
                                 Time.now + 2 * 60,
                                 query: { "projection" => nil })

    refute_match(/projection/, url,
                 "nil query params should be omitted")
  end

  def test_put_url_path_is_properly_escaped
    url = @client.put_object_url("bucket",
                                 "just some file.json",
                                 Time.now + 2 * 60,
                                 "Content-Type" => "application/json")

    assert_match(/just%20some%20file\.json/, url,
                 "space should be escaped with '%20'")
  end
end

Version data entries

5 entries across 5 versions & 1 rubygems

Version Path
fog-google-1.8.2 test/unit/storage/test_json_requests.rb
fog-google-1.8.1 test/unit/storage/test_json_requests.rb
fog-google-1.8.0 test/unit/storage/test_json_requests.rb
fog-google-1.7.1 test/unit/storage/test_json_requests.rb
fog-google-1.7.0 test/unit/storage/test_json_requests.rb