reliefweb-api 1.0.0
Sign up to get free protection for your applications and to get access to all the features.
- checksums.yaml +7 -0
- data/Gemfile +7 -0
- data/README.md +163 -0
- data/Rakefile +8 -0
- data/config.json +8 -0
- data/docs/Category.md +9 -0
- data/docs/CountriesApi.md +202 -0
- data/docs/Country.md +12 -0
- data/docs/Date.md +10 -0
- data/docs/Disaster.md +20 -0
- data/docs/DisastersApi.md +202 -0
- data/docs/DiscoveryApi.md +88 -0
- data/docs/Error.md +9 -0
- data/docs/ErrorDefinition.md +7 -0
- data/docs/FacetsFieldPost.md +7 -0
- data/docs/FacetsFilterPost.md +7 -0
- data/docs/FacetsIntervalPost.md +7 -0
- data/docs/FacetsLimitPost.md +7 -0
- data/docs/FacetsNamePost.md +7 -0
- data/docs/FacetsSortPost.md +7 -0
- data/docs/FieldsExcludePost.md +7 -0
- data/docs/FieldsIncludePost.md +7 -0
- data/docs/File.md +12 -0
- data/docs/FilterConditionsPost.md +7 -0
- data/docs/FilterFieldPost.md +7 -0
- data/docs/FilterNegatePost.md +7 -0
- data/docs/FilterOperatorPost.md +7 -0
- data/docs/FilterValuePost.md +7 -0
- data/docs/Job.md +23 -0
- data/docs/JobsApi.md +202 -0
- data/docs/Language.md +10 -0
- data/docs/LimitPost.md +7 -0
- data/docs/Location.md +8 -0
- data/docs/OffsetPost.md +7 -0
- data/docs/PostParams.md +28 -0
- data/docs/PresetPost.md +7 -0
- data/docs/ProfilePost.md +7 -0
- data/docs/QueryFieldsPost.md +7 -0
- data/docs/QueryOperatorPost.md +7 -0
- data/docs/QueryValuePost.md +7 -0
- data/docs/Report.md +19 -0
- data/docs/ReportsApi.md +202 -0
- data/docs/SortPost.md +7 -0
- data/docs/Source.md +14 -0
- data/docs/SourcesApi.md +202 -0
- data/docs/Training.md +23 -0
- data/docs/TrainingApi.md +202 -0
- data/git_push.sh +55 -0
- data/lib/reliefweb-api.rb +81 -0
- data/lib/reliefweb-api/api/countries_api.rb +277 -0
- data/lib/reliefweb-api/api/disasters_api.rb +277 -0
- data/lib/reliefweb-api/api/discovery_api.rb +113 -0
- data/lib/reliefweb-api/api/jobs_api.rb +277 -0
- data/lib/reliefweb-api/api/reports_api.rb +277 -0
- data/lib/reliefweb-api/api/sources_api.rb +277 -0
- data/lib/reliefweb-api/api/training_api.rb +277 -0
- data/lib/reliefweb-api/api_client.rb +388 -0
- data/lib/reliefweb-api/api_error.rb +38 -0
- data/lib/reliefweb-api/configuration.rb +202 -0
- data/lib/reliefweb-api/models/category.rb +192 -0
- data/lib/reliefweb-api/models/country.rb +220 -0
- data/lib/reliefweb-api/models/date.rb +202 -0
- data/lib/reliefweb-api/models/disaster.rb +299 -0
- data/lib/reliefweb-api/models/error.rb +192 -0
- data/lib/reliefweb-api/models/error_definition.rb +174 -0
- data/lib/reliefweb-api/models/facets_field_post.rb +175 -0
- data/lib/reliefweb-api/models/facets_filter_post.rb +175 -0
- data/lib/reliefweb-api/models/facets_interval_post.rb +32 -0
- data/lib/reliefweb-api/models/facets_limit_post.rb +175 -0
- data/lib/reliefweb-api/models/facets_name_post.rb +175 -0
- data/lib/reliefweb-api/models/facets_sort_post.rb +175 -0
- data/lib/reliefweb-api/models/fields_exclude_post.rb +175 -0
- data/lib/reliefweb-api/models/fields_include_post.rb +175 -0
- data/lib/reliefweb-api/models/file.rb +219 -0
- data/lib/reliefweb-api/models/filter_conditions_post.rb +175 -0
- data/lib/reliefweb-api/models/filter_field_post.rb +175 -0
- data/lib/reliefweb-api/models/filter_negate_post.rb +175 -0
- data/lib/reliefweb-api/models/filter_operator_post.rb +30 -0
- data/lib/reliefweb-api/models/filter_value_post.rb +175 -0
- data/lib/reliefweb-api/models/job.rb +330 -0
- data/lib/reliefweb-api/models/language.rb +201 -0
- data/lib/reliefweb-api/models/limit_post.rb +175 -0
- data/lib/reliefweb-api/models/location.rb +183 -0
- data/lib/reliefweb-api/models/offset_post.rb +175 -0
- data/lib/reliefweb-api/models/post_params.rb +363 -0
- data/lib/reliefweb-api/models/preset_post.rb +31 -0
- data/lib/reliefweb-api/models/profile_post.rb +31 -0
- data/lib/reliefweb-api/models/query_fields_post.rb +175 -0
- data/lib/reliefweb-api/models/query_operator_post.rb +30 -0
- data/lib/reliefweb-api/models/query_value_post.rb +175 -0
- data/lib/reliefweb-api/models/report.rb +293 -0
- data/lib/reliefweb-api/models/sort_post.rb +175 -0
- data/lib/reliefweb-api/models/source.rb +237 -0
- data/lib/reliefweb-api/models/training.rb +330 -0
- data/lib/reliefweb-api/version.rb +15 -0
- data/reliefweb-api.gemspec +45 -0
- data/spec/api/countries_api_spec.rb +94 -0
- data/spec/api/disasters_api_spec.rb +94 -0
- data/spec/api/discovery_api_spec.rb +55 -0
- data/spec/api/jobs_api_spec.rb +94 -0
- data/spec/api/reports_api_spec.rb +94 -0
- data/spec/api/sources_api_spec.rb +94 -0
- data/spec/api/training_api_spec.rb +94 -0
- data/spec/api_client_spec.rb +226 -0
- data/spec/configuration_spec.rb +42 -0
- data/spec/models/category_spec.rb +47 -0
- data/spec/models/country_spec.rb +65 -0
- data/spec/models/date_spec.rb +53 -0
- data/spec/models/disaster_spec.rb +113 -0
- data/spec/models/error_definition_spec.rb +35 -0
- data/spec/models/error_spec.rb +47 -0
- data/spec/models/facets_field_post_spec.rb +35 -0
- data/spec/models/facets_filter_post_spec.rb +35 -0
- data/spec/models/facets_interval_post_spec.rb +35 -0
- data/spec/models/facets_limit_post_spec.rb +35 -0
- data/spec/models/facets_name_post_spec.rb +35 -0
- data/spec/models/facets_sort_post_spec.rb +35 -0
- data/spec/models/fields_exclude_post_spec.rb +35 -0
- data/spec/models/fields_include_post_spec.rb +35 -0
- data/spec/models/file_spec.rb +65 -0
- data/spec/models/filter_conditions_post_spec.rb +35 -0
- data/spec/models/filter_field_post_spec.rb +35 -0
- data/spec/models/filter_negate_post_spec.rb +35 -0
- data/spec/models/filter_operator_post_spec.rb +35 -0
- data/spec/models/filter_value_post_spec.rb +35 -0
- data/spec/models/job_spec.rb +131 -0
- data/spec/models/language_spec.rb +53 -0
- data/spec/models/limit_post_spec.rb +35 -0
- data/spec/models/location_spec.rb +41 -0
- data/spec/models/offset_post_spec.rb +35 -0
- data/spec/models/post_params_spec.rb +161 -0
- data/spec/models/preset_post_spec.rb +35 -0
- data/spec/models/profile_post_spec.rb +35 -0
- data/spec/models/query_fields_post_spec.rb +35 -0
- data/spec/models/query_operator_post_spec.rb +35 -0
- data/spec/models/query_value_post_spec.rb +35 -0
- data/spec/models/report_spec.rb +107 -0
- data/spec/models/sort_post_spec.rb +35 -0
- data/spec/models/source_spec.rb +77 -0
- data/spec/models/training_spec.rb +131 -0
- data/spec/spec_helper.rb +111 -0
- metadata +416 -0
@@ -0,0 +1,94 @@
|
|
1
|
+
=begin
|
2
|
+
#The ReliefWeb API
|
3
|
+
|
4
|
+
#Interactive API documentation for the data API of Reliefweb.int. ReliefWeb is a leading source of information on global crises and disasters.<br><br> Our continuous coverage and archive going back to the 1970s makes ReliefWeb an unparalleled resource for both current and historical data on humanitarian response.<br><br> The vast majority of content on ReliefWeb has been contributed by humanitarian partners. We owe it to the community to make data more accessible and reusable, so that developers can build tools that increase exposure for valuable content and facilitate analysis for better decisions.
|
5
|
+
|
6
|
+
OpenAPI spec version: v1
|
7
|
+
Contact: api@reliefweb.int
|
8
|
+
Generated by: https://github.com/swagger-api/swagger-codegen.git
|
9
|
+
Swagger Codegen version: 2.4.12
|
10
|
+
|
11
|
+
=end
|
12
|
+
|
13
|
+
require 'spec_helper'
|
14
|
+
require 'json'
|
15
|
+
|
16
|
+
# Unit tests for ReliefWebAPI::SourcesApi
|
17
|
+
# Automatically generated by swagger-codegen (github.com/swagger-api/swagger-codegen)
|
18
|
+
# Please update as you see appropriate
|
19
|
+
describe 'SourcesApi' do
|
20
|
+
before do
|
21
|
+
# run before each test
|
22
|
+
@instance = ReliefWebAPI::SourcesApi.new
|
23
|
+
end
|
24
|
+
|
25
|
+
after do
|
26
|
+
# run after each test
|
27
|
+
end
|
28
|
+
|
29
|
+
describe 'test an instance of SourcesApi' do
|
30
|
+
it 'should create an instance of SourcesApi' do
|
31
|
+
expect(@instance).to be_instance_of(ReliefWebAPI::SourcesApi)
|
32
|
+
end
|
33
|
+
end
|
34
|
+
|
35
|
+
# unit tests for get_source_by_id
|
36
|
+
# Find source by its unique ID
|
37
|
+
# Individual sources.
|
38
|
+
# @param source_id The identifier of the source
|
39
|
+
# @param [Hash] opts the optional parameters
|
40
|
+
# @option opts [String] :profile Pre-built standard selections of fields to return for ease of displaying lists or items.
|
41
|
+
# @option opts [Array<String>] :fields_include Specify which fields to include for each item. Defaults to an item label.
|
42
|
+
# @option opts [Array<String>] :fields_exclude Specify sub-fields to exclude from overall results. For example, if you include <code>date</code> you may exclude <code>date.changed</code>.
|
43
|
+
# @return [Source]
|
44
|
+
describe 'get_source_by_id test' do
|
45
|
+
it 'should work' do
|
46
|
+
# assertion here. ref: https://www.relishapp.com/rspec/rspec-expectations/docs/built-in-matchers
|
47
|
+
end
|
48
|
+
end
|
49
|
+
|
50
|
+
# unit tests for get_sources
|
51
|
+
# List or search organizations providing content to ReliefWeb.
|
52
|
+
#
|
53
|
+
# @param [Hash] opts the optional parameters
|
54
|
+
# @option opts [String] :query_value Specify the terms of your fuzzy search. The default is no query.
|
55
|
+
# @option opts [String] :query_operator Specify the operator by which your search query words will be combined.
|
56
|
+
# @option opts [Array<String>] :query_fields Specify which fields to target with your search. You may use boost syntax here, see the Advanced API Usage documentation.
|
57
|
+
# @option opts [String] :filter_field Field to filter by. Every condition must contain either a <code>field</code> or <code>conditions</code> property.
|
58
|
+
# @option opts [Array<String>] :filter_value Value for the field being filtered. Leave blank to require existence of the field, must be present for <code>range</code> and <code>value</code> conditions.
|
59
|
+
# @option opts [String] :filter_operator Operator by which filters will be combined.
|
60
|
+
# @option opts [BOOLEAN] :filter_negate Reverse the filter to include those items that do not match.
|
61
|
+
# @option opts [Array<String>] :filter_conditions This property is used to combine conditions with a logical connector (the <code>operator</code> property). Every condition must contain one of the <code>field</code> or <code>conditions</code> properties.
|
62
|
+
# @option opts [String] :facets_field Field to facet by. May include dates, references or the status field.
|
63
|
+
# @option opts [String] :facets_name Identifier for resulting facet data. Useful when faceting multiple ways on the same field.
|
64
|
+
# @option opts [Integer] :facets_limit Limit the number of facets returned for non-date based facets.
|
65
|
+
# @option opts [String] :facets_sort The sort order of non-date facets. Sorting may be by <code>value</code> or <code>count</code> of terms, and ascending or descending. <code>count</code> defaults to <code>desc</code>, <code>value</code> defaults to <code>asc</code>.
|
66
|
+
# @option opts [Array<String>] :facets_filter Apply all the same capabilities of the filter parameter to the specific results of this facet request.
|
67
|
+
# @option opts [String] :facets_interval Round date information to the nearest interval unit. Apply all the same capabilities of the filter parameter to the specific results of this facet request.
|
68
|
+
# @option opts [Array<String>] :fields_include Specify which fields to include for each item. Defaults to an item label.
|
69
|
+
# @option opts [Array<String>] :fields_exclude Specify sub-fields to exclude from overall results. For example, if you include <code>date</code> you may exclude <code>date.changed</code>.
|
70
|
+
# @option opts [Integer] :limit The maximum number of items to return for a list query. The default is <code>10</code> and the maximum <code>1000</code>.
|
71
|
+
# @option opts [Integer] :offset The offset from which to return the items in a list query. Allows paging through all results. The default is <code>0</code>.
|
72
|
+
# @option opts [Array<String>] :sort Sort the list results. Defaults to search relevance. Values in the form of <code>fieldname:(asc|desc)</code>.
|
73
|
+
# @option opts [String] :profile Pre-built standard selections of fields to return for ease of displaying lists or items.
|
74
|
+
# @option opts [String] :preset Pre-built standard configurations of queries, filters and sorts for common use cases.
|
75
|
+
# @return [Source]
|
76
|
+
describe 'get_sources test' do
|
77
|
+
it 'should work' do
|
78
|
+
# assertion here. ref: https://www.relishapp.com/rspec/rspec-expectations/docs/built-in-matchers
|
79
|
+
end
|
80
|
+
end
|
81
|
+
|
82
|
+
# unit tests for search_sources
|
83
|
+
# List or search organizations providing content to ReliefWeb.
|
84
|
+
#
|
85
|
+
# @param [Hash] opts the optional parameters
|
86
|
+
# @option opts [PostParams] :fields Returned fields
|
87
|
+
# @return [Source]
|
88
|
+
describe 'search_sources 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,94 @@
|
|
1
|
+
=begin
|
2
|
+
#The ReliefWeb API
|
3
|
+
|
4
|
+
#Interactive API documentation for the data API of Reliefweb.int. ReliefWeb is a leading source of information on global crises and disasters.<br><br> Our continuous coverage and archive going back to the 1970s makes ReliefWeb an unparalleled resource for both current and historical data on humanitarian response.<br><br> The vast majority of content on ReliefWeb has been contributed by humanitarian partners. We owe it to the community to make data more accessible and reusable, so that developers can build tools that increase exposure for valuable content and facilitate analysis for better decisions.
|
5
|
+
|
6
|
+
OpenAPI spec version: v1
|
7
|
+
Contact: api@reliefweb.int
|
8
|
+
Generated by: https://github.com/swagger-api/swagger-codegen.git
|
9
|
+
Swagger Codegen version: 2.4.12
|
10
|
+
|
11
|
+
=end
|
12
|
+
|
13
|
+
require 'spec_helper'
|
14
|
+
require 'json'
|
15
|
+
|
16
|
+
# Unit tests for ReliefWebAPI::TrainingApi
|
17
|
+
# Automatically generated by swagger-codegen (github.com/swagger-api/swagger-codegen)
|
18
|
+
# Please update as you see appropriate
|
19
|
+
describe 'TrainingApi' do
|
20
|
+
before do
|
21
|
+
# run before each test
|
22
|
+
@instance = ReliefWebAPI::TrainingApi.new
|
23
|
+
end
|
24
|
+
|
25
|
+
after do
|
26
|
+
# run after each test
|
27
|
+
end
|
28
|
+
|
29
|
+
describe 'test an instance of TrainingApi' do
|
30
|
+
it 'should create an instance of TrainingApi' do
|
31
|
+
expect(@instance).to be_instance_of(ReliefWebAPI::TrainingApi)
|
32
|
+
end
|
33
|
+
end
|
34
|
+
|
35
|
+
# unit tests for get_training
|
36
|
+
# List or search humanitarian learning opportunities.
|
37
|
+
#
|
38
|
+
# @param [Hash] opts the optional parameters
|
39
|
+
# @option opts [String] :query_value Specify the terms of your fuzzy search. The default is no query.
|
40
|
+
# @option opts [String] :query_operator Specify the operator by which your search query words will be combined.
|
41
|
+
# @option opts [Array<String>] :query_fields Specify which fields to target with your search. You may use boost syntax here, see the Advanced API Usage documentation.
|
42
|
+
# @option opts [String] :filter_field Field to filter by. Every condition must contain either a <code>field</code> or <code>conditions</code> property.
|
43
|
+
# @option opts [Array<String>] :filter_value Value for the field being filtered. Leave blank to require existence of the field, must be present for <code>range</code> and <code>value</code> conditions.
|
44
|
+
# @option opts [String] :filter_operator Operator by which filters will be combined.
|
45
|
+
# @option opts [BOOLEAN] :filter_negate Reverse the filter to include those items that do not match.
|
46
|
+
# @option opts [Array<String>] :filter_conditions This property is used to combine conditions with a logical connector (the <code>operator</code> property). Every condition must contain one of the <code>field</code> or <code>conditions</code> properties.
|
47
|
+
# @option opts [String] :facets_field Field to facet by. May include dates, references or the status field.
|
48
|
+
# @option opts [String] :facets_name Identifier for resulting facet data. Useful when faceting multiple ways on the same field.
|
49
|
+
# @option opts [Integer] :facets_limit Limit the number of facets returned for non-date based facets.
|
50
|
+
# @option opts [String] :facets_sort The sort order of non-date facets. Sorting may be by <code>value</code> or <code>count</code> of terms, and ascending or descending. <code>count</code> defaults to <code>desc</code>, <code>value</code> defaults to <code>asc</code>.
|
51
|
+
# @option opts [Array<String>] :facets_filter Apply all the same capabilities of the filter parameter to the specific results of this facet request.
|
52
|
+
# @option opts [String] :facets_interval Round date information to the nearest interval unit. Apply all the same capabilities of the filter parameter to the specific results of this facet request.
|
53
|
+
# @option opts [Array<String>] :fields_include Specify which fields to include for each item. Defaults to an item label.
|
54
|
+
# @option opts [Array<String>] :fields_exclude Specify sub-fields to exclude from overall results. For example, if you include <code>date</code> you may exclude <code>date.changed</code>.
|
55
|
+
# @option opts [Integer] :limit The maximum number of items to return for a list query. The default is <code>10</code> and the maximum <code>1000</code>.
|
56
|
+
# @option opts [Integer] :offset The offset from which to return the items in a list query. Allows paging through all results. The default is <code>0</code>.
|
57
|
+
# @option opts [Array<String>] :sort Sort the list results. Defaults to search relevance. Values in the form of <code>fieldname:(asc|desc)</code>.
|
58
|
+
# @option opts [String] :profile Pre-built standard selections of fields to return for ease of displaying lists or items.
|
59
|
+
# @option opts [String] :preset Pre-built standard configurations of queries, filters and sorts for common use cases.
|
60
|
+
# @return [Training]
|
61
|
+
describe 'get_training test' do
|
62
|
+
it 'should work' do
|
63
|
+
# assertion here. ref: https://www.relishapp.com/rspec/rspec-expectations/docs/built-in-matchers
|
64
|
+
end
|
65
|
+
end
|
66
|
+
|
67
|
+
# unit tests for get_training_by_id
|
68
|
+
# Find training by its unique ID
|
69
|
+
# Individual training opportunities.
|
70
|
+
# @param training_id The identifier of the training opportunity.
|
71
|
+
# @param [Hash] opts the optional parameters
|
72
|
+
# @option opts [String] :profile Pre-built standard selections of fields to return for ease of displaying lists or items.
|
73
|
+
# @option opts [Array<String>] :fields_include Specify which fields to include for each item. Defaults to an item label.
|
74
|
+
# @option opts [Array<String>] :fields_exclude Specify sub-fields to exclude from overall results. For example, if you include <code>date</code> you may exclude <code>date.changed</code>.
|
75
|
+
# @return [Training]
|
76
|
+
describe 'get_training_by_id test' do
|
77
|
+
it 'should work' do
|
78
|
+
# assertion here. ref: https://www.relishapp.com/rspec/rspec-expectations/docs/built-in-matchers
|
79
|
+
end
|
80
|
+
end
|
81
|
+
|
82
|
+
# unit tests for search_training
|
83
|
+
# List or search humanitarian learning opportunities.
|
84
|
+
#
|
85
|
+
# @param [Hash] opts the optional parameters
|
86
|
+
# @option opts [PostParams] :fields Returned fields
|
87
|
+
# @return [Training]
|
88
|
+
describe 'search_training 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
|
+
#The ReliefWeb API
|
3
|
+
|
4
|
+
#Interactive API documentation for the data API of Reliefweb.int. ReliefWeb is a leading source of information on global crises and disasters.<br><br> Our continuous coverage and archive going back to the 1970s makes ReliefWeb an unparalleled resource for both current and historical data on humanitarian response.<br><br> The vast majority of content on ReliefWeb has been contributed by humanitarian partners. We owe it to the community to make data more accessible and reusable, so that developers can build tools that increase exposure for valuable content and facilitate analysis for better decisions.
|
5
|
+
|
6
|
+
OpenAPI spec version: v1
|
7
|
+
Contact: api@reliefweb.int
|
8
|
+
Generated by: https://github.com/swagger-api/swagger-codegen.git
|
9
|
+
Swagger Codegen version: 2.4.12
|
10
|
+
|
11
|
+
=end
|
12
|
+
|
13
|
+
require 'spec_helper'
|
14
|
+
|
15
|
+
describe ReliefWebAPI::ApiClient do
|
16
|
+
context 'initialization' do
|
17
|
+
context 'URL stuff' do
|
18
|
+
context 'host' do
|
19
|
+
it 'removes http from host' do
|
20
|
+
ReliefWebAPI.configure { |c| c.host = 'http://example.com' }
|
21
|
+
expect(ReliefWebAPI::Configuration.default.host).to eq('example.com')
|
22
|
+
end
|
23
|
+
|
24
|
+
it 'removes https from host' do
|
25
|
+
ReliefWebAPI.configure { |c| c.host = 'https://wookiee.com' }
|
26
|
+
expect(ReliefWebAPI::ApiClient.default.config.host).to eq('wookiee.com')
|
27
|
+
end
|
28
|
+
|
29
|
+
it 'removes trailing path from host' do
|
30
|
+
ReliefWebAPI.configure { |c| c.host = 'hobo.com/v4' }
|
31
|
+
expect(ReliefWebAPI::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
|
+
ReliefWebAPI.configure { |c| c.base_path = 'v4/dog' }
|
38
|
+
expect(ReliefWebAPI::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
|
+
ReliefWebAPI.configure { |c| c.base_path = '/v4/dog' }
|
43
|
+
expect(ReliefWebAPI::Configuration.default.base_path).to eq('/v4/dog')
|
44
|
+
end
|
45
|
+
|
46
|
+
it "ends up as a blank string if nil" do
|
47
|
+
ReliefWebAPI.configure { |c| c.base_path = nil }
|
48
|
+
expect(ReliefWebAPI::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) { ReliefWebAPI::Configuration.new }
|
56
|
+
let(:api_client) { ReliefWebAPI::ApiClient.new(config) }
|
57
|
+
|
58
|
+
it 'defaults to nil' do
|
59
|
+
expect(ReliefWebAPI::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) { ReliefWebAPI::Configuration.new }
|
75
|
+
let(:api_client) { ReliefWebAPI::ApiClient.new(config) }
|
76
|
+
|
77
|
+
it 'defaults to 0' do
|
78
|
+
expect(ReliefWebAPI::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 = ReliefWebAPI::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 = ReliefWebAPI::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 = ReliefWebAPI::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 = ReliefWebAPI::ApiClient.new
|
125
|
+
# _model = ReliefWebAPI::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) { ReliefWebAPI::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) { ReliefWebAPI::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) { ReliefWebAPI::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) { ReliefWebAPI::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) { ReliefWebAPI::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
|
@@ -0,0 +1,42 @@
|
|
1
|
+
=begin
|
2
|
+
#The ReliefWeb API
|
3
|
+
|
4
|
+
#Interactive API documentation for the data API of Reliefweb.int. ReliefWeb is a leading source of information on global crises and disasters.<br><br> Our continuous coverage and archive going back to the 1970s makes ReliefWeb an unparalleled resource for both current and historical data on humanitarian response.<br><br> The vast majority of content on ReliefWeb has been contributed by humanitarian partners. We owe it to the community to make data more accessible and reusable, so that developers can build tools that increase exposure for valuable content and facilitate analysis for better decisions.
|
5
|
+
|
6
|
+
OpenAPI spec version: v1
|
7
|
+
Contact: api@reliefweb.int
|
8
|
+
Generated by: https://github.com/swagger-api/swagger-codegen.git
|
9
|
+
Swagger Codegen version: 2.4.12
|
10
|
+
|
11
|
+
=end
|
12
|
+
|
13
|
+
require 'spec_helper'
|
14
|
+
|
15
|
+
describe ReliefWebAPI::Configuration do
|
16
|
+
let(:config) { ReliefWebAPI::Configuration.default }
|
17
|
+
|
18
|
+
before(:each) do
|
19
|
+
# uncomment below to setup host and base_path
|
20
|
+
# require 'URI'
|
21
|
+
# uri = URI.parse("http://api.reliefweb.int/v1")
|
22
|
+
# ReliefWebAPI.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://api.reliefweb.int/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://api.reliefweb.int/v1")
|
39
|
+
end
|
40
|
+
end
|
41
|
+
end
|
42
|
+
end
|