-
Notifications
You must be signed in to change notification settings - Fork 14
Expand file tree
/
Copy pathdsl_spec.rb
More file actions
44 lines (38 loc) · 1.54 KB
/
dsl_spec.rb
File metadata and controls
44 lines (38 loc) · 1.54 KB
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
require 'spec_helper'
RSpec.describe 'MockServer::Model::DSL' do
let(:header) { MockServer::Model::Header }
let(:headers) do
[
header.new(name: 'User-Agent', values: ['curl/7.22.0 (x86_64-pc-linux-gnu)']),
header.new(name: 'Host', values: ['localhost:2000']),
header.new(name: 'Accept', values: ['*/*']),
header.new(name: 'Content-Length', values: ['26']),
header.new(name: 'Content-Type', values: ['application/x-www-form-urlencoded'])
]
end
describe '#request_from_json' do
let(:body_content) { 'Hello this is a message' }
let(:request_json) do
{
"method"=>"POST", "path"=>"/message",
"headers"=>[{ "name"=>"User-Agent", "values"=>["curl/7.22.0 (x86_64-pc-linux-gnu)"] },
{"name"=>"Host", "values"=>["localhost:2000"]}, {"name"=>"Accept", "values"=>["*/*"]},
{"name"=>"Content-Length", "values"=>["26"]},
{"name"=>"Content-Type", "values"=>["application/x-www-form-urlencoded"]}],
"keepAlive"=>true, "secure"=>false
}
end
it 'correctly builds the request with no body' do
request = request_from_json(request_json)
expect(request.headers).to eq headers
expect(request.body).to eq nil
end
it 'correctly builds the request with a body' do
request_with_body = request_json.merge('body' => body_content)
request = request_from_json(request_with_body)
expect(request.headers).to eq headers
expect(request.body.type.to_s).to eq 'STRING'
expect(request.body.string).to eq body_content
end
end
end