Skip to content

Commit

Permalink
Fix styling
Browse files Browse the repository at this point in the history
  • Loading branch information
klaustopher committed Jan 28, 2023
1 parent bcd32ac commit ae4fbad
Show file tree
Hide file tree
Showing 4 changed files with 88 additions and 38 deletions.
21 changes: 17 additions & 4 deletions spec/ripcord/client_spec.rb
Original file line number Diff line number Diff line change
Expand Up @@ -56,8 +56,10 @@

expect(WebMock).to have_requested(:post, 'http://some-server.com/rpc-endpoint')
.with(
headers: { 'Content-Type' => 'application/json',
'Authorization' => "Basic #{Base64.strict_encode64('user:password')}" },
headers: {
'Content-Type' => 'application/json',
'Authorization' => "Basic #{Base64.strict_encode64('user:password')}"
},
body: '{"jsonrpc":"2.0","method":"person.create","params":{"name":"Clark Kent"},"id":"1"}'
)
end
Expand All @@ -82,7 +84,13 @@
expect(WebMock).to have_requested(:post, 'http://some-server.com/rpc-endpoint')
.with(
headers: { 'Content-Type' => 'application/json' },
body: '{"jsonrpc":"2.0","method":"person.create","params":{"name":"Clark Kent"},"id":"1","token":"some-token"}'
body: {
jsonrpc: '2.0',
method: 'person.create',
params: { name: 'Clark Kent' },
id: '1',
token: 'some-token'
}.to_json
)
end
end
Expand Down Expand Up @@ -121,7 +129,12 @@

context 'Batch Response (Array)' do
it 'correctly parses an array response into an array of JsonRPC::Response objects' do
allow(http_response).to receive(:body).and_return('[{"jsonrpc":"2.0","result":50,"id":"1"}, {"jsonrpc":"2.0","result":20,"id":"2"}]')
allow(http_response).to receive(:body).and_return(<<~BODY)
[
{"jsonrpc":"2.0","result":50,"id":"1"},
{"jsonrpc":"2.0","result":20,"id":"2"}
]
BODY

expect(Ripcord::JsonRPC::Response).to receive(:from_data).once.with({ jsonrpc: '2.0', result: 50, id: '1' })
expect(Ripcord::JsonRPC::Response).to receive(:from_data).once.with({ jsonrpc: '2.0', result: 20, id: '2' })
Expand Down
12 changes: 7 additions & 5 deletions spec/ripcord/json_rpc/notification_spec.rb
Original file line number Diff line number Diff line change
Expand Up @@ -6,11 +6,13 @@

describe '#to_payload' do
it 'generates a payload hash for given params' do
expect(subject.to_payload).to eq({
jsonrpc: '2.0',
method: 'track.event',
params: { event: 'register', user_id: 4711 }
})
expect(subject.to_payload).to eq(
{
jsonrpc: '2.0',
method: 'track.event',
params: { event: 'register', user_id: 4711 }
}
)
end
end
end
40 changes: 23 additions & 17 deletions spec/ripcord/json_rpc/request_spec.rb
Original file line number Diff line number Diff line change
Expand Up @@ -8,33 +8,39 @@

describe '#to_payload' do
it 'generates a payload hash for given params' do
expect(subject.to_payload).to eq({
jsonrpc: '2.0',
method: 'person.create',
id: '671004c7c95e279fec1e1b055ed81723',
params: { name: 'Clark Kent' }
})
expect(subject.to_payload).to eq(
{
jsonrpc: '2.0',
method: 'person.create',
id: '671004c7c95e279fec1e1b055ed81723',
params: { name: 'Clark Kent' }
}
)
end

it 'allows array as params' do
subject.params = %w[foo bar]
expect(subject.to_payload).to eq({
jsonrpc: '2.0',
method: 'person.create',
id: '671004c7c95e279fec1e1b055ed81723',
params: %w[foo bar]
})
expect(subject.to_payload).to eq(
{
jsonrpc: '2.0',
method: 'person.create',
id: '671004c7c95e279fec1e1b055ed81723',
params: %w[foo bar]
}
)
end

['some string', 4711, 2.5, true, nil].each do |param_value|
it "omits simple param types (#{param_value.class})" do
subject.params = param_value

expect(subject.to_payload).to eq({
jsonrpc: '2.0',
method: 'person.create',
id: '671004c7c95e279fec1e1b055ed81723'
})
expect(subject.to_payload).to eq(
{
jsonrpc: '2.0',
method: 'person.create',
id: '671004c7c95e279fec1e1b055ed81723'
}
)
end
end
end
Expand Down
53 changes: 41 additions & 12 deletions spec/ripcord/json_rpc/response_spec.rb
Original file line number Diff line number Diff line change
Expand Up @@ -6,8 +6,11 @@
described_class.new({ person_id: 47_110_815 }, nil, '1742e8634a96e9d24a1891927803127c')
end
let(:erroring_response) do
described_class.new(nil, { code: -32_700, message: 'Could not parse JSON' },
'1742e8634a96e9d24a1891927803127c')
described_class.new(
nil,
{ code: -32_700, message: 'Could not parse JSON' },
'1742e8634a96e9d24a1891927803127c'
)
end

it 'is successful when a result is present' do
Expand Down Expand Up @@ -75,8 +78,14 @@
end

it 'returns false when data has error and result' do
expect(described_class).not_to be_valid_data({ jsonrpc: '2.0', id: '1',
error: { code: 4711, message: 'some message' }, result: 50 })
expect(described_class).not_to be_valid_data(
{
jsonrpc: '2.0',
id: '1',
error: { code: 4711, message: 'some message' },
result: 50
}
)
end

it 'returns false when data has neither error nor result' do
Expand All @@ -88,27 +97,47 @@
end

it 'returns false when the error data has no code' do
expect(described_class).not_to be_valid_data({ jsonrpc: '2.0', id: '1',
error: { message: 'some message' } })
expect(described_class).not_to be_valid_data(
{
jsonrpc: '2.0',
id: '1',
error: { message: 'some message' }
}
)
end

it 'returns false when the error code is not a number' do
expect(described_class).not_to be_valid_data({ jsonrpc: '2.0', id: '1',
error: { code: '4711', message: 'some message' } })
expect(described_class).not_to be_valid_data(
{
jsonrpc: '2.0',
id: '1',
error: { code: '4711', message: 'some message' }
}
)
end

it 'returns false when the error has no message' do
expect(described_class).not_to be_valid_data({ jsonrpc: '2.0', id: '1', error: { code: 4711 } })
end

it 'returns false when the error message is not a string' do
expect(described_class).not_to be_valid_data({ jsonrpc: '2.0', id: '1',
error: { code: 4711, message: { foo: 123, bar: 456 } } })
expect(described_class).not_to be_valid_data(
{
jsonrpc: '2.0',
id: '1',
error: { code: 4711, message: { foo: 123, bar: 456 } }
}
)
end

it 'returns true for a valid response with error' do
expect(described_class).to be_valid_data({ jsonrpc: '2.0', id: '1',
error: { code: 4711, message: 'some message' } })
expect(described_class).to be_valid_data(
{
jsonrpc: '2.0',
id: '1',
error: { code: 4711, message: 'some message' }
}
)
end

it 'returns true for a valid response with result' do
Expand Down

0 comments on commit ae4fbad

Please # to comment.