Sha256: ac2459964b15864f27b2c44b9a73ba8f3d7c125468a9afb5608031f33693b021

Contents?: true

Size: 1.55 KB

Versions: 35

Compression:

Stored size: 1.55 KB

Contents

require 'spec_helper'

RSpec.describe Protobuf::Rpc::Middleware::Logger do
  let(:app) { proc { |inner_env| inner_env } }
  let(:env) do
    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,
    )
  end
  let(:method_name) { :find }
  let(:request) { request_type.new(:name => 'required') }
  let(:request_type) { rpc_method.request_type }
  let(:request_wrapper) do
    ::Protobuf::Socketrpc::Request.new(
      :service_name => service_name,
      :method_name => method_name.to_s,
      :request_proto => request,
    )
  end
  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
      expect(app).to receive(:call).with(env).and_return(env)
      subject.call(env)
    end

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

Version data entries

35 entries across 35 versions & 2 rubygems

Version Path
protobuf-3.8.5.pre0 spec/lib/protobuf/rpc/middleware/logger_spec.rb
protobuf-3.8.4 spec/lib/protobuf/rpc/middleware/logger_spec.rb
protobuf-3.8.3 spec/lib/protobuf/rpc/middleware/logger_spec.rb
protobuf-3.8.2 spec/lib/protobuf/rpc/middleware/logger_spec.rb
protobuf-3.8.1 spec/lib/protobuf/rpc/middleware/logger_spec.rb
protobuf-3.8.0 spec/lib/protobuf/rpc/middleware/logger_spec.rb
protobuf-3.8.0.pre1 spec/lib/protobuf/rpc/middleware/logger_spec.rb
protobuf-3.7.5 spec/lib/protobuf/rpc/middleware/logger_spec.rb
protobuf-3.7.4 spec/lib/protobuf/rpc/middleware/logger_spec.rb
protobuf-3.7.3 spec/lib/protobuf/rpc/middleware/logger_spec.rb
protobuf-3.7.2 spec/lib/protobuf/rpc/middleware/logger_spec.rb
protobuf-3.7.2.pre1 spec/lib/protobuf/rpc/middleware/logger_spec.rb
protobuf-3.7.1 spec/lib/protobuf/rpc/middleware/logger_spec.rb
protobuf-3.7.0 spec/lib/protobuf/rpc/middleware/logger_spec.rb
protobuf-3.7.0.pre3 spec/lib/protobuf/rpc/middleware/logger_spec.rb