spec/integration/resume_download_spec.rb in rmega-0.2.7 vs spec/integration/resume_download_spec.rb in rmega-0.3.1
- old
+ new
@@ -1,11 +1,11 @@
require 'integration_spec_helper'
module Rmega
describe 'Resumable download' do
- let(:download_url) { 'https://mega.nz/#!oAhCnBKR!CPeG8X92nBjvFsBF9EprZNW_TqIUwItHMkF9G2IZEIo' }
+ let(:download_url) { 'https://mega.nz/file/3zpE1ToL#B1L4o8POE4tER4h1tyVoGNxaXFhbjwfxhe3Eyp9nrN8' }
let(:destination_file) { "#{temp_folder}/temp.txt" }
before do
Thread.abort_on_exception = false if Thread.respond_to?(:abort_on_exception)
@@ -13,30 +13,29 @@
allow_any_instance_of(Pool).to receive(:threads_raises_exceptions).and_return(nil)
end
it 'resume a download of a file' do
node = Nodes::Factory.build_from_url(download_url)
- content = nil
-
+
thread = Thread.new do
node.download(destination_file)
end
-
+
loop do
next unless File.exists?(destination_file)
+ content = nil
node.file_io_synchronize { content = File.read(destination_file) }
- content.strip!
- break if content.size > 5_000_000
- sleep(0.5)
+ break if content.force_encoding("BINARY").strip.size > 2_000_000
+ sleep(0.1)
end
thread.kill
sleep(2)
node.download(destination_file)
md5 = Digest::MD5.file(destination_file).hexdigest
- expect(md5).to eq("0451dc82ac003dbef703342e40a1b8f6")
+ expect(md5).to eq("a92ec9994911866e3ea31aa1d914ac23")
end
end
end