dkron-ruby 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/DEVELOP.md +596 -0
- data/Gemfile +7 -0
- data/Gemfile.lock +69 -0
- data/README.md +99 -0
- data/Rakefile +8 -0
- data/dkron-ruby.gemspec +45 -0
- data/docs/DefaultApi.md +131 -0
- data/docs/Execution.md +13 -0
- data/docs/ExecutionsApi.md +55 -0
- data/docs/Job.md +28 -0
- data/docs/JobsApi.md +295 -0
- data/docs/Member.md +18 -0
- data/docs/MembersApi.md +49 -0
- data/docs/Processors.md +7 -0
- data/docs/Status.md +10 -0
- data/git_push.sh +55 -0
- data/lib/dkron-ruby.rb +48 -0
- data/lib/dkron-ruby/api/default_api.rb +161 -0
- data/lib/dkron-ruby/api/executions_api.rb +75 -0
- data/lib/dkron-ruby/api/jobs_api.rb +335 -0
- data/lib/dkron-ruby/api/members_api.rb +69 -0
- data/lib/dkron-ruby/api_client.rb +390 -0
- data/lib/dkron-ruby/api_error.rb +38 -0
- data/lib/dkron-ruby/configuration.rb +202 -0
- data/lib/dkron-ruby/models/execution.rb +236 -0
- data/lib/dkron-ruby/models/job.rb +403 -0
- data/lib/dkron-ruby/models/member.rb +288 -0
- data/lib/dkron-ruby/models/processors.rb +176 -0
- data/lib/dkron-ruby/models/status.rb +206 -0
- data/lib/dkron-ruby/version.rb +15 -0
- data/spec/api/default_api_spec.rb +65 -0
- data/spec/api/executions_api_spec.rb +46 -0
- data/spec/api/jobs_api_spec.rb +102 -0
- data/spec/api/members_api_spec.rb +45 -0
- data/spec/api_client_spec.rb +243 -0
- data/spec/configuration_spec.rb +42 -0
- data/spec/models/execution_spec.rb +71 -0
- data/spec/models/job_spec.rb +161 -0
- data/spec/models/member_spec.rb +101 -0
- data/spec/models/processors_spec.rb +35 -0
- data/spec/models/status_spec.rb +53 -0
- data/spec/spec_helper.rb +111 -0
- metadata +283 -0
@@ -0,0 +1,46 @@
|
|
1
|
+
=begin
|
2
|
+
#Dkron REST API
|
3
|
+
|
4
|
+
#You can communicate with Dkron using a RESTful JSON API over HTTP. Dkron nodes usually listen on port `8080` for API requests. All examples in this section assume that you've found a running leader at `localhost:8080`. Dkron implements a RESTful JSON API over HTTP to communicate with software clients. Dkron listens in port `8080` by default. All examples in this section assume that you're using the default port. Default API responses are unformatted JSON add the `pretty=true` param to format the response.
|
5
|
+
|
6
|
+
OpenAPI spec version: 2.2
|
7
|
+
|
8
|
+
Generated by: https://github.com/swagger-api/swagger-codegen.git
|
9
|
+
Swagger Codegen version: 2.4.13
|
10
|
+
|
11
|
+
=end
|
12
|
+
|
13
|
+
require 'spec_helper'
|
14
|
+
require 'json'
|
15
|
+
|
16
|
+
# Unit tests for Dkron::ExecutionsApi
|
17
|
+
# Automatically generated by swagger-codegen (github.com/swagger-api/swagger-codegen)
|
18
|
+
# Please update as you see appropriate
|
19
|
+
describe 'ExecutionsApi' do
|
20
|
+
before do
|
21
|
+
# run before each test
|
22
|
+
@instance = Dkron::ExecutionsApi.new
|
23
|
+
end
|
24
|
+
|
25
|
+
after do
|
26
|
+
# run after each test
|
27
|
+
end
|
28
|
+
|
29
|
+
describe 'test an instance of ExecutionsApi' do
|
30
|
+
it 'should create an instance of ExecutionsApi' do
|
31
|
+
expect(@instance).to be_instance_of(Dkron::ExecutionsApi)
|
32
|
+
end
|
33
|
+
end
|
34
|
+
|
35
|
+
# unit tests for list_executions_by_job
|
36
|
+
# List executions.
|
37
|
+
# @param job_name The job that owns the executions to be fetched.
|
38
|
+
# @param [Hash] opts the optional parameters
|
39
|
+
# @return [Array<Execution>]
|
40
|
+
describe 'list_executions_by_job 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
|
+
end
|
@@ -0,0 +1,102 @@
|
|
1
|
+
=begin
|
2
|
+
#Dkron REST API
|
3
|
+
|
4
|
+
#You can communicate with Dkron using a RESTful JSON API over HTTP. Dkron nodes usually listen on port `8080` for API requests. All examples in this section assume that you've found a running leader at `localhost:8080`. Dkron implements a RESTful JSON API over HTTP to communicate with software clients. Dkron listens in port `8080` by default. All examples in this section assume that you're using the default port. Default API responses are unformatted JSON add the `pretty=true` param to format the response.
|
5
|
+
|
6
|
+
OpenAPI spec version: 2.2
|
7
|
+
|
8
|
+
Generated by: https://github.com/swagger-api/swagger-codegen.git
|
9
|
+
Swagger Codegen version: 2.4.13
|
10
|
+
|
11
|
+
=end
|
12
|
+
|
13
|
+
require 'spec_helper'
|
14
|
+
require 'json'
|
15
|
+
|
16
|
+
# Unit tests for Dkron::JobsApi
|
17
|
+
# Automatically generated by swagger-codegen (github.com/swagger-api/swagger-codegen)
|
18
|
+
# Please update as you see appropriate
|
19
|
+
describe 'JobsApi' do
|
20
|
+
before do
|
21
|
+
# run before each test
|
22
|
+
@instance = Dkron::JobsApi.new
|
23
|
+
end
|
24
|
+
|
25
|
+
after do
|
26
|
+
# run after each test
|
27
|
+
end
|
28
|
+
|
29
|
+
describe 'test an instance of JobsApi' do
|
30
|
+
it 'should create an instance of JobsApi' do
|
31
|
+
expect(@instance).to be_instance_of(Dkron::JobsApi)
|
32
|
+
end
|
33
|
+
end
|
34
|
+
|
35
|
+
# unit tests for create_or_update_job
|
36
|
+
# Create or updates a new job.
|
37
|
+
# @param body Updated job object
|
38
|
+
# @param [Hash] opts the optional parameters
|
39
|
+
# @option opts [Object] :runoncreate If present, regardless of any value, causes the job to be run immediately after being succesfully created or updated.
|
40
|
+
# @return [Job]
|
41
|
+
describe 'create_or_update_job 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 delete_job
|
48
|
+
# Delete a job.
|
49
|
+
# @param job_name The job that needs to be deleted.
|
50
|
+
# @param [Hash] opts the optional parameters
|
51
|
+
# @return [Job]
|
52
|
+
describe 'delete_job test' do
|
53
|
+
it 'should work' do
|
54
|
+
# assertion here. ref: https://www.relishapp.com/rspec/rspec-expectations/docs/built-in-matchers
|
55
|
+
end
|
56
|
+
end
|
57
|
+
|
58
|
+
# unit tests for get_jobs
|
59
|
+
# List jobs.
|
60
|
+
# @param [Hash] opts the optional parameters
|
61
|
+
# @option opts [Array<String>] :metadata Filter jobs by metadata
|
62
|
+
# @return [Array<Job>]
|
63
|
+
describe 'get_jobs test' do
|
64
|
+
it 'should work' do
|
65
|
+
# assertion here. ref: https://www.relishapp.com/rspec/rspec-expectations/docs/built-in-matchers
|
66
|
+
end
|
67
|
+
end
|
68
|
+
|
69
|
+
# unit tests for run_job
|
70
|
+
# Executes a job.
|
71
|
+
# @param job_name The job that needs to be run.
|
72
|
+
# @param [Hash] opts the optional parameters
|
73
|
+
# @return [Job]
|
74
|
+
describe 'run_job test' do
|
75
|
+
it 'should work' do
|
76
|
+
# assertion here. ref: https://www.relishapp.com/rspec/rspec-expectations/docs/built-in-matchers
|
77
|
+
end
|
78
|
+
end
|
79
|
+
|
80
|
+
# unit tests for show_job_by_name
|
81
|
+
# Show a job.
|
82
|
+
# @param job_name The job that needs to be fetched.
|
83
|
+
# @param [Hash] opts the optional parameters
|
84
|
+
# @return [Job]
|
85
|
+
describe 'show_job_by_name test' do
|
86
|
+
it 'should work' do
|
87
|
+
# assertion here. ref: https://www.relishapp.com/rspec/rspec-expectations/docs/built-in-matchers
|
88
|
+
end
|
89
|
+
end
|
90
|
+
|
91
|
+
# unit tests for toggle_job
|
92
|
+
# Toggle a job.
|
93
|
+
# @param job_name The job that needs to be toggled.
|
94
|
+
# @param [Hash] opts the optional parameters
|
95
|
+
# @return [Job]
|
96
|
+
describe 'toggle_job test' do
|
97
|
+
it 'should work' do
|
98
|
+
# assertion here. ref: https://www.relishapp.com/rspec/rspec-expectations/docs/built-in-matchers
|
99
|
+
end
|
100
|
+
end
|
101
|
+
|
102
|
+
end
|
@@ -0,0 +1,45 @@
|
|
1
|
+
=begin
|
2
|
+
#Dkron REST API
|
3
|
+
|
4
|
+
#You can communicate with Dkron using a RESTful JSON API over HTTP. Dkron nodes usually listen on port `8080` for API requests. All examples in this section assume that you've found a running leader at `localhost:8080`. Dkron implements a RESTful JSON API over HTTP to communicate with software clients. Dkron listens in port `8080` by default. All examples in this section assume that you're using the default port. Default API responses are unformatted JSON add the `pretty=true` param to format the response.
|
5
|
+
|
6
|
+
OpenAPI spec version: 2.2
|
7
|
+
|
8
|
+
Generated by: https://github.com/swagger-api/swagger-codegen.git
|
9
|
+
Swagger Codegen version: 2.4.13
|
10
|
+
|
11
|
+
=end
|
12
|
+
|
13
|
+
require 'spec_helper'
|
14
|
+
require 'json'
|
15
|
+
|
16
|
+
# Unit tests for Dkron::MembersApi
|
17
|
+
# Automatically generated by swagger-codegen (github.com/swagger-api/swagger-codegen)
|
18
|
+
# Please update as you see appropriate
|
19
|
+
describe 'MembersApi' do
|
20
|
+
before do
|
21
|
+
# run before each test
|
22
|
+
@instance = Dkron::MembersApi.new
|
23
|
+
end
|
24
|
+
|
25
|
+
after do
|
26
|
+
# run after each test
|
27
|
+
end
|
28
|
+
|
29
|
+
describe 'test an instance of MembersApi' do
|
30
|
+
it 'should create an instance of MembersApi' do
|
31
|
+
expect(@instance).to be_instance_of(Dkron::MembersApi)
|
32
|
+
end
|
33
|
+
end
|
34
|
+
|
35
|
+
# unit tests for get_member
|
36
|
+
# List members.
|
37
|
+
# @param [Hash] opts the optional parameters
|
38
|
+
# @return [Array<Member>]
|
39
|
+
describe 'get_member test' do
|
40
|
+
it 'should work' do
|
41
|
+
# assertion here. ref: https://www.relishapp.com/rspec/rspec-expectations/docs/built-in-matchers
|
42
|
+
end
|
43
|
+
end
|
44
|
+
|
45
|
+
end
|
@@ -0,0 +1,243 @@
|
|
1
|
+
=begin
|
2
|
+
#Dkron REST API
|
3
|
+
|
4
|
+
#You can communicate with Dkron using a RESTful JSON API over HTTP. Dkron nodes usually listen on port `8080` for API requests. All examples in this section assume that you've found a running leader at `localhost:8080`. Dkron implements a RESTful JSON API over HTTP to communicate with software clients. Dkron listens in port `8080` by default. All examples in this section assume that you're using the default port. Default API responses are unformatted JSON add the `pretty=true` param to format the response.
|
5
|
+
|
6
|
+
OpenAPI spec version: 2.2
|
7
|
+
|
8
|
+
Generated by: https://github.com/swagger-api/swagger-codegen.git
|
9
|
+
Swagger Codegen version: 2.4.13
|
10
|
+
|
11
|
+
=end
|
12
|
+
|
13
|
+
require 'spec_helper'
|
14
|
+
|
15
|
+
describe Dkron::ApiClient do
|
16
|
+
context 'initialization' do
|
17
|
+
context 'URL stuff' do
|
18
|
+
context 'host' do
|
19
|
+
it 'removes http from host' do
|
20
|
+
Dkron.configure { |c| c.host = 'http://example.com' }
|
21
|
+
expect(Dkron::Configuration.default.host).to eq('example.com')
|
22
|
+
end
|
23
|
+
|
24
|
+
it 'removes https from host' do
|
25
|
+
Dkron.configure { |c| c.host = 'https://wookiee.com' }
|
26
|
+
expect(Dkron::ApiClient.default.config.host).to eq('wookiee.com')
|
27
|
+
end
|
28
|
+
|
29
|
+
it 'removes trailing path from host' do
|
30
|
+
Dkron.configure { |c| c.host = 'hobo.com/v4' }
|
31
|
+
expect(Dkron::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
|
+
Dkron.configure { |c| c.base_path = 'v4/dog' }
|
38
|
+
expect(Dkron::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
|
+
Dkron.configure { |c| c.base_path = '/v4/dog' }
|
43
|
+
expect(Dkron::Configuration.default.base_path).to eq('/v4/dog')
|
44
|
+
end
|
45
|
+
|
46
|
+
it "ends up as a blank string if nil" do
|
47
|
+
Dkron.configure { |c| c.base_path = nil }
|
48
|
+
expect(Dkron::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) { Dkron::Configuration.new }
|
56
|
+
let(:api_client) { Dkron::ApiClient.new(config) }
|
57
|
+
|
58
|
+
it 'defaults to nil' do
|
59
|
+
expect(Dkron::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) { Dkron::Configuration.new }
|
75
|
+
let(:api_client) { Dkron::ApiClient.new(config) }
|
76
|
+
|
77
|
+
it 'defaults to 0' do
|
78
|
+
expect(Dkron::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 '#build_request' do
|
93
|
+
let(:config) { Dkron::Configuration.new }
|
94
|
+
let(:api_client) { Dkron::ApiClient.new(config) }
|
95
|
+
|
96
|
+
it 'does not send multipart to request' do
|
97
|
+
expect(Typhoeus::Request).to receive(:new).with(anything, hash_not_including(:multipart))
|
98
|
+
api_client.build_request(:get, '/test')
|
99
|
+
end
|
100
|
+
|
101
|
+
context 'when the content type is multipart' do
|
102
|
+
it 'sends multipart to request' do
|
103
|
+
expect(Typhoeus::Request).to receive(:new).with(anything, hash_including(multipart: true))
|
104
|
+
api_client.build_request(:get, '/test', {header_params: { 'Content-Type' => 'multipart/form-data'}})
|
105
|
+
end
|
106
|
+
end
|
107
|
+
end
|
108
|
+
|
109
|
+
describe '#deserialize' do
|
110
|
+
it "handles Array<Integer>" do
|
111
|
+
api_client = Dkron::ApiClient.new
|
112
|
+
headers = { 'Content-Type' => 'application/json' }
|
113
|
+
response = double('response', headers: headers, body: '[12, 34]')
|
114
|
+
data = api_client.deserialize(response, 'Array<Integer>')
|
115
|
+
expect(data).to be_instance_of(Array)
|
116
|
+
expect(data).to eq([12, 34])
|
117
|
+
end
|
118
|
+
|
119
|
+
it 'handles Array<Array<Integer>>' do
|
120
|
+
api_client = Dkron::ApiClient.new
|
121
|
+
headers = { 'Content-Type' => 'application/json' }
|
122
|
+
response = double('response', headers: headers, body: '[[12, 34], [56]]')
|
123
|
+
data = api_client.deserialize(response, 'Array<Array<Integer>>')
|
124
|
+
expect(data).to be_instance_of(Array)
|
125
|
+
expect(data).to eq([[12, 34], [56]])
|
126
|
+
end
|
127
|
+
|
128
|
+
it 'handles Hash<String, String>' do
|
129
|
+
api_client = Dkron::ApiClient.new
|
130
|
+
headers = { 'Content-Type' => 'application/json' }
|
131
|
+
response = double('response', headers: headers, body: '{"message": "Hello"}')
|
132
|
+
data = api_client.deserialize(response, 'Hash<String, String>')
|
133
|
+
expect(data).to be_instance_of(Hash)
|
134
|
+
expect(data).to eq(:message => 'Hello')
|
135
|
+
end
|
136
|
+
end
|
137
|
+
|
138
|
+
describe "#object_to_hash" do
|
139
|
+
it 'ignores nils and includes empty arrays' do
|
140
|
+
# uncomment below to test object_to_hash for model
|
141
|
+
# api_client = Dkron::ApiClient.new
|
142
|
+
# _model = Dkron::ModelName.new
|
143
|
+
# update the model attribute below
|
144
|
+
# _model.id = 1
|
145
|
+
# update the expected value (hash) below
|
146
|
+
# expected = {id: 1, name: '', tags: []}
|
147
|
+
# expect(api_client.object_to_hash(_model)).to eq(expected)
|
148
|
+
end
|
149
|
+
end
|
150
|
+
|
151
|
+
describe '#build_collection_param' do
|
152
|
+
let(:param) { ['aa', 'bb', 'cc'] }
|
153
|
+
let(:api_client) { Dkron::ApiClient.new }
|
154
|
+
|
155
|
+
it 'works for csv' do
|
156
|
+
expect(api_client.build_collection_param(param, :csv)).to eq('aa,bb,cc')
|
157
|
+
end
|
158
|
+
|
159
|
+
it 'works for ssv' do
|
160
|
+
expect(api_client.build_collection_param(param, :ssv)).to eq('aa bb cc')
|
161
|
+
end
|
162
|
+
|
163
|
+
it 'works for tsv' do
|
164
|
+
expect(api_client.build_collection_param(param, :tsv)).to eq("aa\tbb\tcc")
|
165
|
+
end
|
166
|
+
|
167
|
+
it 'works for pipes' do
|
168
|
+
expect(api_client.build_collection_param(param, :pipes)).to eq('aa|bb|cc')
|
169
|
+
end
|
170
|
+
|
171
|
+
it 'works for multi' do
|
172
|
+
expect(api_client.build_collection_param(param, :multi)).to eq(['aa', 'bb', 'cc'])
|
173
|
+
end
|
174
|
+
|
175
|
+
it 'fails for invalid collection format' do
|
176
|
+
expect(proc { api_client.build_collection_param(param, :INVALID) }).to raise_error(RuntimeError, 'unknown collection format: :INVALID')
|
177
|
+
end
|
178
|
+
end
|
179
|
+
|
180
|
+
describe '#json_mime?' do
|
181
|
+
let(:api_client) { Dkron::ApiClient.new }
|
182
|
+
|
183
|
+
it 'works' do
|
184
|
+
expect(api_client.json_mime?(nil)).to eq false
|
185
|
+
expect(api_client.json_mime?('')).to eq false
|
186
|
+
|
187
|
+
expect(api_client.json_mime?('application/json')).to eq true
|
188
|
+
expect(api_client.json_mime?('application/json; charset=UTF8')).to eq true
|
189
|
+
expect(api_client.json_mime?('APPLICATION/JSON')).to eq true
|
190
|
+
|
191
|
+
expect(api_client.json_mime?('application/xml')).to eq false
|
192
|
+
expect(api_client.json_mime?('text/plain')).to eq false
|
193
|
+
expect(api_client.json_mime?('application/jsonp')).to eq false
|
194
|
+
end
|
195
|
+
end
|
196
|
+
|
197
|
+
describe '#select_header_accept' do
|
198
|
+
let(:api_client) { Dkron::ApiClient.new }
|
199
|
+
|
200
|
+
it 'works' do
|
201
|
+
expect(api_client.select_header_accept(nil)).to be_nil
|
202
|
+
expect(api_client.select_header_accept([])).to be_nil
|
203
|
+
|
204
|
+
expect(api_client.select_header_accept(['application/json'])).to eq('application/json')
|
205
|
+
expect(api_client.select_header_accept(['application/xml', 'application/json; charset=UTF8'])).to eq('application/json; charset=UTF8')
|
206
|
+
expect(api_client.select_header_accept(['APPLICATION/JSON', 'text/html'])).to eq('APPLICATION/JSON')
|
207
|
+
|
208
|
+
expect(api_client.select_header_accept(['application/xml'])).to eq('application/xml')
|
209
|
+
expect(api_client.select_header_accept(['text/html', 'application/xml'])).to eq('text/html,application/xml')
|
210
|
+
end
|
211
|
+
end
|
212
|
+
|
213
|
+
describe '#select_header_content_type' do
|
214
|
+
let(:api_client) { Dkron::ApiClient.new }
|
215
|
+
|
216
|
+
it 'works' do
|
217
|
+
expect(api_client.select_header_content_type(nil)).to eq('application/json')
|
218
|
+
expect(api_client.select_header_content_type([])).to eq('application/json')
|
219
|
+
|
220
|
+
expect(api_client.select_header_content_type(['application/json'])).to eq('application/json')
|
221
|
+
expect(api_client.select_header_content_type(['application/xml', 'application/json; charset=UTF8'])).to eq('application/json; charset=UTF8')
|
222
|
+
expect(api_client.select_header_content_type(['APPLICATION/JSON', 'text/html'])).to eq('APPLICATION/JSON')
|
223
|
+
expect(api_client.select_header_content_type(['application/xml'])).to eq('application/xml')
|
224
|
+
expect(api_client.select_header_content_type(['text/plain', 'application/xml'])).to eq('text/plain')
|
225
|
+
end
|
226
|
+
end
|
227
|
+
|
228
|
+
describe '#sanitize_filename' do
|
229
|
+
let(:api_client) { Dkron::ApiClient.new }
|
230
|
+
|
231
|
+
it 'works' do
|
232
|
+
expect(api_client.sanitize_filename('sun')).to eq('sun')
|
233
|
+
expect(api_client.sanitize_filename('sun.gif')).to eq('sun.gif')
|
234
|
+
expect(api_client.sanitize_filename('../sun.gif')).to eq('sun.gif')
|
235
|
+
expect(api_client.sanitize_filename('/var/tmp/sun.gif')).to eq('sun.gif')
|
236
|
+
expect(api_client.sanitize_filename('./sun.gif')).to eq('sun.gif')
|
237
|
+
expect(api_client.sanitize_filename('..\sun.gif')).to eq('sun.gif')
|
238
|
+
expect(api_client.sanitize_filename('\var\tmp\sun.gif')).to eq('sun.gif')
|
239
|
+
expect(api_client.sanitize_filename('c:\var\tmp\sun.gif')).to eq('sun.gif')
|
240
|
+
expect(api_client.sanitize_filename('.\sun.gif')).to eq('sun.gif')
|
241
|
+
end
|
242
|
+
end
|
243
|
+
end
|
@@ -0,0 +1,42 @@
|
|
1
|
+
=begin
|
2
|
+
#Dkron REST API
|
3
|
+
|
4
|
+
#You can communicate with Dkron using a RESTful JSON API over HTTP. Dkron nodes usually listen on port `8080` for API requests. All examples in this section assume that you've found a running leader at `localhost:8080`. Dkron implements a RESTful JSON API over HTTP to communicate with software clients. Dkron listens in port `8080` by default. All examples in this section assume that you're using the default port. Default API responses are unformatted JSON add the `pretty=true` param to format the response.
|
5
|
+
|
6
|
+
OpenAPI spec version: 2.2
|
7
|
+
|
8
|
+
Generated by: https://github.com/swagger-api/swagger-codegen.git
|
9
|
+
Swagger Codegen version: 2.4.13
|
10
|
+
|
11
|
+
=end
|
12
|
+
|
13
|
+
require 'spec_helper'
|
14
|
+
|
15
|
+
describe Dkron::Configuration do
|
16
|
+
let(:config) { Dkron::Configuration.default }
|
17
|
+
|
18
|
+
before(:each) do
|
19
|
+
# uncomment below to setup host and base_path
|
20
|
+
# require 'URI'
|
21
|
+
# uri = URI.parse("http://localhost:8080/v1")
|
22
|
+
# Dkron.configure do |c|
|
23
|
+
# c.host = uri.host
|
24
|
+
# c.base_path = uri.path
|
25
|
+
# end
|
26
|
+
end
|
27
|
+
|
28
|
+
describe '#base_url' do
|
29
|
+
it 'should have the default value' do
|
30
|
+
# uncomment below to test default value of the base path
|
31
|
+
# expect(config.base_url).to eq("http://localhost:8080/v1")
|
32
|
+
end
|
33
|
+
|
34
|
+
it 'should remove trailing slashes' do
|
35
|
+
[nil, '', '/', '//'].each do |base_path|
|
36
|
+
config.base_path = base_path
|
37
|
+
# uncomment below to test trailing slashes
|
38
|
+
# expect(config.base_url).to eq("http://localhost:8080/v1")
|
39
|
+
end
|
40
|
+
end
|
41
|
+
end
|
42
|
+
end
|