Sha256: 45b438c242e5fd31d0dd2849cef1d83cc898f2f1b79023a83fd62ec6c429ce6d

Contents?: true

Size: 1.17 KB

Versions: 25

Compression:

Stored size: 1.17 KB

Contents

require 'spec_helper'
require 'protobuf/socket'

RSpec.shared_examples "a Protobuf Connector" do
  subject { described_class.new({}) }

  context "API" do
    # Check the API
    specify { expect(subject.respond_to?(:send_request, true)).to be true }
    specify { expect(subject.respond_to?(:post_init, true)).to be true }
    specify { expect(subject.respond_to?(:close_connection, true)).to be true }
    specify { expect(subject.respond_to?(:error?, true)).to be true }
  end
end

RSpec.describe Protobuf::Rpc::Connectors::Socket do
  subject { described_class.new({}) }

  it_behaves_like "a Protobuf Connector"

  specify { expect(described_class.include?(Protobuf::Rpc::Connectors::Common)).to be true }

  context "#read_response" do
    let(:data) { "New data" }

    it "fills the buffer with data from the socket" do
      socket = StringIO.new("#{data.bytesize}-#{data}")
      subject.instance_variable_set(:@socket, socket)
      subject.instance_variable_set(:@stats, OpenStruct.new)
      expect(subject).to receive(:parse_response).and_return(true)

      subject.__send__(:read_response)
      expect(subject.instance_variable_get(:@response_data)).to eq(data)
    end
  end
end

Version data entries

25 entries across 25 versions & 2 rubygems

Version Path
protobuf-3.6.12 spec/lib/protobuf/rpc/connectors/socket_spec.rb
protobuf-3.6.11 spec/lib/protobuf/rpc/connectors/socket_spec.rb
protobuf-3.6.10 spec/lib/protobuf/rpc/connectors/socket_spec.rb
protobuf-3.7.0.pre2 spec/lib/protobuf/rpc/connectors/socket_spec.rb
protobuf-3.6.9 spec/lib/protobuf/rpc/connectors/socket_spec.rb
protobuf-3.7.0.pre1 spec/lib/protobuf/rpc/connectors/socket_spec.rb
protobuf-3.7.0.pre0 spec/lib/protobuf/rpc/connectors/socket_spec.rb
protobuf-3.6.7 spec/lib/protobuf/rpc/connectors/socket_spec.rb
protobuf-3.6.6 spec/lib/protobuf/rpc/connectors/socket_spec.rb
protobuf-3.6.2 spec/lib/protobuf/rpc/connectors/socket_spec.rb
protobuf-3.6.1 spec/lib/protobuf/rpc/connectors/socket_spec.rb
protobuf-3.6.0 spec/lib/protobuf/rpc/connectors/socket_spec.rb
protobuf-3.5.5 spec/lib/protobuf/rpc/connectors/socket_spec.rb
protobuf-3.5.4 spec/lib/protobuf/rpc/connectors/socket_spec.rb
protobuf-3.5.3 spec/lib/protobuf/rpc/connectors/socket_spec.rb
protobuf-3.5.2 spec/lib/protobuf/rpc/connectors/socket_spec.rb
protobuf-3.5.1 spec/lib/protobuf/rpc/connectors/socket_spec.rb
prepor-protobuf-3.5.1 spec/lib/protobuf/rpc/connectors/socket_spec.rb
prepor-protobuf-3.5.0 spec/lib/protobuf/rpc/connectors/socket_spec.rb
protobuf-3.5.0 spec/lib/protobuf/rpc/connectors/socket_spec.rb