commerce 1.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/LICENSE +21 -0
- data/lib/commerce.rb +38 -0
- data/lib/commerce/api_helper.rb +151 -0
- data/lib/commerce/base_controller.rb +19 -0
- data/lib/commerce/cart.rb +221 -0
- data/lib/commerce/checkout.rb +451 -0
- data/lib/commerce/exceptions/api_exception.rb +16 -0
- data/lib/commerce/http/auth/custom_header_auth.rb +11 -0
- data/lib/commerce/http/faraday_client.rb +41 -0
- data/lib/commerce/http/http_call_back.rb +17 -0
- data/lib/commerce/http/http_client.rb +82 -0
- data/lib/commerce/http/http_context.rb +15 -0
- data/lib/commerce/http/http_method_enum.rb +7 -0
- data/lib/commerce/http/http_request.rb +44 -0
- data/lib/commerce/http/http_response.rb +21 -0
- data/lib/commerce/order.rb +113 -0
- data/lib/commerce/product.rb +60 -0
- data/lib/commerce/service.rb +85 -0
- data/spec/api/cart_api_spec.rb +167 -0
- data/spec/api/checkout_api_spec.rb +309 -0
- data/spec/api/order_api_spec.rb +100 -0
- data/spec/api/product_api_spec.rb +69 -0
- data/spec/api/service_api_spec.rb +82 -0
- data/spec/api_client_spec.rb +226 -0
- data/spec/configuration_spec.rb +42 -0
- data/spec/spec_helper.rb +111 -0
- metadata +119 -0
|
@@ -0,0 +1,100 @@
|
|
|
1
|
+
=begin
|
|
2
|
+
Commerce js by Chec
|
|
3
|
+
|
|
4
|
+
Full-stack eCommerce API for developers & designers.
|
|
5
|
+
|
|
6
|
+
OpenAPI spec version: 1.0.0
|
|
7
|
+
|
|
8
|
+
Generated by: https://github.com/swagger-api/swagger-codegen.git
|
|
9
|
+
|
|
10
|
+
|
|
11
|
+
=end
|
|
12
|
+
|
|
13
|
+
require 'spec_helper'
|
|
14
|
+
require 'json'
|
|
15
|
+
|
|
16
|
+
# Unit tests for Commerce::Order
|
|
17
|
+
# Automatically generated by swagger-codegen (github.com/swagger-api/swagger-codegen)
|
|
18
|
+
# Please update as you see appropriate
|
|
19
|
+
describe 'Order' do
|
|
20
|
+
before do
|
|
21
|
+
# run before each test
|
|
22
|
+
@instance = Commerce::Order.new
|
|
23
|
+
end
|
|
24
|
+
|
|
25
|
+
after do
|
|
26
|
+
# run after each test
|
|
27
|
+
end
|
|
28
|
+
|
|
29
|
+
describe 'test an instance of Order' do
|
|
30
|
+
it 'should create an instact of Order' do
|
|
31
|
+
@instance.should be_a(Commerce::Order)
|
|
32
|
+
end
|
|
33
|
+
end
|
|
34
|
+
|
|
35
|
+
# unit tests for all
|
|
36
|
+
# Orders
|
|
37
|
+
# List
|
|
38
|
+
# @param [Hash] opts the optional parameters
|
|
39
|
+
# @option opts [String] :limit limit
|
|
40
|
+
# @option opts [String] :page page
|
|
41
|
+
# @return [String]
|
|
42
|
+
describe 'all test' do
|
|
43
|
+
it "should work" do
|
|
44
|
+
# assertion here
|
|
45
|
+
# should be_a()
|
|
46
|
+
# should be_nil
|
|
47
|
+
# should ==
|
|
48
|
+
# should_not ==
|
|
49
|
+
end
|
|
50
|
+
end
|
|
51
|
+
|
|
52
|
+
# unit tests for fulfillment
|
|
53
|
+
# fulfillment
|
|
54
|
+
# fulfillment
|
|
55
|
+
# @param id order id
|
|
56
|
+
# @param [Hash] opts the optional parameters
|
|
57
|
+
# @return [String]
|
|
58
|
+
describe 'fulfillment test' do
|
|
59
|
+
it "should work" do
|
|
60
|
+
# assertion here
|
|
61
|
+
# should be_a()
|
|
62
|
+
# should be_nil
|
|
63
|
+
# should ==
|
|
64
|
+
# should_not ==
|
|
65
|
+
end
|
|
66
|
+
end
|
|
67
|
+
|
|
68
|
+
# unit tests for payments
|
|
69
|
+
# payments
|
|
70
|
+
# payments
|
|
71
|
+
# @param id order id
|
|
72
|
+
# @param [Hash] opts the optional parameters
|
|
73
|
+
# @return [String]
|
|
74
|
+
describe 'payments test' do
|
|
75
|
+
it "should work" do
|
|
76
|
+
# assertion here
|
|
77
|
+
# should be_a()
|
|
78
|
+
# should be_nil
|
|
79
|
+
# should ==
|
|
80
|
+
# should_not ==
|
|
81
|
+
end
|
|
82
|
+
end
|
|
83
|
+
|
|
84
|
+
# unit tests for receipt
|
|
85
|
+
# Receipt
|
|
86
|
+
# Receipt
|
|
87
|
+
# @param id order id
|
|
88
|
+
# @param [Hash] opts the optional parameters
|
|
89
|
+
# @return [String]
|
|
90
|
+
describe 'receipt test' do
|
|
91
|
+
it "should work" do
|
|
92
|
+
# assertion here
|
|
93
|
+
# should be_a()
|
|
94
|
+
# should be_nil
|
|
95
|
+
# should ==
|
|
96
|
+
# should_not ==
|
|
97
|
+
end
|
|
98
|
+
end
|
|
99
|
+
|
|
100
|
+
end
|
|
@@ -0,0 +1,69 @@
|
|
|
1
|
+
=begin
|
|
2
|
+
Commerce js by Chec
|
|
3
|
+
|
|
4
|
+
Full-stack eCommerce API for developers & designers.
|
|
5
|
+
|
|
6
|
+
OpenAPI spec version: 1.0.0
|
|
7
|
+
|
|
8
|
+
Generated by: https://github.com/swagger-api/swagger-codegen.git
|
|
9
|
+
|
|
10
|
+
|
|
11
|
+
=end
|
|
12
|
+
|
|
13
|
+
require 'spec_helper'
|
|
14
|
+
require 'json'
|
|
15
|
+
|
|
16
|
+
# Unit tests for Commerce::Product
|
|
17
|
+
# Automatically generated by swagger-codegen (github.com/swagger-api/swagger-codegen)
|
|
18
|
+
# Please update as you see appropriate
|
|
19
|
+
describe 'Product' do
|
|
20
|
+
before do
|
|
21
|
+
# run before each test
|
|
22
|
+
@instance = Commerce::Product.new
|
|
23
|
+
end
|
|
24
|
+
|
|
25
|
+
after do
|
|
26
|
+
# run after each test
|
|
27
|
+
end
|
|
28
|
+
|
|
29
|
+
describe 'test an instance of Product' do
|
|
30
|
+
it 'should create an instact of Product' do
|
|
31
|
+
@instance.should be_a(Commerce::Product)
|
|
32
|
+
end
|
|
33
|
+
end
|
|
34
|
+
|
|
35
|
+
# unit tests for all
|
|
36
|
+
# ListProducts
|
|
37
|
+
# List
|
|
38
|
+
# @param [Hash] opts the optional parameters
|
|
39
|
+
# @option opts [String] :limit limit
|
|
40
|
+
# @option opts [String] :page page
|
|
41
|
+
# @return [String]
|
|
42
|
+
describe 'all test' do
|
|
43
|
+
it "should work" do
|
|
44
|
+
# assertion here
|
|
45
|
+
# should be_a()
|
|
46
|
+
# should be_nil
|
|
47
|
+
# should ==
|
|
48
|
+
# should_not ==
|
|
49
|
+
end
|
|
50
|
+
end
|
|
51
|
+
|
|
52
|
+
# unit tests for retrieve
|
|
53
|
+
# retrieve
|
|
54
|
+
# retrieve
|
|
55
|
+
# @param identifier identifier
|
|
56
|
+
# @param [Hash] opts the optional parameters
|
|
57
|
+
# @option opts [String] :type Id type
|
|
58
|
+
# @return [String]
|
|
59
|
+
describe 'retrieve test' do
|
|
60
|
+
it "should work" do
|
|
61
|
+
# assertion here
|
|
62
|
+
# should be_a()
|
|
63
|
+
# should be_nil
|
|
64
|
+
# should ==
|
|
65
|
+
# should_not ==
|
|
66
|
+
end
|
|
67
|
+
end
|
|
68
|
+
|
|
69
|
+
end
|
|
@@ -0,0 +1,82 @@
|
|
|
1
|
+
=begin
|
|
2
|
+
Commerce js by Chec
|
|
3
|
+
|
|
4
|
+
Full-stack eCommerce API for developers & designers.
|
|
5
|
+
|
|
6
|
+
OpenAPI spec version: 1.0.0
|
|
7
|
+
|
|
8
|
+
Generated by: https://github.com/swagger-api/swagger-codegen.git
|
|
9
|
+
|
|
10
|
+
|
|
11
|
+
=end
|
|
12
|
+
|
|
13
|
+
require 'spec_helper'
|
|
14
|
+
require 'json'
|
|
15
|
+
|
|
16
|
+
# Unit tests for Commerce::Service
|
|
17
|
+
# Automatically generated by swagger-codegen (github.com/swagger-api/swagger-codegen)
|
|
18
|
+
# Please update as you see appropriate
|
|
19
|
+
describe 'Service' do
|
|
20
|
+
before do
|
|
21
|
+
# run before each test
|
|
22
|
+
@instance = Commerce::Service.new
|
|
23
|
+
end
|
|
24
|
+
|
|
25
|
+
after do
|
|
26
|
+
# run after each test
|
|
27
|
+
end
|
|
28
|
+
|
|
29
|
+
describe 'test an instance of Service' do
|
|
30
|
+
it 'should create an instact of Service' do
|
|
31
|
+
@instance.should be_a(Commerce::Service)
|
|
32
|
+
end
|
|
33
|
+
end
|
|
34
|
+
|
|
35
|
+
# unit tests for locale_list_countries
|
|
36
|
+
# ListProducts
|
|
37
|
+
# List
|
|
38
|
+
# @param [Hash] opts the optional parameters
|
|
39
|
+
# @return [String]
|
|
40
|
+
describe 'locale_list_countries test' do
|
|
41
|
+
it "should work" do
|
|
42
|
+
# assertion here
|
|
43
|
+
# should be_a()
|
|
44
|
+
# should be_nil
|
|
45
|
+
# should ==
|
|
46
|
+
# should_not ==
|
|
47
|
+
end
|
|
48
|
+
end
|
|
49
|
+
|
|
50
|
+
# unit tests for locale_list_shipping_countries
|
|
51
|
+
# ListProducts
|
|
52
|
+
# List
|
|
53
|
+
# @param checkout_token_id id
|
|
54
|
+
# @param [Hash] opts the optional parameters
|
|
55
|
+
# @return [String]
|
|
56
|
+
describe 'locale_list_shipping_countries test' do
|
|
57
|
+
it "should work" do
|
|
58
|
+
# assertion here
|
|
59
|
+
# should be_a()
|
|
60
|
+
# should be_nil
|
|
61
|
+
# should ==
|
|
62
|
+
# should_not ==
|
|
63
|
+
end
|
|
64
|
+
end
|
|
65
|
+
|
|
66
|
+
# unit tests for locale_list_subdivisions
|
|
67
|
+
# ListProducts
|
|
68
|
+
# List
|
|
69
|
+
# @param country_code id
|
|
70
|
+
# @param [Hash] opts the optional parameters
|
|
71
|
+
# @return [String]
|
|
72
|
+
describe 'locale_list_subdivisions test' do
|
|
73
|
+
it "should work" do
|
|
74
|
+
# assertion here
|
|
75
|
+
# should be_a()
|
|
76
|
+
# should be_nil
|
|
77
|
+
# should ==
|
|
78
|
+
# should_not ==
|
|
79
|
+
end
|
|
80
|
+
end
|
|
81
|
+
|
|
82
|
+
end
|
|
@@ -0,0 +1,226 @@
|
|
|
1
|
+
=begin
|
|
2
|
+
Commerce js by Chec
|
|
3
|
+
|
|
4
|
+
Full-stack eCommerce API for developers & designers.
|
|
5
|
+
|
|
6
|
+
OpenAPI spec version: 1.0.0
|
|
7
|
+
|
|
8
|
+
Generated by: https://github.com/swagger-api/swagger-codegen.git
|
|
9
|
+
|
|
10
|
+
|
|
11
|
+
=end
|
|
12
|
+
|
|
13
|
+
require 'spec_helper'
|
|
14
|
+
|
|
15
|
+
describe Commerce::ApiClient do
|
|
16
|
+
context 'initialization' do
|
|
17
|
+
context 'URL stuff' do
|
|
18
|
+
context 'host' do
|
|
19
|
+
it 'removes http from host' do
|
|
20
|
+
Commerce.configure { |c| c.host = 'http://example.com' }
|
|
21
|
+
expect(Commerce::Configuration.default.host).to eq('example.com')
|
|
22
|
+
end
|
|
23
|
+
|
|
24
|
+
it 'removes https from host' do
|
|
25
|
+
Commerce.configure { |c| c.host = 'https://wookiee.com' }
|
|
26
|
+
expect(Commerce::ApiClient.default.config.host).to eq('wookiee.com')
|
|
27
|
+
end
|
|
28
|
+
|
|
29
|
+
it 'removes trailing path from host' do
|
|
30
|
+
Commerce.configure { |c| c.host = 'hobo.com/v4' }
|
|
31
|
+
expect(Commerce::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
|
+
Commerce.configure { |c| c.base_path = 'v4/dog' }
|
|
38
|
+
expect(Commerce::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
|
+
Commerce.configure { |c| c.base_path = '/v4/dog' }
|
|
43
|
+
expect(Commerce::Configuration.default.base_path).to eq('/v4/dog')
|
|
44
|
+
end
|
|
45
|
+
|
|
46
|
+
it "ends up as a blank string if nil" do
|
|
47
|
+
Commerce.configure { |c| c.base_path = nil }
|
|
48
|
+
expect(Commerce::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) { Commerce::Configuration.new }
|
|
56
|
+
let(:api_client) { Commerce::ApiClient.new(config) }
|
|
57
|
+
|
|
58
|
+
it "defaults to nil" do
|
|
59
|
+
expect(Commerce::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) { Commerce::Configuration.new }
|
|
75
|
+
let(:api_client) { Commerce::ApiClient.new(config) }
|
|
76
|
+
|
|
77
|
+
it "defaults to 0" do
|
|
78
|
+
expect(Commerce::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 = Commerce::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 = Commerce::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 = Commerce::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 = Commerce::ApiClient.new
|
|
125
|
+
#_model = Commerce::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) { Commerce::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(proc { 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) { Commerce::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) { Commerce::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) { Commerce::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) { Commerce::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
|