Sha256: a594822652ec4c12288337e8b91e9c4af4b52e22644048b774ca43e79d00f2d5

Contents?: true

Size: 1.52 KB

Versions: 11

Compression:

Stored size: 1.52 KB

Contents

require 'sequenceserver'
require 'minitest/spec'
require 'minitest/autorun'
require 'rack/test'

ENV['RACK_ENV'] = 'test'

module SequenceServer
  describe "App" do
    include Rack::Test::Methods

    def app
      App
    end

    def setup
      @params = {'method' => 'blastn', 'sequence' => 'AGCTAGCTAGCT', 'databases' => ['123']}
    end

    it 'returns Bad Request (400) if no blast method is provided' do
      @params.delete('method')
      post '/', @params
      last_response.status.must_equal 400
    end

    it 'returns Bad Request (400) if no input sequence is provided' do
      @params.delete('sequence')
      post '/', @params
      last_response.status.must_equal 400
    end

    it 'returns Bad Request (400) if no database id is provided' do
      @params.delete('databases')
      post '/', @params
      last_response.status.must_equal 400
    end

    it 'returns Bad Request (400) if an empty database list is provided' do
      @params['databases'].pop

      # ensure the list of databases is empty
      @params['databases'].length.must_equal 0

      post '/', @params
      last_response.status.must_equal 400
    end

    it 'returns Bad Request (400) if an incorrect blast method is supplied' do
      @params['method'] = 'foo'
      post '/', @params
      last_response.status.must_equal 400
    end

    it 'returns Bad Request (400) if incorrect advanced params are supplied' do
      @params['advanced'] = '-word_size 5; rm -rf /'
      post '/', @params
      last_response.status.must_equal 400
    end
  end
end

Version data entries

11 entries across 11 versions & 2 rubygems

Version Path
sequenceserver-0.8.9 tests/test_sequenceserver_blast.rb
sequenceserver-0.8.7 tests/test_sequenceserver_blast.rb
sequenceserver-0.8.7.beta1 tests/test_sequenceserver_blast.rb
sequenceserver-beta-0.8.7.beta1 tests/test_sequenceserver_blast.rb
sequenceserver-0.8.6 tests/test_sequenceserver_blast.rb
sequenceserver-0.8.5 tests/test_sequenceserver_blast.rb
sequenceserver-0.8.4 tests/test_sequenceserver_blast.rb
sequenceserver-0.8.3 tests/test_sequenceserver_blast.rb
sequenceserver-0.8.2 tests/test_sequenceserver_blast.rb
sequenceserver-0.8.1 tests/test_sequenceserver_blast.rb
sequenceserver-0.8.0 tests/test_sequenceserver_blast.rb