Sha256: 3aa13eff388fb6a2dbafffde3a44cfa4de72d958f49abe1186b1ef3a31f6954c

Contents?: true

Size: 1.58 KB

Versions: 10

Compression:

Stored size: 1.58 KB

Contents

require 'spec/spec_helper'

class RiddleSpecConnectionProcError < StandardError; end

describe "Sphinx Client" do
  before :each do
    @client = Riddle::Client.new("localhost", 9313)
  end

  after :each do
    Riddle::Client.connection = nil
  end
  
  describe '.connection' do
    it "should use the given block" do
      Riddle::Client.connection = lambda { |client|
        TCPsocket.new(client.server, client.port)
      }
      @client.query("smith").should be_kind_of(Hash)
    end
    
    it "should fail with errors from the given block" do
      Riddle::Client.connection = lambda { |client|
        raise RiddleSpecConnectionProcError
      }
      lambda { @client.query("smith") }.
        should raise_error(RiddleSpecConnectionProcError)
    end
  end
  
  describe '#connection' do
    it "use the given block" do
      @client.connection = lambda { |client|
        TCPsocket.new(client.server, client.port)
      }
      @client.query("smith").should be_kind_of(Hash)
    end

    it "should fail with errors from the given block" do
      @client.connection = lambda { |client|
        raise RiddleSpecConnectionProcError
      }
      lambda { @client.query("smith") }.
        should raise_error(RiddleSpecConnectionProcError)
    end

    it "should prioritise instance over class connection" do
      Riddle::Client.connection = lambda { |client|
        raise RiddleSpecConnectionProcError
      }
      @client.connection = lambda { |client|
        TCPsocket.new(client.server, client.port)
      }
    
      lambda { @client.query("smith") }.should_not raise_error
    end
  end
end

Version data entries

10 entries across 10 versions & 1 rubygems

Version Path
riddle-1.2.2 spec/functional/connection_spec.rb
riddle-1.2.1 spec/functional/connection_spec.rb
riddle-1.2.0 spec/functional/connection_spec.rb
riddle-1.1.0 spec/functional/connection_spec.rb
riddle-1.0.12 spec/functional/connection_spec.rb
riddle-1.0.11 spec/functional/connection_spec.rb
riddle-1.0.10 spec/functional/connection_spec.rb
riddle-1.0.9 spec/functional/connection_spec.rb
riddle-1.0.8 spec/functional/connection_spec.rb
riddle-1.0.7 spec/functional/connection_spec.rb