aimastering 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/Gemfile +7 -0
- data/README.md +167 -0
- data/Rakefile +8 -0
- data/aimastering.gemspec +45 -0
- data/docs/AccessToken.md +8 -0
- data/docs/AccessTokenApi.md +55 -0
- data/docs/AnonymizedMastering.md +29 -0
- data/docs/Audio.md +29 -0
- data/docs/AudioAnalysis.md +10 -0
- data/docs/AudioApi.md +374 -0
- data/docs/AudioDownloadToken.md +9 -0
- data/docs/Config.md +10 -0
- data/docs/ConfigApi.md +55 -0
- data/docs/ConfigAuth0.md +10 -0
- data/docs/ConfigPaypal.md +9 -0
- data/docs/ConfigStripe.md +8 -0
- data/docs/DateTime.md +7 -0
- data/docs/ExternalSearchApi.md +64 -0
- data/docs/ExternalSearchResult.md +9 -0
- data/docs/ExternalSearchResultItunes.md +18 -0
- data/docs/ExternalSearchResultYoutube.md +15 -0
- data/docs/JWT.md +7 -0
- data/docs/Kpi.md +7 -0
- data/docs/LibraryAudio.md +38 -0
- data/docs/LibraryAudioAnalysis.md +10 -0
- data/docs/LibraryAudioApi.md +378 -0
- data/docs/LibraryAudioLike.md +10 -0
- data/docs/Mastering.md +35 -0
- data/docs/MasteringApi.md +482 -0
- data/docs/Payment.md +14 -0
- data/docs/PaymentApi.md +224 -0
- data/docs/PaymentCustomer.md +11 -0
- data/docs/PaymentCustomerApi.md +55 -0
- data/docs/Plan.md +12 -0
- data/docs/PlanApi.md +55 -0
- data/docs/StatisticsApi.md +102 -0
- data/docs/Subscription.md +17 -0
- data/docs/SubscriptionApi.md +273 -0
- data/docs/User.md +14 -0
- data/docs/UserApi.md +111 -0
- data/docs/Video.md +13 -0
- data/docs/VideoApi.md +267 -0
- data/docs/VideoDownloadToken.md +9 -0
- data/git_push.sh +55 -0
- data/lib/aimastering.rb +77 -0
- data/lib/aimastering/api/access_token_api.rb +70 -0
- data/lib/aimastering/api/audio_api.rb +404 -0
- data/lib/aimastering/api/config_api.rb +70 -0
- data/lib/aimastering/api/external_search_api.rb +84 -0
- data/lib/aimastering/api/library_audio_api.rb +416 -0
- data/lib/aimastering/api/mastering_api.rb +596 -0
- data/lib/aimastering/api/payment_api.rb +263 -0
- data/lib/aimastering/api/payment_customer_api.rb +70 -0
- data/lib/aimastering/api/plan_api.rb +70 -0
- data/lib/aimastering/api/statistics_api.rb +117 -0
- data/lib/aimastering/api/subscription_api.rb +311 -0
- data/lib/aimastering/api/user_api.rb +125 -0
- data/lib/aimastering/api/video_api.rb +295 -0
- data/lib/aimastering/api_client.rb +389 -0
- data/lib/aimastering/api_error.rb +38 -0
- data/lib/aimastering/configuration.rb +209 -0
- data/lib/aimastering/models/access_token.rb +188 -0
- data/lib/aimastering/models/anonymized_mastering.rb +520 -0
- data/lib/aimastering/models/audio.rb +377 -0
- data/lib/aimastering/models/audio_analysis.rb +209 -0
- data/lib/aimastering/models/audio_download_token.rb +197 -0
- data/lib/aimastering/models/config.rb +206 -0
- data/lib/aimastering/models/config_auth0.rb +206 -0
- data/lib/aimastering/models/config_paypal.rb +197 -0
- data/lib/aimastering/models/config_stripe.rb +188 -0
- data/lib/aimastering/models/date_time.rb +179 -0
- data/lib/aimastering/models/external_search_result.rb +201 -0
- data/lib/aimastering/models/external_search_result_itunes.rb +278 -0
- data/lib/aimastering/models/external_search_result_youtube.rb +251 -0
- data/lib/aimastering/models/jwt.rb +179 -0
- data/lib/aimastering/models/kpi.rb +179 -0
- data/lib/aimastering/models/library_audio.rb +458 -0
- data/lib/aimastering/models/library_audio_analysis.rb +209 -0
- data/lib/aimastering/models/library_audio_like.rb +209 -0
- data/lib/aimastering/models/mastering.rb +587 -0
- data/lib/aimastering/models/payment.rb +275 -0
- data/lib/aimastering/models/payment_customer.rb +215 -0
- data/lib/aimastering/models/plan.rb +269 -0
- data/lib/aimastering/models/subscription.rb +302 -0
- data/lib/aimastering/models/user.rb +275 -0
- data/lib/aimastering/models/video.rb +233 -0
- data/lib/aimastering/models/video_download_token.rb +197 -0
- data/lib/aimastering/version.rb +15 -0
- data/spec/api/access_token_api_spec.rb +46 -0
- data/spec/api/audio_api_spec.rb +118 -0
- data/spec/api/config_api_spec.rb +46 -0
- data/spec/api/external_search_api_spec.rb +48 -0
- data/spec/api/library_audio_api_spec.rb +119 -0
- data/spec/api/mastering_api_spec.rb +154 -0
- data/spec/api/payment_api_spec.rb +85 -0
- data/spec/api/payment_customer_api_spec.rb +46 -0
- data/spec/api/plan_api_spec.rb +46 -0
- data/spec/api/statistics_api_spec.rb +57 -0
- data/spec/api/subscription_api_spec.rb +96 -0
- data/spec/api/user_api_spec.rb +59 -0
- data/spec/api/video_api_spec.rb +94 -0
- data/spec/api_client_spec.rb +226 -0
- data/spec/configuration_spec.rb +42 -0
- data/spec/models/access_token_spec.rb +42 -0
- data/spec/models/anonymized_mastering_spec.rb +192 -0
- data/spec/models/audio_analysis_spec.rb +54 -0
- data/spec/models/audio_download_token_spec.rb +48 -0
- data/spec/models/audio_spec.rb +168 -0
- data/spec/models/config_auth0_spec.rb +54 -0
- data/spec/models/config_paypal_spec.rb +48 -0
- data/spec/models/config_spec.rb +54 -0
- data/spec/models/config_stripe_spec.rb +42 -0
- data/spec/models/date_time_spec.rb +36 -0
- data/spec/models/external_search_result_itunes_spec.rb +102 -0
- data/spec/models/external_search_result_spec.rb +48 -0
- data/spec/models/external_search_result_youtube_spec.rb +84 -0
- data/spec/models/jwt_spec.rb +36 -0
- data/spec/models/kpi_spec.rb +36 -0
- data/spec/models/library_audio_analysis_spec.rb +54 -0
- data/spec/models/library_audio_like_spec.rb +54 -0
- data/spec/models/library_audio_spec.rb +222 -0
- data/spec/models/mastering_spec.rb +224 -0
- data/spec/models/payment_customer_spec.rb +60 -0
- data/spec/models/payment_spec.rb +82 -0
- data/spec/models/plan_spec.rb +74 -0
- data/spec/models/subscription_spec.rb +100 -0
- data/spec/models/user_spec.rb +82 -0
- data/spec/models/video_download_token_spec.rb +48 -0
- data/spec/models/video_spec.rb +72 -0
- data/spec/spec_helper.rb +111 -0
- metadata +397 -0
|
@@ -0,0 +1,57 @@
|
|
|
1
|
+
=begin
|
|
2
|
+
#AI Mastering API
|
|
3
|
+
|
|
4
|
+
#This is a AI Mastering API document. You can use the mastering feature of [AI Mastering](https://aimastering.com) through this API.
|
|
5
|
+
|
|
6
|
+
OpenAPI spec version: 1.0.0
|
|
7
|
+
Contact: aimasteringcom@gmail.com
|
|
8
|
+
Generated by: https://github.com/swagger-api/swagger-codegen.git
|
|
9
|
+
Swagger Codegen version: 2.3.1
|
|
10
|
+
|
|
11
|
+
=end
|
|
12
|
+
|
|
13
|
+
require 'spec_helper'
|
|
14
|
+
require 'json'
|
|
15
|
+
|
|
16
|
+
# Unit tests for Aimastering::StatisticsApi
|
|
17
|
+
# Automatically generated by swagger-codegen (github.com/swagger-api/swagger-codegen)
|
|
18
|
+
# Please update as you see appropriate
|
|
19
|
+
describe 'StatisticsApi' do
|
|
20
|
+
before do
|
|
21
|
+
# run before each test
|
|
22
|
+
@instance = Aimastering::StatisticsApi.new
|
|
23
|
+
end
|
|
24
|
+
|
|
25
|
+
after do
|
|
26
|
+
# run after each test
|
|
27
|
+
end
|
|
28
|
+
|
|
29
|
+
describe 'test an instance of StatisticsApi' do
|
|
30
|
+
it 'should create an instance of StatisticsApi' do
|
|
31
|
+
expect(@instance).to be_instance_of(Aimastering::StatisticsApi)
|
|
32
|
+
end
|
|
33
|
+
end
|
|
34
|
+
|
|
35
|
+
# unit tests for list_anonymized_masterings
|
|
36
|
+
# Get anonymized masterings.
|
|
37
|
+
#
|
|
38
|
+
# @param [Hash] opts the optional parameters
|
|
39
|
+
# @return [Array<AnonymizedMastering>]
|
|
40
|
+
describe 'list_anonymized_masterings 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 list_kpis
|
|
47
|
+
# Get KPIs.
|
|
48
|
+
#
|
|
49
|
+
# @param [Hash] opts the optional parameters
|
|
50
|
+
# @return [Kpi]
|
|
51
|
+
describe 'list_kpis 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
|
+
end
|
|
@@ -0,0 +1,96 @@
|
|
|
1
|
+
=begin
|
|
2
|
+
#AI Mastering API
|
|
3
|
+
|
|
4
|
+
#This is a AI Mastering API document. You can use the mastering feature of [AI Mastering](https://aimastering.com) through this API.
|
|
5
|
+
|
|
6
|
+
OpenAPI spec version: 1.0.0
|
|
7
|
+
Contact: aimasteringcom@gmail.com
|
|
8
|
+
Generated by: https://github.com/swagger-api/swagger-codegen.git
|
|
9
|
+
Swagger Codegen version: 2.3.1
|
|
10
|
+
|
|
11
|
+
=end
|
|
12
|
+
|
|
13
|
+
require 'spec_helper'
|
|
14
|
+
require 'json'
|
|
15
|
+
|
|
16
|
+
# Unit tests for Aimastering::SubscriptionApi
|
|
17
|
+
# Automatically generated by swagger-codegen (github.com/swagger-api/swagger-codegen)
|
|
18
|
+
# Please update as you see appropriate
|
|
19
|
+
describe 'SubscriptionApi' do
|
|
20
|
+
before do
|
|
21
|
+
# run before each test
|
|
22
|
+
@instance = Aimastering::SubscriptionApi.new
|
|
23
|
+
end
|
|
24
|
+
|
|
25
|
+
after do
|
|
26
|
+
# run after each test
|
|
27
|
+
end
|
|
28
|
+
|
|
29
|
+
describe 'test an instance of SubscriptionApi' do
|
|
30
|
+
it 'should create an instance of SubscriptionApi' do
|
|
31
|
+
expect(@instance).to be_instance_of(Aimastering::SubscriptionApi)
|
|
32
|
+
end
|
|
33
|
+
end
|
|
34
|
+
|
|
35
|
+
# unit tests for cancel_subscription
|
|
36
|
+
# Cancel a subscription by id.
|
|
37
|
+
#
|
|
38
|
+
# @param id Subscription id
|
|
39
|
+
# @param [Hash] opts the optional parameters
|
|
40
|
+
# @return [Subscription]
|
|
41
|
+
describe 'cancel_subscription 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 cancel_subscription_cancellation
|
|
48
|
+
# Cancel the subscription cancellation by id.
|
|
49
|
+
#
|
|
50
|
+
# @param id Subscription id
|
|
51
|
+
# @param [Hash] opts the optional parameters
|
|
52
|
+
# @return [Subscription]
|
|
53
|
+
describe 'cancel_subscription_cancellation 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 create_subscription
|
|
60
|
+
# Create a new subscription.
|
|
61
|
+
#
|
|
62
|
+
# @param service This parameter represents the payment message.
|
|
63
|
+
# @param [Hash] opts the optional parameters
|
|
64
|
+
# @option opts [String] :stripe_plan_id The Stripe plan id. This parameter is effective only when the service is \"stripe\".
|
|
65
|
+
# @option opts [String] :token This parameter represents the card token. This parameter is effective only when the service is \"stripe\".
|
|
66
|
+
# @return [Subscription]
|
|
67
|
+
describe 'create_subscription test' do
|
|
68
|
+
it "should work" do
|
|
69
|
+
# assertion here. ref: https://www.relishapp.com/rspec/rspec-expectations/docs/built-in-matchers
|
|
70
|
+
end
|
|
71
|
+
end
|
|
72
|
+
|
|
73
|
+
# unit tests for get_subscription
|
|
74
|
+
# Get a subscription by id.
|
|
75
|
+
#
|
|
76
|
+
# @param id Subscription id
|
|
77
|
+
# @param [Hash] opts the optional parameters
|
|
78
|
+
# @return [Subscription]
|
|
79
|
+
describe 'get_subscription 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
|
+
# unit tests for list_subscriptions
|
|
86
|
+
# Get all accessable subscriptions.
|
|
87
|
+
#
|
|
88
|
+
# @param [Hash] opts the optional parameters
|
|
89
|
+
# @return [Array<Subscription>]
|
|
90
|
+
describe 'list_subscriptions test' do
|
|
91
|
+
it "should work" do
|
|
92
|
+
# assertion here. ref: https://www.relishapp.com/rspec/rspec-expectations/docs/built-in-matchers
|
|
93
|
+
end
|
|
94
|
+
end
|
|
95
|
+
|
|
96
|
+
end
|
|
@@ -0,0 +1,59 @@
|
|
|
1
|
+
=begin
|
|
2
|
+
#AI Mastering API
|
|
3
|
+
|
|
4
|
+
#This is a AI Mastering API document. You can use the mastering feature of [AI Mastering](https://aimastering.com) through this API.
|
|
5
|
+
|
|
6
|
+
OpenAPI spec version: 1.0.0
|
|
7
|
+
Contact: aimasteringcom@gmail.com
|
|
8
|
+
Generated by: https://github.com/swagger-api/swagger-codegen.git
|
|
9
|
+
Swagger Codegen version: 2.3.1
|
|
10
|
+
|
|
11
|
+
=end
|
|
12
|
+
|
|
13
|
+
require 'spec_helper'
|
|
14
|
+
require 'json'
|
|
15
|
+
|
|
16
|
+
# Unit tests for Aimastering::UserApi
|
|
17
|
+
# Automatically generated by swagger-codegen (github.com/swagger-api/swagger-codegen)
|
|
18
|
+
# Please update as you see appropriate
|
|
19
|
+
describe 'UserApi' do
|
|
20
|
+
before do
|
|
21
|
+
# run before each test
|
|
22
|
+
@instance = Aimastering::UserApi.new
|
|
23
|
+
end
|
|
24
|
+
|
|
25
|
+
after do
|
|
26
|
+
# run after each test
|
|
27
|
+
end
|
|
28
|
+
|
|
29
|
+
describe 'test an instance of UserApi' do
|
|
30
|
+
it 'should create an instance of UserApi' do
|
|
31
|
+
expect(@instance).to be_instance_of(Aimastering::UserApi)
|
|
32
|
+
end
|
|
33
|
+
end
|
|
34
|
+
|
|
35
|
+
# unit tests for get_self
|
|
36
|
+
# Get self user.
|
|
37
|
+
#
|
|
38
|
+
# @param [Hash] opts the optional parameters
|
|
39
|
+
# @return [User]
|
|
40
|
+
describe 'get_self 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 update_self
|
|
47
|
+
# Update self user.
|
|
48
|
+
#
|
|
49
|
+
# @param [Hash] opts the optional parameters
|
|
50
|
+
# @option opts [BOOLEAN] :agreed_terms_of_service Whether you agreed terms of service.
|
|
51
|
+
# @option opts [String] :email The email.
|
|
52
|
+
# @return [User]
|
|
53
|
+
describe 'update_self 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
|
+
end
|
|
@@ -0,0 +1,94 @@
|
|
|
1
|
+
=begin
|
|
2
|
+
#AI Mastering API
|
|
3
|
+
|
|
4
|
+
#This is a AI Mastering API document. You can use the mastering feature of [AI Mastering](https://aimastering.com) through this API.
|
|
5
|
+
|
|
6
|
+
OpenAPI spec version: 1.0.0
|
|
7
|
+
Contact: aimasteringcom@gmail.com
|
|
8
|
+
Generated by: https://github.com/swagger-api/swagger-codegen.git
|
|
9
|
+
Swagger Codegen version: 2.3.1
|
|
10
|
+
|
|
11
|
+
=end
|
|
12
|
+
|
|
13
|
+
require 'spec_helper'
|
|
14
|
+
require 'json'
|
|
15
|
+
|
|
16
|
+
# Unit tests for Aimastering::VideoApi
|
|
17
|
+
# Automatically generated by swagger-codegen (github.com/swagger-api/swagger-codegen)
|
|
18
|
+
# Please update as you see appropriate
|
|
19
|
+
describe 'VideoApi' do
|
|
20
|
+
before do
|
|
21
|
+
# run before each test
|
|
22
|
+
@instance = Aimastering::VideoApi.new
|
|
23
|
+
end
|
|
24
|
+
|
|
25
|
+
after do
|
|
26
|
+
# run after each test
|
|
27
|
+
end
|
|
28
|
+
|
|
29
|
+
describe 'test an instance of VideoApi' do
|
|
30
|
+
it 'should create an instance of VideoApi' do
|
|
31
|
+
expect(@instance).to be_instance_of(Aimastering::VideoApi)
|
|
32
|
+
end
|
|
33
|
+
end
|
|
34
|
+
|
|
35
|
+
# unit tests for download_video
|
|
36
|
+
# Download an video data by id.
|
|
37
|
+
#
|
|
38
|
+
# @param id Video id
|
|
39
|
+
# @param [Hash] opts the optional parameters
|
|
40
|
+
# @return [String]
|
|
41
|
+
describe 'download_video 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 download_video_by_token
|
|
48
|
+
# Download an video data by video_download_token.
|
|
49
|
+
#
|
|
50
|
+
# @param download_token Video download token
|
|
51
|
+
# @param [Hash] opts the optional parameters
|
|
52
|
+
# @return [String]
|
|
53
|
+
describe 'download_video_by_token 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 get_video
|
|
60
|
+
# Get an video by id.
|
|
61
|
+
#
|
|
62
|
+
# @param id Video id
|
|
63
|
+
# @param [Hash] opts the optional parameters
|
|
64
|
+
# @return [Video]
|
|
65
|
+
describe 'get_video 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
|
+
# unit tests for get_video_download_token
|
|
72
|
+
# Get an video download token by id.
|
|
73
|
+
#
|
|
74
|
+
# @param id Video id
|
|
75
|
+
# @param [Hash] opts the optional parameters
|
|
76
|
+
# @return [VideoDownloadToken]
|
|
77
|
+
describe 'get_video_download_token test' do
|
|
78
|
+
it "should work" do
|
|
79
|
+
# assertion here. ref: https://www.relishapp.com/rspec/rspec-expectations/docs/built-in-matchers
|
|
80
|
+
end
|
|
81
|
+
end
|
|
82
|
+
|
|
83
|
+
# unit tests for list_videos
|
|
84
|
+
# Get all videos accessable.
|
|
85
|
+
#
|
|
86
|
+
# @param [Hash] opts the optional parameters
|
|
87
|
+
# @return [Array<Video>]
|
|
88
|
+
describe 'list_videos test' do
|
|
89
|
+
it "should work" do
|
|
90
|
+
# assertion here. ref: https://www.relishapp.com/rspec/rspec-expectations/docs/built-in-matchers
|
|
91
|
+
end
|
|
92
|
+
end
|
|
93
|
+
|
|
94
|
+
end
|
|
@@ -0,0 +1,226 @@
|
|
|
1
|
+
=begin
|
|
2
|
+
#AI Mastering API
|
|
3
|
+
|
|
4
|
+
#This is a AI Mastering API document. You can use the mastering feature of [AI Mastering](https://aimastering.com) through this API.
|
|
5
|
+
|
|
6
|
+
OpenAPI spec version: 1.0.0
|
|
7
|
+
Contact: aimasteringcom@gmail.com
|
|
8
|
+
Generated by: https://github.com/swagger-api/swagger-codegen.git
|
|
9
|
+
Swagger Codegen version: 2.3.1
|
|
10
|
+
|
|
11
|
+
=end
|
|
12
|
+
|
|
13
|
+
require 'spec_helper'
|
|
14
|
+
|
|
15
|
+
describe Aimastering::ApiClient do
|
|
16
|
+
context 'initialization' do
|
|
17
|
+
context 'URL stuff' do
|
|
18
|
+
context 'host' do
|
|
19
|
+
it 'removes http from host' do
|
|
20
|
+
Aimastering.configure { |c| c.host = 'http://example.com' }
|
|
21
|
+
expect(Aimastering::Configuration.default.host).to eq('example.com')
|
|
22
|
+
end
|
|
23
|
+
|
|
24
|
+
it 'removes https from host' do
|
|
25
|
+
Aimastering.configure { |c| c.host = 'https://wookiee.com' }
|
|
26
|
+
expect(Aimastering::ApiClient.default.config.host).to eq('wookiee.com')
|
|
27
|
+
end
|
|
28
|
+
|
|
29
|
+
it 'removes trailing path from host' do
|
|
30
|
+
Aimastering.configure { |c| c.host = 'hobo.com/v4' }
|
|
31
|
+
expect(Aimastering::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
|
+
Aimastering.configure { |c| c.base_path = 'v4/dog' }
|
|
38
|
+
expect(Aimastering::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
|
+
Aimastering.configure { |c| c.base_path = '/v4/dog' }
|
|
43
|
+
expect(Aimastering::Configuration.default.base_path).to eq('/v4/dog')
|
|
44
|
+
end
|
|
45
|
+
|
|
46
|
+
it "ends up as a blank string if nil" do
|
|
47
|
+
Aimastering.configure { |c| c.base_path = nil }
|
|
48
|
+
expect(Aimastering::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) { Aimastering::Configuration.new }
|
|
56
|
+
let(:api_client) { Aimastering::ApiClient.new(config) }
|
|
57
|
+
|
|
58
|
+
it "defaults to nil" do
|
|
59
|
+
expect(Aimastering::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) { Aimastering::Configuration.new }
|
|
75
|
+
let(:api_client) { Aimastering::ApiClient.new(config) }
|
|
76
|
+
|
|
77
|
+
it "defaults to 0" do
|
|
78
|
+
expect(Aimastering::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 = Aimastering::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 = Aimastering::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 = Aimastering::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 = Aimastering::ApiClient.new
|
|
125
|
+
#_model = Aimastering::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) { Aimastering::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) { Aimastering::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) { Aimastering::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) { Aimastering::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) { Aimastering::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
|