test/test_client.rb in octoparts-0.0.8 vs test/test_client.rb in octoparts-0.0.9
- old
+ new
@@ -151,33 +151,28 @@
end
end
sub_test_case "timeout" do
setup do
- @endpoint = Octoparts.configuration.endpoint
- Octoparts.configure do |c|
- # avoiding connection failed error, sorry heroku...
- # we should find other way
- c.endpoint = 'http://octoparts.herokuapp.com'
- end
@exception_class = defined?(Faraday::TimeoutError) ? Faraday::TimeoutError : Faraday::Error::TimeoutError
end
teardown do
Octoparts.configure do |c|
- c.endpoint = @endpoint
c.timeout_sec = nil
end
end
test "timeout_sec option" do
+ stub_request(:get, 'localhost:9000').to_raise(Timeout::Error)
assert_raise @exception_class do
Octoparts::Client.new(timeout_sec: 0).get('/')
end
end
test "open_timeout_sec option" do
+ stub_request(:get, 'localhost:9000').to_raise(Timeout::Error)
Octoparts.configure do |c|
c.timeout_sec = 0
end
assert_raise @exception_class do
Octoparts::Client.new.get('/')
@@ -189,8 +184,50 @@
test "500 error" do
stub_request(:any, 'localhost:9000/500').to_return(status: 500, body: 'NG', headers: { 'Content-Length' => 2})
assert_raise Octoparts::ServerError do
Octoparts::Client.new(timeout_sec: 0).get('/500')
end
+ end
+ end
+
+ sub_test_case "#create_request_body" do
+ test "return camelized keys" do
+ request_hash = {
+ request_meta: {
+ id: 1,
+ service_id: 'hoge',
+ user_id: 2,
+ session_id: 3,
+ request_url: 'http://test.com',
+ user_agent: 'ruby',
+ timeout: 4
+ },
+ requests: [{
+ part_id: 'fuga',
+ id: 5,
+ params: [{
+ key: 'value_of_key',
+ value: 'value_of_value'
+ }]
+ }]
+ }
+ body_json = Octoparts::Client.new(timeout_sec: 0).send(:create_request_body, request_hash)
+ body = JSON.parse(body_json, symbolize_names: true)
+ assert { body[:requestMeta] != nil }
+ request_meta = body[:requestMeta]
+ assert { request_meta[:id] == 1 }
+ assert { request_meta[:serviceId] == 'hoge' }
+ assert { request_meta[:userId] == 2 }
+ assert { request_meta[:sessionId] == 3 }
+ assert { request_meta[:requestUrl] == 'http://test.com' }
+ assert { request_meta[:userAgent] == 'ruby' }
+ assert { request_meta[:timeout] == 4 }
+ assert { body[:requests].instance_of?(Array) }
+ request_item = body[:requests].first
+ assert { request_item[:partId] == 'fuga' }
+ assert { request_item[:id] == 5 }
+ assert { request_item[:params] != nil }
+ assert { request_item[:params].first[:key] == 'value_of_key' }
+ assert { request_item[:params].first[:value] == 'value_of_value' }
end
end
end