mirror of
https://github.com/stripe/stripe-ruby.git
synced 2025-08-10 00:01:09 -04:00
Use files.stripe.com only for the file create endpoint
This commit is contained in:
parent
f3dd3ab1bf
commit
ea09249e67
@ -103,7 +103,7 @@ module Stripe
|
||||
|
||||
@api_base = "https://api.stripe.com"
|
||||
@connect_base = "https://connect.stripe.com"
|
||||
@uploads_base = "https://uploads.stripe.com"
|
||||
@uploads_base = "https://files.stripe.com"
|
||||
|
||||
@log_level = nil
|
||||
@logger = nil
|
||||
|
@ -16,13 +16,6 @@ module Stripe
|
||||
"/v1/files"
|
||||
end
|
||||
|
||||
def self.request(method, url, params = {}, opts = {})
|
||||
opts = {
|
||||
api_base: Stripe.uploads_base,
|
||||
}.merge(Util.normalize_opts(opts))
|
||||
super
|
||||
end
|
||||
|
||||
def self.create(params = {}, opts = {})
|
||||
# rest-client would accept a vanilla `File` for upload, but Faraday does
|
||||
# not. Support the old API by wrapping a `File`-like object with an
|
||||
@ -32,6 +25,7 @@ module Stripe
|
||||
end
|
||||
|
||||
opts = {
|
||||
api_base: Stripe.uploads_base,
|
||||
content_type: "multipart/form-data",
|
||||
}.merge(Util.normalize_opts(opts))
|
||||
super
|
||||
|
@ -6,41 +6,58 @@ module Stripe
|
||||
class FileTest < Test::Unit::TestCase
|
||||
should "be listable" do
|
||||
files = Stripe::File.list
|
||||
assert_requested :get, "#{Stripe.api_base}/v1/files"
|
||||
assert files.data.is_a?(Array)
|
||||
assert files.data[0].is_a?(Stripe::File)
|
||||
end
|
||||
|
||||
should "be retrievable" do
|
||||
file = Stripe::File.retrieve("file_123")
|
||||
assert_requested :get, "#{Stripe.api_base}/v1/files/file_123"
|
||||
assert file.is_a?(Stripe::File)
|
||||
end
|
||||
|
||||
should "be creatable with a File" do
|
||||
file = Stripe::File.create(
|
||||
purpose: "dispute_evidence",
|
||||
file: ::File.new(__FILE__)
|
||||
)
|
||||
assert file.is_a?(Stripe::File)
|
||||
end
|
||||
context ".create" do
|
||||
setup do
|
||||
# We don't point to the same host for the API and uploads in
|
||||
# production, but `stripe-mock` supports both APIs.
|
||||
Stripe.uploads_base = Stripe.api_base
|
||||
|
||||
should "be creatable with a Tempfile" do
|
||||
tempfile = Tempfile.new("foo")
|
||||
tempfile.write("Hello world")
|
||||
tempfile.rewind
|
||||
# Set `api_base` to `nil` to ensure that these requests are _not_ sent
|
||||
# to the default API hostname.
|
||||
Stripe.api_base = nil
|
||||
end
|
||||
|
||||
file = Stripe::File.create(
|
||||
purpose: "dispute_evidence",
|
||||
file: tempfile
|
||||
)
|
||||
assert file.is_a?(Stripe::File)
|
||||
end
|
||||
should "be creatable with a File" do
|
||||
file = Stripe::File.create(
|
||||
purpose: "dispute_evidence",
|
||||
file: ::File.new(__FILE__)
|
||||
)
|
||||
assert_requested :post, "#{Stripe.uploads_base}/v1/files"
|
||||
assert file.is_a?(Stripe::File)
|
||||
end
|
||||
|
||||
should "be creatable with Faraday::UploadIO" do
|
||||
file = Stripe::File.create(
|
||||
purpose: "dispute_evidence",
|
||||
file: Faraday::UploadIO.new(::File.new(__FILE__), nil)
|
||||
)
|
||||
assert file.is_a?(Stripe::File)
|
||||
should "be creatable with a Tempfile" do
|
||||
tempfile = Tempfile.new("foo")
|
||||
tempfile.write("Hello world")
|
||||
tempfile.rewind
|
||||
|
||||
file = Stripe::File.create(
|
||||
purpose: "dispute_evidence",
|
||||
file: tempfile
|
||||
)
|
||||
assert_requested :post, "#{Stripe.uploads_base}/v1/files"
|
||||
assert file.is_a?(Stripe::File)
|
||||
end
|
||||
|
||||
should "be creatable with Faraday::UploadIO" do
|
||||
file = Stripe::File.create(
|
||||
purpose: "dispute_evidence",
|
||||
file: Faraday::UploadIO.new(::File.new(__FILE__), nil)
|
||||
)
|
||||
assert_requested :post, "#{Stripe.uploads_base}/v1/files"
|
||||
assert file.is_a?(Stripe::File)
|
||||
end
|
||||
end
|
||||
|
||||
should "be deserializable when `object=file`" do
|
||||
|
@ -3,44 +3,64 @@
|
||||
require ::File.expand_path("../../test_helper", __FILE__)
|
||||
|
||||
module Stripe
|
||||
# This is a strict copy of `FileTest`, except that it uses
|
||||
# `Stripe::FileUpload` instead of `Stripe::File`.
|
||||
class FileUploadTest < Test::Unit::TestCase
|
||||
should "be listable" do
|
||||
files = Stripe::FileUpload.list
|
||||
assert_requested :get, "#{Stripe.api_base}/v1/files"
|
||||
assert files.data.is_a?(Array)
|
||||
assert files.data[0].is_a?(Stripe::FileUpload)
|
||||
end
|
||||
|
||||
should "be retrievable" do
|
||||
file = Stripe::FileUpload.retrieve("file_123")
|
||||
assert_requested :get, "#{Stripe.api_base}/v1/files/file_123"
|
||||
assert file.is_a?(Stripe::FileUpload)
|
||||
end
|
||||
|
||||
should "be creatable with a File" do
|
||||
file = Stripe::FileUpload.create(
|
||||
purpose: "dispute_evidence",
|
||||
file: ::File.new(__FILE__)
|
||||
)
|
||||
assert file.is_a?(Stripe::FileUpload)
|
||||
end
|
||||
context ".create" do
|
||||
setup do
|
||||
# We don't point to the same host for the API and uploads in
|
||||
# production, but `stripe-mock` supports both APIs.
|
||||
Stripe.uploads_base = Stripe.api_base
|
||||
|
||||
should "be creatable with a Tempfile" do
|
||||
tempfile = Tempfile.new("foo")
|
||||
tempfile.write("Hello world")
|
||||
tempfile.rewind
|
||||
# Set `api_base` to `nil` to ensure that these requests are _not_ sent
|
||||
# to the default API hostname. `api_base` is reset when each test
|
||||
# starts so this won't affect the global state.
|
||||
Stripe.api_base = nil
|
||||
end
|
||||
|
||||
file = Stripe::FileUpload.create(
|
||||
purpose: "dispute_evidence",
|
||||
file: tempfile
|
||||
)
|
||||
assert file.is_a?(Stripe::FileUpload)
|
||||
end
|
||||
should "be creatable with a File" do
|
||||
file = Stripe::FileUpload.create(
|
||||
purpose: "dispute_evidence",
|
||||
file: ::File.new(__FILE__)
|
||||
)
|
||||
assert_requested :post, "#{Stripe.uploads_base}/v1/files"
|
||||
assert file.is_a?(Stripe::FileUpload)
|
||||
end
|
||||
|
||||
should "be creatable with Faraday::UploadIO" do
|
||||
file = Stripe::FileUpload.create(
|
||||
purpose: "dispute_evidence",
|
||||
file: Faraday::UploadIO.new(::File.new(__FILE__), nil)
|
||||
)
|
||||
assert file.is_a?(Stripe::FileUpload)
|
||||
should "be creatable with a Tempfile" do
|
||||
tempfile = Tempfile.new("foo")
|
||||
tempfile.write("Hello world")
|
||||
tempfile.rewind
|
||||
|
||||
file = Stripe::FileUpload.create(
|
||||
purpose: "dispute_evidence",
|
||||
file: tempfile
|
||||
)
|
||||
assert_requested :post, "#{Stripe.uploads_base}/v1/files"
|
||||
assert file.is_a?(Stripe::FileUpload)
|
||||
end
|
||||
|
||||
should "be creatable with Faraday::UploadIO" do
|
||||
file = Stripe::FileUpload.create(
|
||||
purpose: "dispute_evidence",
|
||||
file: Faraday::UploadIO.new(::File.new(__FILE__), nil)
|
||||
)
|
||||
assert_requested :post, "#{Stripe.uploads_base}/v1/files"
|
||||
assert file.is_a?(Stripe::FileUpload)
|
||||
end
|
||||
end
|
||||
|
||||
should "be deserializable when `object=file`" do
|
||||
|
@ -50,10 +50,6 @@ module Test
|
||||
Stripe.api_key = "sk_test_123"
|
||||
Stripe.api_base = "http://localhost:#{MOCK_PORT}"
|
||||
|
||||
# We don't point to the same host for the API and uploads in
|
||||
# production, but `stripe-mock` supports both APIs.
|
||||
Stripe.uploads_base = Stripe.api_base
|
||||
|
||||
stub_connect
|
||||
end
|
||||
|
||||
|
Loading…
x
Reference in New Issue
Block a user