X-Git-Url: https://coquelicot.potager.org/gitweb/?p=coquelicot.git;a=blobdiff_plain;f=test_coquelicot.rb;h=759dc379dc35c3eb3fe05b264a4222c3130b2d01;hp=ce1929a6fa9d362f7bc97f4c927b71e87490da40;hb=da90f4f11eca1ee096aee0fc178cb53788a2a97a;hpb=90ff7297c2b6972f7628872315ae18d302442a79 diff --git a/test_coquelicot.rb b/test_coquelicot.rb index ce1929a..759dc37 100644 --- a/test_coquelicot.rb +++ b/test_coquelicot.rb @@ -1,6 +1,3 @@ -$:.unshift File.join(File.dirname(__FILE__), '../rack-test/lib') -$:.unshift File.join(File.dirname(__FILE__), '../timecop/lib') - require 'coquelicot_app' require 'spec' require 'rack/test' @@ -19,7 +16,7 @@ describe 'Coquelicot' do def upload(opts={}) opts = { :file => Rack::Test::UploadedFile.new(__FILE__, 'text/x-script.ruby'), - :upload_password => UPLOAD_PASSWORD + :upload_token => JSON.dump({ 'upload_password' => UPLOAD_PASSWORD}) }.merge(opts) post '/upload', opts return nil unless last_response.redirect? @@ -31,8 +28,11 @@ describe 'Coquelicot' do end before do - app.set :environment, :test + # set a special test password app.set :upload_password, Digest::SHA1.hexdigest(UPLOAD_PASSWORD) + + app.set :environment, :test + app.set :depot_path, Dir.mktmpdir('coquelicot') end @@ -117,26 +117,26 @@ describe 'Coquelicot' do end it "should prevent upload without a password" do - url = upload :upload_password => '' + url = upload :upload_token => JSON.dump({'upload_password' => ''}) url.should be_nil last_response.status.should eql(403) end it "should prevent upload with a wrong password" do - url = upload :upload_password => "bad" + url = upload :upload_token => JSON.dump({'upload_password' => 'bad'}) url.should be_nil last_response.status.should eql(403) end it "should allow AJAX upload password verification" do request "/authenticate", :method => "POST", :xhr => true, - :params => { :upload_password => UPLOAD_PASSWORD } + :params => { :upload_token => { 'upload_password' => UPLOAD_PASSWORD } } last_response.should be_ok request "/authenticate", :method => "POST", :xhr => true, - :params => { :upload_password => '' } + :params => { :upload_token => '{}' } last_response.status.should eql(403) request "/authenticate", :method => "POST", :xhr => true, - :params => { :upload_password => 'wrong' } + :params => { :upload_token => JSON.dump({'upload_password' => 'wrong'}) } last_response.status.should eql(403) end