Sha256: e836908069fe35f4b456b47f2ddf3840d44d06f7d91c561d256fdd723ebf8c2a

Contents?: true

Size: 1.5 KB

Versions: 2

Compression:

Stored size: 1.5 KB

Contents

require 'spec_helper'

describe Protobuf::Rpc::Middleware::Logger do
  let(:app) { Proc.new { |env| env } }
  let(:env) {
    Protobuf::Rpc::Env.new(
      'client_host' => 'client_host.test.co',
      'encoded_request' => request_wrapper.encode,
      'encoded_response' => response_wrapper.encode,
      'method_name' => method_name,
      'request' => request,
      'request_type' => rpc_method.request_type,
      'response' => response,
      'response_type' => rpc_method.response_type,
      'rpc_method' => rpc_method,
      'rpc_service' => service_class,
      'service_name' => service_name,
    )
  }
  let(:method_name) { :find }
  let(:request) { request_type.new(:name => 'required') }
  let(:request_type) { rpc_method.request_type }
  let(:request_wrapper) {
    Protobuf::Socketrpc::Request.new(
      :service_name => service_name,
      :method_name => method_name.to_s,
      :request_proto => request
    )
  }
  let(:response_wrapper) { Protobuf::Socketrpc::Response.new(:response_proto => response) }
  let(:response) { rpc_method.response_type.new(:name => 'required') }
  let(:rpc_method) { service_class.rpcs[method_name] }
  let(:rpc_service) { service_class.new(env) }
  let(:service_class) { Test::ResourceService }
  let(:service_name) { service_class.to_s }

  subject { described_class.new(app) }

  describe "#call" do
    it "calls the stack" do
      app.should_receive(:call).with(env)
      subject.call(env)
    end

    it "returns the env" do
      subject.call(env).should eq env
    end
  end
end

Version data entries

2 entries across 2 versions & 1 rubygems

Version Path
protobuf-3.0.0.rc2 spec/lib/protobuf/rpc/middleware/logger_spec.rb
protobuf-3.0.0.rc1 spec/lib/protobuf/rpc/middleware/logger_spec.rb