mirror of
https://github.com/samsonjs/grape_logging.git
synced 2026-03-25 08:55:47 +00:00
Merge pull request #94 from leoarnold/leoarnold/ostruct
Remove OpenStruct
This commit is contained in:
commit
48ab8c414b
6 changed files with 37 additions and 41 deletions
|
|
@ -2,6 +2,7 @@ inherit_from: .rubocop_todo.yml
|
|||
|
||||
AllCops:
|
||||
NewCops: enable
|
||||
TargetRubyVersion: 3.0
|
||||
|
||||
Metrics/BlockLength:
|
||||
CountAsOne: [array, hash, heredoc, method_call]
|
||||
|
|
|
|||
|
|
@ -31,7 +31,7 @@ module GrapeLogging
|
|||
def clean_parameters(parameters)
|
||||
original_encoding_map = build_encoding_map(parameters)
|
||||
params = transform_key_encoding(parameters, Hash.new { |h, _| [Encoding::ASCII_8BIT, h] })
|
||||
cleaned_params = parameter_filter.filter(params).reject { |key, _value| @exceptions.include?(key) }
|
||||
cleaned_params = parameter_filter.filter(params).except(*@exceptions)
|
||||
transform_key_encoding(cleaned_params, original_encoding_map)
|
||||
end
|
||||
|
||||
|
|
|
|||
|
|
@ -1,5 +1,4 @@
|
|||
require 'spec_helper'
|
||||
require 'ostruct'
|
||||
|
||||
describe GrapeLogging::Loggers::ClientEnv do
|
||||
let(:ip) { '10.0.0.1' }
|
||||
|
|
@ -9,7 +8,7 @@ describe GrapeLogging::Loggers::ClientEnv do
|
|||
|
||||
context 'forwarded for' do
|
||||
let(:mock_request) do
|
||||
OpenStruct.new(env: {
|
||||
instance_double(Rack::Request, env: {
|
||||
'HTTP_X_FORWARDED_FOR' => forwarded_for
|
||||
})
|
||||
end
|
||||
|
|
@ -26,7 +25,7 @@ describe GrapeLogging::Loggers::ClientEnv do
|
|||
|
||||
context 'remote address' do
|
||||
let(:mock_request) do
|
||||
OpenStruct.new(env: {
|
||||
instance_double(Rack::Request, env: {
|
||||
'REMOTE_ADDR' => remote_addr
|
||||
})
|
||||
end
|
||||
|
|
@ -38,7 +37,7 @@ describe GrapeLogging::Loggers::ClientEnv do
|
|||
|
||||
context 'user agent' do
|
||||
let(:mock_request) do
|
||||
OpenStruct.new(env: {
|
||||
instance_double(Rack::Request, env: {
|
||||
'HTTP_USER_AGENT' => user_agent
|
||||
})
|
||||
end
|
||||
|
|
|
|||
|
|
@ -1,11 +1,10 @@
|
|||
require 'spec_helper'
|
||||
require 'ostruct'
|
||||
|
||||
describe GrapeLogging::Loggers::FilterParameters do
|
||||
let(:filtered_parameters) { %w[one four] }
|
||||
|
||||
let(:mock_request) do
|
||||
OpenStruct.new(params: {
|
||||
instance_double(Rack::Request, params: {
|
||||
'this_one' => 'this one',
|
||||
'that_one' => 'one',
|
||||
'two' => 'two',
|
||||
|
|
@ -17,13 +16,12 @@ describe GrapeLogging::Loggers::FilterParameters do
|
|||
|
||||
let(:mock_request_with_deep_nesting) do
|
||||
deep_clone = -> { Marshal.load Marshal.dump mock_request.params }
|
||||
OpenStruct.new(
|
||||
instance_double(Rack::Request,
|
||||
params: deep_clone.call.merge(
|
||||
'five' => deep_clone.call.merge(
|
||||
deep_clone.call.merge({ 'six' => { 'seven' => 'seven', 'eight' => 'eight', 'one' => 'another one' } })
|
||||
)
|
||||
)
|
||||
)
|
||||
))
|
||||
end
|
||||
|
||||
let(:subject) do
|
||||
|
|
@ -79,7 +77,7 @@ describe GrapeLogging::Loggers::FilterParameters do
|
|||
end
|
||||
|
||||
context 'with symbol keys, which occur during automated testing' do
|
||||
let(:mock_request) { OpenStruct.new(params: { sneaky_symbol: 'hey!' }) }
|
||||
let(:mock_request) { instance_double(Rack::Request, params: { sneaky_symbol: 'hey!' }) }
|
||||
|
||||
it 'converts keys to strings' do
|
||||
expect(subject.parameters(mock_request, nil)).to eq(params: {
|
||||
|
|
|
|||
|
|
@ -1,20 +1,19 @@
|
|||
require 'spec_helper'
|
||||
require 'ostruct'
|
||||
|
||||
describe GrapeLogging::Loggers::RequestHeaders do
|
||||
let(:mock_request) do
|
||||
OpenStruct.new(env: { HTTP_REFERER: 'http://example.com', HTTP_ACCEPT: 'text/plain' })
|
||||
instance_double(Rack::Request, env: { HTTP_REFERER: 'http://example.com', HTTP_ACCEPT: 'text/plain' })
|
||||
end
|
||||
|
||||
let(:mock_request_with_unhandled_headers) do
|
||||
OpenStruct.new(env: {
|
||||
instance_double(Rack::Request, env: {
|
||||
HTTP_REFERER: 'http://example.com',
|
||||
'PATH_INFO' => '/api/v1/users'
|
||||
})
|
||||
end
|
||||
|
||||
let(:mock_request_with_long_headers) do
|
||||
OpenStruct.new(env: {
|
||||
instance_double(Rack::Request, env: {
|
||||
HTTP_REFERER: 'http://example.com',
|
||||
HTTP_USER_AGENT: 'Mozilla/5.0'
|
||||
})
|
||||
|
|
|
|||
|
|
@ -1,10 +1,9 @@
|
|||
require 'spec_helper'
|
||||
require 'ostruct'
|
||||
|
||||
describe GrapeLogging::Loggers::Response do
|
||||
context 'with a parseable JSON body' do
|
||||
let(:response) do
|
||||
OpenStruct.new(body: [{ one: 'two', three: { four: 5 } }])
|
||||
instance_double(Rack::Request, body: [{ one: 'two', three: { four: 5 } }])
|
||||
end
|
||||
|
||||
it 'returns an array of parsed JSON objects' do
|
||||
|
|
@ -14,7 +13,7 @@ describe GrapeLogging::Loggers::Response do
|
|||
|
||||
context 'with a body that is not parseable JSON' do
|
||||
let(:response) do
|
||||
OpenStruct.new(body: 'this is a body')
|
||||
instance_double(Rack::Request, body: 'this is a body')
|
||||
end
|
||||
|
||||
it 'just returns the body' do
|
||||
|
|
|
|||
Loading…
Reference in a new issue