Creizer-Meli 3.0.0
This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
- checksums.yaml +7 -0
- data/Gemfile +9 -0
- data/README.md +137 -0
- data/Rakefile +10 -0
- data/creizer-meli.gemspec +33 -0
- data/docs/Attributes.md +31 -0
- data/docs/AttributesValueStruct.md +19 -0
- data/docs/AttributesValues.md +21 -0
- data/docs/CategoriesApi.md +150 -0
- data/docs/InlineObject.md +27 -0
- data/docs/Item.md +41 -0
- data/docs/ItemPictures.md +17 -0
- data/docs/ItemsApi.md +152 -0
- data/docs/ItemsHealthApi.md +150 -0
- data/docs/OAuth20Api.md +117 -0
- data/docs/RestClientApi.md +204 -0
- data/docs/Variations.md +25 -0
- data/docs/VariationsAttributeCombinations.md +21 -0
- data/examples/get_token.rb +21 -0
- data/examples/restclient_post.rb +73 -0
- data/lib/meli.rb +52 -0
- data/lib/meli/api/categories_api.rb +216 -0
- data/lib/meli/api/items_api.rb +226 -0
- data/lib/meli/api/items_health_api.rb +216 -0
- data/lib/meli/api/o_auth20_api.rb +178 -0
- data/lib/meli/api/rest_client_api.rb +306 -0
- data/lib/meli/api_client.rb +387 -0
- data/lib/meli/api_error.rb +57 -0
- data/lib/meli/configuration.rb +297 -0
- data/lib/meli/models/attributes.rb +273 -0
- data/lib/meli/models/attributes_value_struct.rb +215 -0
- data/lib/meli/models/attributes_values.rb +226 -0
- data/lib/meli/models/inline_object.rb +251 -0
- data/lib/meli/models/item.rb +375 -0
- data/lib/meli/models/item_pictures.rb +206 -0
- data/lib/meli/models/variations.rb +246 -0
- data/lib/meli/models/variations_attribute_combinations.rb +224 -0
- data/lib/meli/version.rb +15 -0
- data/spec/api/categories_api_spec.rb +70 -0
- data/spec/api/items_api_spec.rb +71 -0
- data/spec/api/items_health_api_spec.rb +70 -0
- data/spec/api/o_auth20_api_spec.rb +65 -0
- data/spec/api/rest_client_api_spec.rb +85 -0
- data/spec/api_client_spec.rb +226 -0
- data/spec/configuration_spec.rb +42 -0
- data/spec/models/attributes_spec.rb +83 -0
- data/spec/models/attributes_value_struct_spec.rb +47 -0
- data/spec/models/attributes_values_spec.rb +53 -0
- data/spec/models/inline_object_spec.rb +71 -0
- data/spec/models/item_pictures_spec.rb +41 -0
- data/spec/models/item_spec.rb +113 -0
- data/spec/models/variations_attribute_combinations_spec.rb +53 -0
- data/spec/models/variations_spec.rb +65 -0
- data/spec/spec_helper.rb +111 -0
- metadata +173 -0
data/lib/meli/version.rb
ADDED
@@ -0,0 +1,15 @@
|
|
1
|
+
=begin
|
2
|
+
#MELI Markeplace SDK
|
3
|
+
|
4
|
+
#This is a the codebase to generate a SDK for Open Platform Marketplace
|
5
|
+
|
6
|
+
The version of the OpenAPI document: 3.0.0
|
7
|
+
|
8
|
+
Generated by: https://openapi-generator.tech
|
9
|
+
OpenAPI Generator version: 4.3.1
|
10
|
+
|
11
|
+
=end
|
12
|
+
|
13
|
+
module Meli
|
14
|
+
VERSION = '3.0.0'
|
15
|
+
end
|
@@ -0,0 +1,70 @@
|
|
1
|
+
=begin
|
2
|
+
#MELI Markeplace SDK
|
3
|
+
|
4
|
+
#This is a the codebase to generate a SDK for Open Platform Marketplace
|
5
|
+
|
6
|
+
The version of the OpenAPI document: 3.0.0
|
7
|
+
|
8
|
+
Generated by: https://openapi-generator.tech
|
9
|
+
OpenAPI Generator version: 4.3.1
|
10
|
+
|
11
|
+
=end
|
12
|
+
|
13
|
+
require 'spec_helper'
|
14
|
+
require 'json'
|
15
|
+
|
16
|
+
# Unit tests for Meli::CategoriesApi
|
17
|
+
# Automatically generated by openapi-generator (https://openapi-generator.tech)
|
18
|
+
# Please update as you see appropriate
|
19
|
+
describe 'CategoriesApi' do
|
20
|
+
before do
|
21
|
+
# run before each test
|
22
|
+
@api_instance = Meli::CategoriesApi.new
|
23
|
+
end
|
24
|
+
|
25
|
+
after do
|
26
|
+
# run after each test
|
27
|
+
end
|
28
|
+
|
29
|
+
describe 'test an instance of CategoriesApi' do
|
30
|
+
it 'should create an instance of CategoriesApi' do
|
31
|
+
expect(@api_instance).to be_instance_of(Meli::CategoriesApi)
|
32
|
+
end
|
33
|
+
end
|
34
|
+
|
35
|
+
# unit tests for categories_category_id_get
|
36
|
+
# Return by category.
|
37
|
+
# @param category_id
|
38
|
+
# @param [Hash] opts the optional parameters
|
39
|
+
# @return [Object]
|
40
|
+
describe 'categories_category_id_get test' do
|
41
|
+
it 'should work' do
|
42
|
+
# assertion here. ref: https://www.relishapp.com/rspec/rspec-expectations/docs/built-in-matchers
|
43
|
+
end
|
44
|
+
end
|
45
|
+
|
46
|
+
# unit tests for sites_site_id_categories_get
|
47
|
+
# Return a categories by site.
|
48
|
+
# @param site_id
|
49
|
+
# @param [Hash] opts the optional parameters
|
50
|
+
# @return [Object]
|
51
|
+
describe 'sites_site_id_categories_get test' do
|
52
|
+
it 'should work' do
|
53
|
+
# assertion here. ref: https://www.relishapp.com/rspec/rspec-expectations/docs/built-in-matchers
|
54
|
+
end
|
55
|
+
end
|
56
|
+
|
57
|
+
# unit tests for sites_site_id_domain_discovery_search_get
|
58
|
+
# Predictor
|
59
|
+
# @param site_id
|
60
|
+
# @param q
|
61
|
+
# @param limit
|
62
|
+
# @param [Hash] opts the optional parameters
|
63
|
+
# @return [Object]
|
64
|
+
describe 'sites_site_id_domain_discovery_search_get test' do
|
65
|
+
it 'should work' do
|
66
|
+
# assertion here. ref: https://www.relishapp.com/rspec/rspec-expectations/docs/built-in-matchers
|
67
|
+
end
|
68
|
+
end
|
69
|
+
|
70
|
+
end
|
@@ -0,0 +1,71 @@
|
|
1
|
+
=begin
|
2
|
+
#MELI Markeplace SDK
|
3
|
+
|
4
|
+
#This is a the codebase to generate a SDK for Open Platform Marketplace
|
5
|
+
|
6
|
+
The version of the OpenAPI document: 3.0.0
|
7
|
+
|
8
|
+
Generated by: https://openapi-generator.tech
|
9
|
+
OpenAPI Generator version: 4.3.1
|
10
|
+
|
11
|
+
=end
|
12
|
+
|
13
|
+
require 'spec_helper'
|
14
|
+
require 'json'
|
15
|
+
|
16
|
+
# Unit tests for Meli::ItemsApi
|
17
|
+
# Automatically generated by openapi-generator (https://openapi-generator.tech)
|
18
|
+
# Please update as you see appropriate
|
19
|
+
describe 'ItemsApi' do
|
20
|
+
before do
|
21
|
+
# run before each test
|
22
|
+
@api_instance = Meli::ItemsApi.new
|
23
|
+
end
|
24
|
+
|
25
|
+
after do
|
26
|
+
# run after each test
|
27
|
+
end
|
28
|
+
|
29
|
+
describe 'test an instance of ItemsApi' do
|
30
|
+
it 'should create an instance of ItemsApi' do
|
31
|
+
expect(@api_instance).to be_instance_of(Meli::ItemsApi)
|
32
|
+
end
|
33
|
+
end
|
34
|
+
|
35
|
+
# unit tests for items_id_get
|
36
|
+
# Return a Item.
|
37
|
+
# @param id
|
38
|
+
# @param [Hash] opts the optional parameters
|
39
|
+
# @return [Object]
|
40
|
+
describe 'items_id_get test' do
|
41
|
+
it 'should work' do
|
42
|
+
# assertion here. ref: https://www.relishapp.com/rspec/rspec-expectations/docs/built-in-matchers
|
43
|
+
end
|
44
|
+
end
|
45
|
+
|
46
|
+
# unit tests for items_id_put
|
47
|
+
# Update a Item.
|
48
|
+
# @param id
|
49
|
+
# @param access_token
|
50
|
+
# @param item
|
51
|
+
# @param [Hash] opts the optional parameters
|
52
|
+
# @return [Object]
|
53
|
+
describe 'items_id_put test' do
|
54
|
+
it 'should work' do
|
55
|
+
# assertion here. ref: https://www.relishapp.com/rspec/rspec-expectations/docs/built-in-matchers
|
56
|
+
end
|
57
|
+
end
|
58
|
+
|
59
|
+
# unit tests for items_post
|
60
|
+
# Create a Item.
|
61
|
+
# @param access_token
|
62
|
+
# @param item
|
63
|
+
# @param [Hash] opts the optional parameters
|
64
|
+
# @return [Object]
|
65
|
+
describe 'items_post test' do
|
66
|
+
it 'should work' do
|
67
|
+
# assertion here. ref: https://www.relishapp.com/rspec/rspec-expectations/docs/built-in-matchers
|
68
|
+
end
|
69
|
+
end
|
70
|
+
|
71
|
+
end
|
@@ -0,0 +1,70 @@
|
|
1
|
+
=begin
|
2
|
+
#MELI Markeplace SDK
|
3
|
+
|
4
|
+
#This is a the codebase to generate a SDK for Open Platform Marketplace
|
5
|
+
|
6
|
+
The version of the OpenAPI document: 3.0.0
|
7
|
+
|
8
|
+
Generated by: https://openapi-generator.tech
|
9
|
+
OpenAPI Generator version: 4.3.1
|
10
|
+
|
11
|
+
=end
|
12
|
+
|
13
|
+
require 'spec_helper'
|
14
|
+
require 'json'
|
15
|
+
|
16
|
+
# Unit tests for Meli::ItemsHealthApi
|
17
|
+
# Automatically generated by openapi-generator (https://openapi-generator.tech)
|
18
|
+
# Please update as you see appropriate
|
19
|
+
describe 'ItemsHealthApi' do
|
20
|
+
before do
|
21
|
+
# run before each test
|
22
|
+
@api_instance = Meli::ItemsHealthApi.new
|
23
|
+
end
|
24
|
+
|
25
|
+
after do
|
26
|
+
# run after each test
|
27
|
+
end
|
28
|
+
|
29
|
+
describe 'test an instance of ItemsHealthApi' do
|
30
|
+
it 'should create an instance of ItemsHealthApi' do
|
31
|
+
expect(@api_instance).to be_instance_of(Meli::ItemsHealthApi)
|
32
|
+
end
|
33
|
+
end
|
34
|
+
|
35
|
+
# unit tests for items_id_health_actions_get
|
36
|
+
# Return item health actions by id.
|
37
|
+
# @param id
|
38
|
+
# @param access_token
|
39
|
+
# @param [Hash] opts the optional parameters
|
40
|
+
# @return [Object]
|
41
|
+
describe 'items_id_health_actions_get test' do
|
42
|
+
it 'should work' do
|
43
|
+
# assertion here. ref: https://www.relishapp.com/rspec/rspec-expectations/docs/built-in-matchers
|
44
|
+
end
|
45
|
+
end
|
46
|
+
|
47
|
+
# unit tests for items_id_health_get
|
48
|
+
# Return health by id.
|
49
|
+
# @param id
|
50
|
+
# @param access_token
|
51
|
+
# @param [Hash] opts the optional parameters
|
52
|
+
# @return [Object]
|
53
|
+
describe 'items_id_health_get test' do
|
54
|
+
it 'should work' do
|
55
|
+
# assertion here. ref: https://www.relishapp.com/rspec/rspec-expectations/docs/built-in-matchers
|
56
|
+
end
|
57
|
+
end
|
58
|
+
|
59
|
+
# unit tests for sites_site_id_health_levels_get
|
60
|
+
# Return health levels.
|
61
|
+
# @param site_id
|
62
|
+
# @param [Hash] opts the optional parameters
|
63
|
+
# @return [Object]
|
64
|
+
describe 'sites_site_id_health_levels_get test' do
|
65
|
+
it 'should work' do
|
66
|
+
# assertion here. ref: https://www.relishapp.com/rspec/rspec-expectations/docs/built-in-matchers
|
67
|
+
end
|
68
|
+
end
|
69
|
+
|
70
|
+
end
|
@@ -0,0 +1,65 @@
|
|
1
|
+
=begin
|
2
|
+
#MELI Markeplace SDK
|
3
|
+
|
4
|
+
#This is a the codebase to generate a SDK for Open Platform Marketplace
|
5
|
+
|
6
|
+
The version of the OpenAPI document: 3.0.0
|
7
|
+
|
8
|
+
Generated by: https://openapi-generator.tech
|
9
|
+
OpenAPI Generator version: 4.3.1
|
10
|
+
|
11
|
+
=end
|
12
|
+
|
13
|
+
require 'spec_helper'
|
14
|
+
require 'json'
|
15
|
+
|
16
|
+
# Unit tests for Meli::OAuth20Api
|
17
|
+
# Automatically generated by openapi-generator (https://openapi-generator.tech)
|
18
|
+
# Please update as you see appropriate
|
19
|
+
describe 'OAuth20Api' do
|
20
|
+
before do
|
21
|
+
# run before each test
|
22
|
+
@api_instance = Meli::OAuth20Api.new
|
23
|
+
end
|
24
|
+
|
25
|
+
after do
|
26
|
+
# run after each test
|
27
|
+
end
|
28
|
+
|
29
|
+
describe 'test an instance of OAuth20Api' do
|
30
|
+
it 'should create an instance of OAuth20Api' do
|
31
|
+
expect(@api_instance).to be_instance_of(Meli::OAuth20Api)
|
32
|
+
end
|
33
|
+
end
|
34
|
+
|
35
|
+
# unit tests for auth
|
36
|
+
# Authentication Endpoint
|
37
|
+
# @param response_type
|
38
|
+
# @param client_id
|
39
|
+
# @param redirect_uri
|
40
|
+
# @param [Hash] opts the optional parameters
|
41
|
+
# @return [nil]
|
42
|
+
describe 'auth test' do
|
43
|
+
it 'should work' do
|
44
|
+
# assertion here. ref: https://www.relishapp.com/rspec/rspec-expectations/docs/built-in-matchers
|
45
|
+
end
|
46
|
+
end
|
47
|
+
|
48
|
+
# unit tests for get_token
|
49
|
+
# Request Access Token
|
50
|
+
# Partner makes a request to the token endpoint by adding the following parameters described below
|
51
|
+
# @param [Hash] opts the optional parameters
|
52
|
+
# @option opts [String] :grant_type
|
53
|
+
# @option opts [String] :client_id
|
54
|
+
# @option opts [String] :client_secret
|
55
|
+
# @option opts [String] :redirect_uri
|
56
|
+
# @option opts [String] :code
|
57
|
+
# @option opts [String] :refresh_token
|
58
|
+
# @return [Object]
|
59
|
+
describe 'get_token test' do
|
60
|
+
it 'should work' do
|
61
|
+
# assertion here. ref: https://www.relishapp.com/rspec/rspec-expectations/docs/built-in-matchers
|
62
|
+
end
|
63
|
+
end
|
64
|
+
|
65
|
+
end
|
@@ -0,0 +1,85 @@
|
|
1
|
+
=begin
|
2
|
+
#MELI Markeplace SDK
|
3
|
+
|
4
|
+
#This is a the codebase to generate a SDK for Open Platform Marketplace
|
5
|
+
|
6
|
+
The version of the OpenAPI document: 3.0.0
|
7
|
+
|
8
|
+
Generated by: https://openapi-generator.tech
|
9
|
+
OpenAPI Generator version: 4.3.1
|
10
|
+
|
11
|
+
=end
|
12
|
+
|
13
|
+
require 'spec_helper'
|
14
|
+
require 'json'
|
15
|
+
|
16
|
+
# Unit tests for Meli::RestClientApi
|
17
|
+
# Automatically generated by openapi-generator (https://openapi-generator.tech)
|
18
|
+
# Please update as you see appropriate
|
19
|
+
describe 'RestClientApi' do
|
20
|
+
before do
|
21
|
+
# run before each test
|
22
|
+
@api_instance = Meli::RestClientApi.new
|
23
|
+
end
|
24
|
+
|
25
|
+
after do
|
26
|
+
# run after each test
|
27
|
+
end
|
28
|
+
|
29
|
+
describe 'test an instance of RestClientApi' do
|
30
|
+
it 'should create an instance of RestClientApi' do
|
31
|
+
expect(@api_instance).to be_instance_of(Meli::RestClientApi)
|
32
|
+
end
|
33
|
+
end
|
34
|
+
|
35
|
+
# unit tests for resource_delete
|
36
|
+
# Resource path DELETE
|
37
|
+
# @param resource
|
38
|
+
# @param access_token
|
39
|
+
# @param [Hash] opts the optional parameters
|
40
|
+
# @return [Object]
|
41
|
+
describe 'resource_delete test' do
|
42
|
+
it 'should work' do
|
43
|
+
# assertion here. ref: https://www.relishapp.com/rspec/rspec-expectations/docs/built-in-matchers
|
44
|
+
end
|
45
|
+
end
|
46
|
+
|
47
|
+
# unit tests for resource_get
|
48
|
+
# Resource path GET
|
49
|
+
# @param resource
|
50
|
+
# @param access_token
|
51
|
+
# @param [Hash] opts the optional parameters
|
52
|
+
# @return [Object]
|
53
|
+
describe 'resource_get test' do
|
54
|
+
it 'should work' do
|
55
|
+
# assertion here. ref: https://www.relishapp.com/rspec/rspec-expectations/docs/built-in-matchers
|
56
|
+
end
|
57
|
+
end
|
58
|
+
|
59
|
+
# unit tests for resource_post
|
60
|
+
# Resourse path POST
|
61
|
+
# @param resource
|
62
|
+
# @param access_token
|
63
|
+
# @param body
|
64
|
+
# @param [Hash] opts the optional parameters
|
65
|
+
# @return [Object]
|
66
|
+
describe 'resource_post test' do
|
67
|
+
it 'should work' do
|
68
|
+
# assertion here. ref: https://www.relishapp.com/rspec/rspec-expectations/docs/built-in-matchers
|
69
|
+
end
|
70
|
+
end
|
71
|
+
|
72
|
+
# unit tests for resource_put
|
73
|
+
# Resourse path PUT
|
74
|
+
# @param resource
|
75
|
+
# @param access_token
|
76
|
+
# @param body
|
77
|
+
# @param [Hash] opts the optional parameters
|
78
|
+
# @return [Object]
|
79
|
+
describe 'resource_put test' do
|
80
|
+
it 'should work' do
|
81
|
+
# assertion here. ref: https://www.relishapp.com/rspec/rspec-expectations/docs/built-in-matchers
|
82
|
+
end
|
83
|
+
end
|
84
|
+
|
85
|
+
end
|
@@ -0,0 +1,226 @@
|
|
1
|
+
=begin
|
2
|
+
#MELI Markeplace SDK
|
3
|
+
|
4
|
+
#This is a the codebase to generate a SDK for Open Platform Marketplace
|
5
|
+
|
6
|
+
The version of the OpenAPI document: 3.0.0
|
7
|
+
|
8
|
+
Generated by: https://openapi-generator.tech
|
9
|
+
OpenAPI Generator version: 4.3.1
|
10
|
+
|
11
|
+
=end
|
12
|
+
|
13
|
+
require 'spec_helper'
|
14
|
+
|
15
|
+
describe Meli::ApiClient do
|
16
|
+
context 'initialization' do
|
17
|
+
context 'URL stuff' do
|
18
|
+
context 'host' do
|
19
|
+
it 'removes http from host' do
|
20
|
+
Meli.configure { |c| c.host = 'http://example.com' }
|
21
|
+
expect(Meli::Configuration.default.host).to eq('example.com')
|
22
|
+
end
|
23
|
+
|
24
|
+
it 'removes https from host' do
|
25
|
+
Meli.configure { |c| c.host = 'https://wookiee.com' }
|
26
|
+
expect(Meli::ApiClient.default.config.host).to eq('wookiee.com')
|
27
|
+
end
|
28
|
+
|
29
|
+
it 'removes trailing path from host' do
|
30
|
+
Meli.configure { |c| c.host = 'hobo.com/v4' }
|
31
|
+
expect(Meli::Configuration.default.host).to eq('hobo.com')
|
32
|
+
end
|
33
|
+
end
|
34
|
+
|
35
|
+
context 'base_path' do
|
36
|
+
it "prepends a slash to base_path" do
|
37
|
+
Meli.configure { |c| c.base_path = 'v4/dog' }
|
38
|
+
expect(Meli::Configuration.default.base_path).to eq('/v4/dog')
|
39
|
+
end
|
40
|
+
|
41
|
+
it "doesn't prepend a slash if one is already there" do
|
42
|
+
Meli.configure { |c| c.base_path = '/v4/dog' }
|
43
|
+
expect(Meli::Configuration.default.base_path).to eq('/v4/dog')
|
44
|
+
end
|
45
|
+
|
46
|
+
it "ends up as a blank string if nil" do
|
47
|
+
Meli.configure { |c| c.base_path = nil }
|
48
|
+
expect(Meli::Configuration.default.base_path).to eq('')
|
49
|
+
end
|
50
|
+
end
|
51
|
+
end
|
52
|
+
end
|
53
|
+
|
54
|
+
describe 'params_encoding in #build_request' do
|
55
|
+
let(:config) { Meli::Configuration.new }
|
56
|
+
let(:api_client) { Meli::ApiClient.new(config) }
|
57
|
+
|
58
|
+
it 'defaults to nil' do
|
59
|
+
expect(Meli::Configuration.default.params_encoding).to eq(nil)
|
60
|
+
expect(config.params_encoding).to eq(nil)
|
61
|
+
|
62
|
+
request = api_client.build_request(:get, '/test')
|
63
|
+
expect(request.options[:params_encoding]).to eq(nil)
|
64
|
+
end
|
65
|
+
|
66
|
+
it 'can be customized' do
|
67
|
+
config.params_encoding = :multi
|
68
|
+
request = api_client.build_request(:get, '/test')
|
69
|
+
expect(request.options[:params_encoding]).to eq(:multi)
|
70
|
+
end
|
71
|
+
end
|
72
|
+
|
73
|
+
describe 'timeout in #build_request' do
|
74
|
+
let(:config) { Meli::Configuration.new }
|
75
|
+
let(:api_client) { Meli::ApiClient.new(config) }
|
76
|
+
|
77
|
+
it 'defaults to 0' do
|
78
|
+
expect(Meli::Configuration.default.timeout).to eq(0)
|
79
|
+
expect(config.timeout).to eq(0)
|
80
|
+
|
81
|
+
request = api_client.build_request(:get, '/test')
|
82
|
+
expect(request.options[:timeout]).to eq(0)
|
83
|
+
end
|
84
|
+
|
85
|
+
it 'can be customized' do
|
86
|
+
config.timeout = 100
|
87
|
+
request = api_client.build_request(:get, '/test')
|
88
|
+
expect(request.options[:timeout]).to eq(100)
|
89
|
+
end
|
90
|
+
end
|
91
|
+
|
92
|
+
describe '#deserialize' do
|
93
|
+
it "handles Array<Integer>" do
|
94
|
+
api_client = Meli::ApiClient.new
|
95
|
+
headers = { 'Content-Type' => 'application/json' }
|
96
|
+
response = double('response', headers: headers, body: '[12, 34]')
|
97
|
+
data = api_client.deserialize(response, 'Array<Integer>')
|
98
|
+
expect(data).to be_instance_of(Array)
|
99
|
+
expect(data).to eq([12, 34])
|
100
|
+
end
|
101
|
+
|
102
|
+
it 'handles Array<Array<Integer>>' do
|
103
|
+
api_client = Meli::ApiClient.new
|
104
|
+
headers = { 'Content-Type' => 'application/json' }
|
105
|
+
response = double('response', headers: headers, body: '[[12, 34], [56]]')
|
106
|
+
data = api_client.deserialize(response, 'Array<Array<Integer>>')
|
107
|
+
expect(data).to be_instance_of(Array)
|
108
|
+
expect(data).to eq([[12, 34], [56]])
|
109
|
+
end
|
110
|
+
|
111
|
+
it 'handles Hash<String, String>' do
|
112
|
+
api_client = Meli::ApiClient.new
|
113
|
+
headers = { 'Content-Type' => 'application/json' }
|
114
|
+
response = double('response', headers: headers, body: '{"message": "Hello"}')
|
115
|
+
data = api_client.deserialize(response, 'Hash<String, String>')
|
116
|
+
expect(data).to be_instance_of(Hash)
|
117
|
+
expect(data).to eq(:message => 'Hello')
|
118
|
+
end
|
119
|
+
end
|
120
|
+
|
121
|
+
describe "#object_to_hash" do
|
122
|
+
it 'ignores nils and includes empty arrays' do
|
123
|
+
# uncomment below to test object_to_hash for model
|
124
|
+
# api_client = Meli::ApiClient.new
|
125
|
+
# _model = Meli::ModelName.new
|
126
|
+
# update the model attribute below
|
127
|
+
# _model.id = 1
|
128
|
+
# update the expected value (hash) below
|
129
|
+
# expected = {id: 1, name: '', tags: []}
|
130
|
+
# expect(api_client.object_to_hash(_model)).to eq(expected)
|
131
|
+
end
|
132
|
+
end
|
133
|
+
|
134
|
+
describe '#build_collection_param' do
|
135
|
+
let(:param) { ['aa', 'bb', 'cc'] }
|
136
|
+
let(:api_client) { Meli::ApiClient.new }
|
137
|
+
|
138
|
+
it 'works for csv' do
|
139
|
+
expect(api_client.build_collection_param(param, :csv)).to eq('aa,bb,cc')
|
140
|
+
end
|
141
|
+
|
142
|
+
it 'works for ssv' do
|
143
|
+
expect(api_client.build_collection_param(param, :ssv)).to eq('aa bb cc')
|
144
|
+
end
|
145
|
+
|
146
|
+
it 'works for tsv' do
|
147
|
+
expect(api_client.build_collection_param(param, :tsv)).to eq("aa\tbb\tcc")
|
148
|
+
end
|
149
|
+
|
150
|
+
it 'works for pipes' do
|
151
|
+
expect(api_client.build_collection_param(param, :pipes)).to eq('aa|bb|cc')
|
152
|
+
end
|
153
|
+
|
154
|
+
it 'works for multi' do
|
155
|
+
expect(api_client.build_collection_param(param, :multi)).to eq(['aa', 'bb', 'cc'])
|
156
|
+
end
|
157
|
+
|
158
|
+
it 'fails for invalid collection format' do
|
159
|
+
expect { api_client.build_collection_param(param, :INVALID) }.to raise_error(RuntimeError, 'unknown collection format: :INVALID')
|
160
|
+
end
|
161
|
+
end
|
162
|
+
|
163
|
+
describe '#json_mime?' do
|
164
|
+
let(:api_client) { Meli::ApiClient.new }
|
165
|
+
|
166
|
+
it 'works' do
|
167
|
+
expect(api_client.json_mime?(nil)).to eq false
|
168
|
+
expect(api_client.json_mime?('')).to eq false
|
169
|
+
|
170
|
+
expect(api_client.json_mime?('application/json')).to eq true
|
171
|
+
expect(api_client.json_mime?('application/json; charset=UTF8')).to eq true
|
172
|
+
expect(api_client.json_mime?('APPLICATION/JSON')).to eq true
|
173
|
+
|
174
|
+
expect(api_client.json_mime?('application/xml')).to eq false
|
175
|
+
expect(api_client.json_mime?('text/plain')).to eq false
|
176
|
+
expect(api_client.json_mime?('application/jsonp')).to eq false
|
177
|
+
end
|
178
|
+
end
|
179
|
+
|
180
|
+
describe '#select_header_accept' do
|
181
|
+
let(:api_client) { Meli::ApiClient.new }
|
182
|
+
|
183
|
+
it 'works' do
|
184
|
+
expect(api_client.select_header_accept(nil)).to be_nil
|
185
|
+
expect(api_client.select_header_accept([])).to be_nil
|
186
|
+
|
187
|
+
expect(api_client.select_header_accept(['application/json'])).to eq('application/json')
|
188
|
+
expect(api_client.select_header_accept(['application/xml', 'application/json; charset=UTF8'])).to eq('application/json; charset=UTF8')
|
189
|
+
expect(api_client.select_header_accept(['APPLICATION/JSON', 'text/html'])).to eq('APPLICATION/JSON')
|
190
|
+
|
191
|
+
expect(api_client.select_header_accept(['application/xml'])).to eq('application/xml')
|
192
|
+
expect(api_client.select_header_accept(['text/html', 'application/xml'])).to eq('text/html,application/xml')
|
193
|
+
end
|
194
|
+
end
|
195
|
+
|
196
|
+
describe '#select_header_content_type' do
|
197
|
+
let(:api_client) { Meli::ApiClient.new }
|
198
|
+
|
199
|
+
it 'works' do
|
200
|
+
expect(api_client.select_header_content_type(nil)).to eq('application/json')
|
201
|
+
expect(api_client.select_header_content_type([])).to eq('application/json')
|
202
|
+
|
203
|
+
expect(api_client.select_header_content_type(['application/json'])).to eq('application/json')
|
204
|
+
expect(api_client.select_header_content_type(['application/xml', 'application/json; charset=UTF8'])).to eq('application/json; charset=UTF8')
|
205
|
+
expect(api_client.select_header_content_type(['APPLICATION/JSON', 'text/html'])).to eq('APPLICATION/JSON')
|
206
|
+
expect(api_client.select_header_content_type(['application/xml'])).to eq('application/xml')
|
207
|
+
expect(api_client.select_header_content_type(['text/plain', 'application/xml'])).to eq('text/plain')
|
208
|
+
end
|
209
|
+
end
|
210
|
+
|
211
|
+
describe '#sanitize_filename' do
|
212
|
+
let(:api_client) { Meli::ApiClient.new }
|
213
|
+
|
214
|
+
it 'works' do
|
215
|
+
expect(api_client.sanitize_filename('sun')).to eq('sun')
|
216
|
+
expect(api_client.sanitize_filename('sun.gif')).to eq('sun.gif')
|
217
|
+
expect(api_client.sanitize_filename('../sun.gif')).to eq('sun.gif')
|
218
|
+
expect(api_client.sanitize_filename('/var/tmp/sun.gif')).to eq('sun.gif')
|
219
|
+
expect(api_client.sanitize_filename('./sun.gif')).to eq('sun.gif')
|
220
|
+
expect(api_client.sanitize_filename('..\sun.gif')).to eq('sun.gif')
|
221
|
+
expect(api_client.sanitize_filename('\var\tmp\sun.gif')).to eq('sun.gif')
|
222
|
+
expect(api_client.sanitize_filename('c:\var\tmp\sun.gif')).to eq('sun.gif')
|
223
|
+
expect(api_client.sanitize_filename('.\sun.gif')).to eq('sun.gif')
|
224
|
+
end
|
225
|
+
end
|
226
|
+
end
|