Skip to content

Commit

Permalink
Regenerated upload cassettes
Browse files Browse the repository at this point in the history
Trying to reproduce the bug described in #26.
  • Loading branch information
Jesús Burgos committed Jul 9, 2017
1 parent 09a4163 commit 0b6e55e
Show file tree
Hide file tree
Showing 8 changed files with 510 additions and 75 deletions.
29 changes: 20 additions & 9 deletions spec/endpoints/files/upload_spec.rb
Original file line number Diff line number Diff line change
@@ -1,17 +1,18 @@
describe DropboxApi::Client, "#upload" do
let(:path_prefix) { DropboxScaffoldBuilder.prefix_for :upload }
before :each do
@client = DropboxApi::Client.new
end

it "uploads a file", :cassette => "upload/success" do
file = @client.upload("/file.txt", "Hello Dropbox!")
file = @client.upload("#{path_prefix}/file.txt", "Hello Dropbox!")

expect(file).to be_a(DropboxApi::Metadata::File)
expect(file.name).to eq("file.txt")
end

it "uploads a file with `add` write mode", :cassette => "upload/success_add" do
file = @client.upload("/file.txt", "Hola Dropbox!", {
file = @client.upload("#{path_prefix}/file.txt", "Hola Dropbox!", {
:autorename => true,
:mode => :add
})
Expand All @@ -21,7 +22,7 @@
end

it "uploads a file with `overwrite` write mode", :cassette => "upload/success_overwrite" do
file = @client.upload("/file.txt", "Hola Dropbox!", {
file = @client.upload("#{path_prefix}/file.txt", "Hola Dropbox!", {
:autorename => true,
:mode => :overwrite
})
Expand All @@ -30,10 +31,11 @@
expect(file.name).to eq("file.txt")
end

it "uploads a file with `overwrite` write mode", :cassette => "upload/success_update" do
file = @client.upload("/file.txt", "Hallo Dropbox!", {
it "uploads a file with `update` write mode", :cassette => "upload/success_update" do
rev = @client.get_metadata("#{path_prefix}/file.txt").rev
file = @client.upload("#{path_prefix}/file.txt", "Hallo Dropbox!", {
:autorename => true,
:mode => DropboxApi::Metadata::WriteMode.new(:update, "2a6124061bdd")
:mode => DropboxApi::Metadata::WriteMode.new(:update, rev)
})

expect(file).to be_a(DropboxApi::Metadata::File)
Expand All @@ -43,7 +45,7 @@
it "uploads a file with `overwrite` write mode", :cassette => "upload/success_client_modified" do
modified_at = Time.utc 2016, 12, 25, 12, 0

file = @client.upload("/another_file.txt", "Our country is a mess!", {
file = @client.upload("#{path_prefix}/another_file.txt", "Our country is a mess!", {
:client_modified => modified_at
})

Expand All @@ -55,13 +57,22 @@
context "when too many write operations" do
it "raises a DropboxApi::Errors::TooManyWriteOperations exception", :cassette => "upload/too_many_write_operations" do
expect {
@client.upload("/file.txt", "Hello Dropbox!")
100.times.map do |n|
Thread.new do
@client.upload("#{path_prefix}/file_#{n}.txt", "Hello Dropbox!")
end
end.each(&:join)

}.to raise_error(DropboxApi::Errors::TooManyWriteOperationsError)
end

it "raises an exception with info to retry", :cassette => "upload/too_many_write_operations" do
expect {
@client.upload("/file.txt", "Hello Dropbox!")
100.times.map do |n|
Thread.new do
@client.upload("#{path_prefix}/file_#{n}.txt", "Hello Dropbox!")
end
end.each(&:join)
}.to raise_error { |error|
expect(error.retry_after).to eq(1)
}
Expand Down
24 changes: 13 additions & 11 deletions spec/fixtures/vcr_cassettes/upload/success.yml

Some generated files are not rendered by default. Learn more about how customized files appear on GitHub.

26 changes: 14 additions & 12 deletions spec/fixtures/vcr_cassettes/upload/success_add.yml

Some generated files are not rendered by default. Learn more about how customized files appear on GitHub.

26 changes: 14 additions & 12 deletions spec/fixtures/vcr_cassettes/upload/success_client_modified.yml

Some generated files are not rendered by default. Learn more about how customized files appear on GitHub.

26 changes: 14 additions & 12 deletions spec/fixtures/vcr_cassettes/upload/success_overwrite.yml

Some generated files are not rendered by default. Learn more about how customized files appear on GitHub.

Loading

0 comments on commit 0b6e55e

Please sign in to comment.