Sha256: 69be393a7fb5459e0e024d440800338156ccdda8140c2f7161659901e996a8fb

Contents?: true

Size: 1.92 KB

Versions: 10

Compression:

Stored size: 1.92 KB

Contents

require 'spec_helper'

describe API do
  it 'initialize should raise an error with invalid endpoint' do
    expect {
      API.new(nil, :endpoint => 'smtp://api.tester.com:1000')
    }.to raise_error(RuntimeError, /Invalid endpoint:/)
  end

  VALID_NAMES = [
    'abc',
    'abc_cd',
    '_abc_cd',
    '_abc_',
    'ab0_',
    'ab0',
  ]

  INVALID_NAMES = {
    'a' => 'a__',
    'a'*257 => 'a'*254+'__',
    'abcD' => 'abcd',
    'a-b*' => 'a_b_',
  }

  describe 'normalizer' do
    it 'normalize_database_name should return normalized data' do
      INVALID_NAMES.each_pair {|ng,ok|
        API.normalize_database_name(ng).should == ok
      }
      lambda {
        API.normalize_database_name('')
      }.should raise_error(RuntimeError)
    end

    it 'normalize_table_name should return normalized data' do
      INVALID_NAMES.each_pair {|ng,ok|
        API.normalize_table_name(ng).should == ok
      }
      lambda {
        API.normalize_table_name('')
      }.should raise_error(RuntimeError)
    end

    it 'normalize_database_name should return valid data' do
      VALID_NAMES.each {|ok|
        API.normalize_database_name(ok).should == ok
      }
    end
  end

  describe 'validator' do
    it 'validate_database_name should raise errors' do
      INVALID_NAMES.each_pair {|ng,ok|
        lambda {
          API.validate_database_name(ng)
        }.should raise_error(RuntimeError)
      }
      lambda {
        API.validate_database_name('')
      }.should raise_error(RuntimeError)
    end

    it 'validate_table_name should raise errors' do
      INVALID_NAMES.each_pair {|ng,ok|
        lambda {
          API.validate_table_name(ng)
        }.should raise_error(RuntimeError)
      }
      lambda {
        API.validate_table_name('')
      }.should raise_error(RuntimeError)
    end

    it 'validate_database_name should return valid data' do
      VALID_NAMES.each {|ok|
        API.validate_database_name(ok)
      }
    end
  end
end

Version data entries

10 entries across 10 versions & 1 rubygems

Version Path
td-client-0.8.52 spec/td/client/api_spec.rb
td-client-0.8.51 spec/td/client/api_spec.rb
td-client-0.8.50 spec/td/client/api_spec.rb
td-client-0.8.49 spec/td/client/api_spec.rb
td-client-0.8.48 spec/td/client/api_spec.rb
td-client-0.8.47 spec/td/client/api_spec.rb
td-client-0.8.46 spec/td/client/api_spec.rb
td-client-0.8.45 spec/td/client/api_spec.rb
td-client-0.8.44 spec/td/client/api_spec.rb
td-client-0.8.43 spec/td/client/api_spec.rb