Sha256: b4fe50042f2bb98b456228ea98d5a268fecea8df04f8cb7d942a4c5f989002bd

Contents?: true

Size: 1.73 KB

Versions: 99

Compression:

Stored size: 1.73 KB

Contents

require 'spec_helper'
require 'spec/support/test/resource_service'

describe 'Functional EventMachine Client' do
  before(:each) do
    load 'protobuf/evented.rb'
  end

  it 'runs fine when required fields are set' do
    expect {
      EventMachine.fiber_run do
        StubServer.new do |server|
          client = ::Test::ResourceService.client(:timeout => 5)

          client.find(:name => 'Test Name', :active => true) do |c|
            c.on_success do |succ|
              succ.name.should eq("Test Name")
              succ.status.should eq(::Test::StatusType::ENABLED)
            end

            c.on_failure do |err|
              raise err.inspect
            end
          end
        end
        EM.stop
      end
    }.to_not raise_error
  end

  it 'calls the on_failure callback when a message is malformed' do
    error = nil
    EventMachine.fiber_run do
      StubServer.new do |server|
        request = ::Test::ResourceFindRequest.new(:active => true)
        client = ::Test::ResourceService.client

        client.find(request) do |c|
          c.on_success { raise "shouldn't pass"}
          c.on_failure {|e| error = e}
        end
      end
      EM.stop
    end
    error.message.should =~ /name.*required/
  end

  it 'calls the on_failure callback when the request type is wrong' do
    error = nil
    EventMachine.fiber_run do
      StubServer.new do |server|
        request = ::Test::Resource.new(:name => 'Test Name')
        client = ::Test::ResourceService.client

        client.find(request) do |c|
          c.on_success { raise "shouldn't pass"}
          c.on_failure {|e| error = e}
        end
      end
      EM.stop
    end
    error.message.should =~ /expected request.*ResourceFindRequest.*Resource instead/i
  end
end

Version data entries

99 entries across 99 versions & 1 rubygems

Version Path
protobuf-2.8.13 spec/functional/evented_server_spec.rb
protobuf-2.8.12 spec/functional/evented_server_spec.rb
protobuf-2.8.11 spec/functional/evented_server_spec.rb
protobuf-2.8.10 spec/functional/evented_server_spec.rb
protobuf-2.8.9 spec/functional/evented_server_spec.rb
protobuf-2.8.8 spec/functional/evented_server_spec.rb
protobuf-2.8.7 spec/functional/evented_server_spec.rb
protobuf-2.8.6 spec/functional/evented_server_spec.rb
protobuf-2.7.12 spec/functional/evented_server_spec.rb
protobuf-2.8.5 spec/functional/evented_server_spec.rb
protobuf-2.8.4 spec/functional/evented_server_spec.rb
protobuf-2.8.3 spec/functional/evented_server_spec.rb
protobuf-2.8.2 spec/functional/evented_server_spec.rb
protobuf-2.8.1 spec/functional/evented_server_spec.rb
protobuf-2.8.0 spec/functional/evented_server_spec.rb
protobuf-2.8.0.beta9-java spec/functional/evented_server_spec.rb
protobuf-2.8.0.beta9 spec/functional/evented_server_spec.rb
protobuf-2.8.0.beta8-java spec/functional/evented_server_spec.rb
protobuf-2.8.0.beta8 spec/functional/evented_server_spec.rb
protobuf-2.8.0.beta6-java spec/functional/evented_server_spec.rb