Sha256: 7f5f33f1f22f3a8818094037e362f9f6ce1a546b11e9d6480370ae1203584774

Contents?: true

Size: 1.91 KB

Versions: 20

Compression:

Stored size: 1.91 KB

Contents

require 'spec_helper'
require 'td/client/spec_resources'

describe 'BulkImport API' do
  include_context 'spec symbols'
  include_context 'common helper'

  let :api do
    API.new(nil)
  end

  describe 'create_bulk_import' do
    it 'should create a new bulk_import' do
      stub_api_request(:post, "/v3/bulk_import/create/#{e(bi_name)}/#{e(db_name)}/#{e(table_name)}")
        .to_return(:body => {'bulk_import' => bi_name}.to_json)

      api.create_bulk_import(bi_name, db_name, table_name).should be_nil
    end

    it 'should return 422 error with invalid name' do
      name = '1'
      err_msg = "Validation failed: Name is too short" # " (minimum is 3 characters)"
      stub_api_request(:post, "/v3/bulk_import/create/#{e(name)}/#{e(db_name)}/#{e(table_name)}")
        .to_return(:status => 404, :body => {'message' => err_msg}.to_json)

      expect {
        api.create_bulk_import(name, db_name, table_name)
      }.to raise_error(TreasureData::APIError, /^#{err_msg}/)
    end

    it 'should return 404 error with non exist database name' do
      db = 'no_such_db'
      err_msg = "Couldn't find UserDatabase with name = #{db}"
      stub_api_request(:post, "/v3/bulk_import/create/#{e(bi_name)}/#{e(db)}/#{e(table_name)}")
        .to_return(:status => 404, :body => {'message' => err_msg}.to_json)

      expect {
        api.create_bulk_import(bi_name, db, table_name)
      }.to raise_error(TreasureData::APIError, /^#{err_msg}/)
    end

    it 'should return 404 error with non exist table name' do
      table = 'no_such_table'
      err_msg = "Couldn't find UserTableReference with name = #{table}"
      stub_api_request(:post, "/v3/bulk_import/create/#{e(bi_name)}/#{e(db_name)}/#{e(table)}")
        .to_return(:status => 404, :body => {'message' => err_msg}.to_json)

      expect {
        api.create_bulk_import(bi_name, db_name, table)
      }.to raise_error(TreasureData::APIError, /^#{err_msg}/)
    end
  end
end

Version data entries

20 entries across 20 versions & 1 rubygems

Version Path
td-client-0.8.62 spec/td/client/bulk_import_spec.rb
td-client-0.8.61 spec/td/client/bulk_import_spec.rb
td-client-0.8.60 spec/td/client/bulk_import_spec.rb
td-client-0.8.59 spec/td/client/bulk_import_spec.rb
td-client-0.8.58 spec/td/client/bulk_import_spec.rb
td-client-0.8.57 spec/td/client/bulk_import_spec.rb
td-client-0.8.56 spec/td/client/bulk_import_spec.rb
td-client-0.8.55 spec/td/client/bulk_import_spec.rb
td-client-0.8.54 spec/td/client/bulk_import_spec.rb
td-client-0.8.53 spec/td/client/bulk_import_spec.rb
td-client-0.8.52 spec/td/client/bulk_import_spec.rb
td-client-0.8.51 spec/td/client/bulk_import_spec.rb
td-client-0.8.50 spec/td/client/bulk_import_spec.rb
td-client-0.8.49 spec/td/client/bulk_import_spec.rb
td-client-0.8.48 spec/td/client/bulk_import_spec.rb
td-client-0.8.47 spec/td/client/bulk_import_spec.rb
td-client-0.8.46 spec/td/client/bulk_import_spec.rb
td-client-0.8.45 spec/td/client/bulk_import_spec.rb
td-client-0.8.44 spec/td/client/bulk_import_spec.rb
td-client-0.8.43 spec/td/client/bulk_import_spec.rb