Use Typhoeus in ApiGeo adapter
This commit is contained in:
parent
546b4b7b3d
commit
ed46e2c3be
8 changed files with 60 additions and 60 deletions
|
@ -1,23 +1,44 @@
|
||||||
class ApiGeo::API
|
class ApiGeo::API
|
||||||
|
TIMEOUT = 15
|
||||||
|
|
||||||
def self.regions
|
def self.regions
|
||||||
url = [API_GEO_URL, "regions"].join("/")
|
url = [API_GEO_URL, "regions"].join("/")
|
||||||
call(url)
|
call(url, { fields: :nom })
|
||||||
end
|
end
|
||||||
|
|
||||||
def self.departements
|
def self.departements
|
||||||
url = [API_GEO_URL, "departements"].join("/")
|
url = [API_GEO_URL, "departements"].join("/")
|
||||||
call(url)
|
call(url, { fields: :nom })
|
||||||
end
|
end
|
||||||
|
|
||||||
def self.pays
|
def self.pays
|
||||||
File.open('app/lib/api_geo/pays.json').read
|
parse(File.open('app/lib/api_geo/pays.json').read)
|
||||||
end
|
end
|
||||||
|
|
||||||
private
|
private
|
||||||
|
|
||||||
def self.call(url)
|
def self.parse(body)
|
||||||
RestClient.get(url, params: { fields: :nom })
|
JSON.parse(body, symbolize_names: true)
|
||||||
rescue RestClient::ServiceUnavailable
|
end
|
||||||
|
|
||||||
|
def self.call(url, body, method = :get)
|
||||||
|
response = Typhoeus::Request.new(
|
||||||
|
url,
|
||||||
|
method: method,
|
||||||
|
params: method == :get ? body : nil,
|
||||||
|
body: method == :post ? body : nil,
|
||||||
|
timeout: TIMEOUT,
|
||||||
|
accept_encoding: 'gzip',
|
||||||
|
headers: {
|
||||||
|
'Accept' => 'application/json',
|
||||||
|
'Accept-Encoding' => 'gzip, deflate'
|
||||||
|
}.merge(method == :post ? { 'Content-Type' => 'application/json' } : {})
|
||||||
|
).run
|
||||||
|
|
||||||
|
if response.success?
|
||||||
|
parse(response.body)
|
||||||
|
else
|
||||||
nil
|
nil
|
||||||
end
|
end
|
||||||
|
end
|
||||||
end
|
end
|
||||||
|
|
|
@ -1,5 +1,5 @@
|
||||||
class Champs::DepartementChamp < Champs::TextChamp
|
class Champs::DepartementChamp < Champs::TextChamp
|
||||||
def self.departements
|
def self.departements
|
||||||
JSON.parse(ApiGeo::API.departements).map { |liste| "#{liste['code']} - #{liste['nom']}" }.push('99 - Étranger')
|
ApiGeo::API.departements.map { |liste| "#{liste[:code]} - #{liste[:nom]}" }.push('99 - Étranger')
|
||||||
end
|
end
|
||||||
end
|
end
|
||||||
|
|
|
@ -1,5 +1,5 @@
|
||||||
class Champs::PaysChamp < Champs::TextChamp
|
class Champs::PaysChamp < Champs::TextChamp
|
||||||
def self.pays
|
def self.pays
|
||||||
JSON.parse(ApiGeo::API.pays).pluck("nom")
|
ApiGeo::API.pays.pluck(:nom)
|
||||||
end
|
end
|
||||||
end
|
end
|
||||||
|
|
|
@ -1,5 +1,5 @@
|
||||||
class Champs::RegionChamp < Champs::TextChamp
|
class Champs::RegionChamp < Champs::TextChamp
|
||||||
def self.regions
|
def self.regions
|
||||||
JSON.parse(ApiGeo::API.regions).sort_by { |e| e['nom'] }.pluck("nom")
|
ApiGeo::API.regions.sort_by { |e| e[:nom] }.pluck(:nom)
|
||||||
end
|
end
|
||||||
end
|
end
|
||||||
|
|
1
config/initializers/typhoeus.rb
Normal file
1
config/initializers/typhoeus.rb
Normal file
|
@ -0,0 +1 @@
|
||||||
|
Typhoeus::Config.user_agent = "demarches-simplifiees.fr"
|
41
spec/fixtures/cassettes/api_geo_departements.yml
vendored
41
spec/fixtures/cassettes/api_geo_departements.yml
vendored
|
@ -7,21 +7,23 @@ http_interactions:
|
||||||
encoding: US-ASCII
|
encoding: US-ASCII
|
||||||
string: ''
|
string: ''
|
||||||
headers:
|
headers:
|
||||||
|
User-Agent:
|
||||||
|
- demarches-simplifiees.fr
|
||||||
Accept:
|
Accept:
|
||||||
- "*/*"
|
- application/json
|
||||||
Accept-Encoding:
|
Accept-Encoding:
|
||||||
- gzip, deflate
|
- gzip, deflate
|
||||||
User-Agent:
|
Expect:
|
||||||
- rest-client/2.0.0 (darwin15.6.0 x86_64) ruby/2.3.1p112
|
- ''
|
||||||
response:
|
response:
|
||||||
status:
|
status:
|
||||||
code: 200
|
code: 200
|
||||||
message: OK
|
message: OK
|
||||||
headers:
|
headers:
|
||||||
Server:
|
Server:
|
||||||
- nginx
|
- nginx/1.10.3 (Ubuntu)
|
||||||
Date:
|
Date:
|
||||||
- Fri, 16 Dec 2016 09:25:41 GMT
|
- Tue, 23 Oct 2018 13:11:36 GMT
|
||||||
Content-Type:
|
Content-Type:
|
||||||
- application/json; charset=utf-8
|
- application/json; charset=utf-8
|
||||||
Transfer-Encoding:
|
Transfer-Encoding:
|
||||||
|
@ -30,13 +32,12 @@ http_interactions:
|
||||||
- keep-alive
|
- keep-alive
|
||||||
Vary:
|
Vary:
|
||||||
- Accept-Encoding
|
- Accept-Encoding
|
||||||
- Accept-Encoding
|
|
||||||
X-Powered-By:
|
X-Powered-By:
|
||||||
- Express
|
- Express
|
||||||
Access-Control-Allow-Origin:
|
Access-Control-Allow-Origin:
|
||||||
- "*"
|
- "*"
|
||||||
Etag:
|
Etag:
|
||||||
- W/"cc1-lXUcIlpPmDfvrGONl0WWsQ"
|
- W/"cc1-jlb3C7xpXUEaq56Wojrp9rAkoH8"
|
||||||
Strict-Transport-Security:
|
Strict-Transport-Security:
|
||||||
- max-age=15552000
|
- max-age=15552000
|
||||||
Content-Encoding:
|
Content-Encoding:
|
||||||
|
@ -44,27 +45,7 @@ http_interactions:
|
||||||
body:
|
body:
|
||||||
encoding: ASCII-8BIT
|
encoding: ASCII-8BIT
|
||||||
string: !binary |-
|
string: !binary |-
|
||||||
H4sIAAAAAAAAA22Wy27bMBBFfyXwJpsKqF96dOfYrZsibow4MFAUXTARGxOQ
|
W3sibm9tIjoiQWluIiwiY29kZSI6IjAxIn0seyJub20iOiJBaXNuZSIsImNvZGUiOiIwMiJ9LHsibm9tIjoiQWxsaWVyIiwiY29kZSI6IjAzIn0seyJub20iOiJBbHBlcy1kZS1IYXV0ZS1Qcm92ZW5jZSIsImNvZGUiOiIwNCJ9LHsibm9tIjoiSGF1dGVzLUFscGVzIiwiY29kZSI6IjA1In0seyJub20iOiJBbHBlcy1NYXJpdGltZXMiLCJjb2RlIjoiMDYifSx7Im5vbSI6IkFyZMOoY2hlIiwiY29kZSI6IjA3In0seyJub20iOiJBcmRlbm5lcyIsImNvZGUiOiIwOCJ9LHsibm9tIjoiQXJpw6hnZSIsImNvZGUiOiIwOSJ9LHsibm9tIjoiQXViZSIsImNvZGUiOiIxMCJ9LHsibm9tIjoiQXVkZSIsImNvZGUiOiIxMSJ9LHsibm9tIjoiQXZleXJvbiIsImNvZGUiOiIxMiJ9LHsibm9tIjoiQm91Y2hlcy1kdS1SaMO0bmUiLCJjb2RlIjoiMTMifSx7Im5vbSI6IkNhbHZhZG9zIiwiY29kZSI6IjE0In0seyJub20iOiJDYW50YWwiLCJjb2RlIjoiMTUifSx7Im5vbSI6IkNoYXJlbnRlIiwiY29kZSI6IjE2In0seyJub20iOiJDaGFyZW50ZS1NYXJpdGltZSIsImNvZGUiOiIxNyJ9LHsibm9tIjoiQ2hlciIsImNvZGUiOiIxOCJ9LHsibm9tIjoiQ29ycsOoemUiLCJjb2RlIjoiMTkifSx7Im5vbSI6IkPDtHRlLWQnT3IiLCJjb2RlIjoiMjEifSx7Im5vbSI6IkPDtHRlcy1kJ0FybW9yIiwiY29kZSI6IjIyIn0seyJub20iOiJDcmV1c2UiLCJjb2RlIjoiMjMifSx7Im5vbSI6IkRvcmRvZ25lIiwiY29kZSI6IjI0In0seyJub20iOiJEb3VicyIsImNvZGUiOiIyNSJ9LHsibm9tIjoiRHLDtG1lIiwiY29kZSI6IjI2In0seyJub20iOiJFdXJlIiwiY29kZSI6IjI3In0seyJub20iOiJFdXJlLWV0LUxvaXIiLCJjb2RlIjoiMjgifSx7Im5vbSI6IkZpbmlzdMOocmUiLCJjb2RlIjoiMjkifSx7Im5vbSI6IkNvcnNlLWR1LVN1ZCIsImNvZGUiOiIyQSJ9LHsibm9tIjoiSGF1dGUtQ29yc2UiLCJjb2RlIjoiMkIifSx7Im5vbSI6IkdhcmQiLCJjb2RlIjoiMzAifSx7Im5vbSI6IkhhdXRlLUdhcm9ubmUiLCJjb2RlIjoiMzEifSx7Im5vbSI6IkdlcnMiLCJjb2RlIjoiMzIifSx7Im5vbSI6Ikdpcm9uZGUiLCJjb2RlIjoiMzMifSx7Im5vbSI6IkjDqXJhdWx0IiwiY29kZSI6IjM0In0seyJub20iOiJJbGxlLWV0LVZpbGFpbmUiLCJjb2RlIjoiMzUifSx7Im5vbSI6IkluZHJlIiwiY29kZSI6IjM2In0seyJub20iOiJJbmRyZS1ldC1Mb2lyZSIsImNvZGUiOiIzNyJ9LHsibm9tIjoiSXPDqHJlIiwiY29kZSI6IjM4In0seyJub20iOiJKdXJhIiwiY29kZSI6IjM5In0seyJub20iOiJMYW5kZXMiLCJjb2RlIjoiNDAifSx7Im5vbSI6IkxvaXItZXQtQ2hlciIsImNvZGUiOiI0MSJ9LHsibm9tIjoiTG9pcmUiLCJjb2RlIjoiNDIifSx7Im5vbSI6IkhhdXRlLUxvaXJlIiwiY29kZSI6IjQzIn0seyJub20iOiJMb2lyZS1BdGxhbnRpcXVlIiwiY29kZSI6IjQ0In0seyJub20iOiJMb2lyZXQiLCJjb2RlIjoiNDUifSx7Im5vbSI6IkxvdCIsImNvZGUiOiI0NiJ9LHsibm9tIjoiTG90LWV0LUdhcm9ubmUiLCJjb2RlIjoiNDcifSx7Im5vbSI6IkxvesOocmUiLCJjb2RlIjoiNDgifSx7Im5vbSI6Ik1haW5lLWV0LUxvaXJlIiwiY29kZSI6IjQ5In0seyJub20iOiJNYW5jaGUiLCJjb2RlIjoiNTAifSx7Im5vbSI6Ik1hcm5lIiwiY29kZSI6IjUxIn0seyJub20iOiJIYXV0ZS1NYXJuZSIsImNvZGUiOiI1MiJ9LHsibm9tIjoiTWF5ZW5uZSIsImNvZGUiOiI1MyJ9LHsibm9tIjoiTWV1cnRoZS1ldC1Nb3NlbGxlIiwiY29kZSI6IjU0In0seyJub20iOiJNZXVzZSIsImNvZGUiOiI1NSJ9LHsibm9tIjoiTW9yYmloYW4iLCJjb2RlIjoiNTYifSx7Im5vbSI6Ik1vc2VsbGUiLCJjb2RlIjoiNTcifSx7Im5vbSI6Ik5pw6h2cmUiLCJjb2RlIjoiNTgifSx7Im5vbSI6Ik5vcmQiLCJjb2RlIjoiNTkifSx7Im5vbSI6Ik9pc2UiLCJjb2RlIjoiNjAifSx7Im5vbSI6Ik9ybmUiLCJjb2RlIjoiNjEifSx7Im5vbSI6IlBhcy1kZS1DYWxhaXMiLCJjb2RlIjoiNjIifSx7Im5vbSI6IlB1eS1kZS1Ew7RtZSIsImNvZGUiOiI2MyJ9LHsibm9tIjoiUHlyw6luw6llcy1BdGxhbnRpcXVlcyIsImNvZGUiOiI2NCJ9LHsibm9tIjoiSGF1dGVzLVB5csOpbsOpZXMiLCJjb2RlIjoiNjUifSx7Im5vbSI6IlB5csOpbsOpZXMtT3JpZW50YWxlcyIsImNvZGUiOiI2NiJ9LHsibm9tIjoiQmFzLVJoaW4iLCJjb2RlIjoiNjcifSx7Im5vbSI6IkhhdXQtUmhpbiIsImNvZGUiOiI2OCJ9LHsibm9tIjoiUmjDtG5lIiwiY29kZSI6IjY5In0seyJub20iOiJIYXV0ZS1TYcO0bmUiLCJjb2RlIjoiNzAifSx7Im5vbSI6IlNhw7RuZS1ldC1Mb2lyZSIsImNvZGUiOiI3MSJ9LHsibm9tIjoiU2FydGhlIiwiY29kZSI6IjcyIn0seyJub20iOiJTYXZvaWUiLCJjb2RlIjoiNzMifSx7Im5vbSI6IkhhdXRlLVNhdm9pZSIsImNvZGUiOiI3NCJ9LHsibm9tIjoiUGFyaXMiLCJjb2RlIjoiNzUifSx7Im5vbSI6IlNlaW5lLU1hcml0aW1lIiwiY29kZSI6Ijc2In0seyJub20iOiJTZWluZS1ldC1NYXJuZSIsImNvZGUiOiI3NyJ9LHsibm9tIjoiWXZlbGluZXMiLCJjb2RlIjoiNzgifSx7Im5vbSI6IkRldXgtU8OodnJlcyIsImNvZGUiOiI3OSJ9LHsibm9tIjoiU29tbWUiLCJjb2RlIjoiODAifSx7Im5vbSI6IlRhcm4iLCJjb2RlIjoiODEifSx7Im5vbSI6IlRhcm4tZXQtR2Fyb25uZSIsImNvZGUiOiI4MiJ9LHsibm9tIjoiVmFyIiwiY29kZSI6IjgzIn0seyJub20iOiJWYXVjbHVzZSIsImNvZGUiOiI4NCJ9LHsibm9tIjoiVmVuZMOpZSIsImNvZGUiOiI4NSJ9LHsibm9tIjoiVmllbm5lIiwiY29kZSI6Ijg2In0seyJub20iOiJIYXV0ZS1WaWVubmUiLCJjb2RlIjoiODcifSx7Im5vbSI6IlZvc2dlcyIsImNvZGUiOiI4OCJ9LHsibm9tIjoiWW9ubmUiLCJjb2RlIjoiODkifSx7Im5vbSI6IlRlcnJpdG9pcmUgZGUgQmVsZm9ydCIsImNvZGUiOiI5MCJ9LHsibm9tIjoiRXNzb25uZSIsImNvZGUiOiI5MSJ9LHsibm9tIjoiSGF1dHMtZGUtU2VpbmUiLCJjb2RlIjoiOTIifSx7Im5vbSI6IlNlaW5lLVNhaW50LURlbmlzIiwiY29kZSI6IjkzIn0seyJub20iOiJWYWwtZGUtTWFybmUiLCJjb2RlIjoiOTQifSx7Im5vbSI6IlZhbC1kJ09pc2UiLCJjb2RlIjoiOTUifSx7Im5vbSI6Ikd1YWRlbG91cGUiLCJjb2RlIjoiOTcxIn0seyJub20iOiJNYXJ0aW5pcXVlIiwiY29kZSI6Ijk3MiJ9LHsibm9tIjoiR3V5YW5lIiwiY29kZSI6Ijk3MyJ9LHsibm9tIjoiTGEgUsOpdW5pb24iLCJjb2RlIjoiOTc0In0seyJub20iOiJNYXlvdHRlIiwiY29kZSI6Ijk3NiJ9XQ==
|
||||||
xZYSjbpF/yfZ5w/0YyVlpDq0sxTmajg8vJzh1z+9Um9773oTVfbe9O51Lt3H
|
|
||||||
237v75suUpUSsQFjRaGkQXAYBH/IKspl9FHYWkZLo3eyvGeqEdStqIomhfsJ
|
|
||||||
CccnCRfCqFptA1VMlcmbx/sN10nCsCzL4O80CKvm8YE/Z4zaO4T6b4OQQ/ef
|
|
||||||
YD8guJN7o8G3T4YX2rpqHSgb3WyaZ7LuE+dUFDuRa8Dpk99UlLUoUAHJTTfC
|
|
||||||
yLJmgUT2Eo5e2CIN2U03POw+uU21Mc3jb65AcC5cSb/Flc275IPJsQGiVgjF
|
|
||||||
BRTT5tn5KD+/huMGBN0KHMnzidlqish7aqQNliDkmTa5fuAZDAh5pu0dDmBA
|
|
||||||
xjPTPG9ZOgm/t4YhQvWhSNbRlVYsmXA/qFJVdfMY5CDeuTDAOqQvD5fPCbRz
|
|
||||||
fQd2SG5zabCrIWnNlfuRzh4S18fmyQhb1MhLXJdF0W5trQqhgtUJ7rLMubEh
|
|
||||||
ubWxFzosnwQvqxDNkOw+WSNQHqldCbczbHxEbv44/MKh50fE5iWoaURuB+zH
|
|
||||||
CrJrY9GkLtzFVT8tE5FhKwPgEdFdaUYIzkV89SfnPiK4K/07JDciuYU/s1fY
|
|
||||||
j8hwIcqg147J0LUTnvqY8A6AjhVEuBB736m7wxsT30JaU2/a+ha6ks5pEBKg
|
|
||||||
E/K6j8lvoc2d2gi05jEhniYmvc9uUuxogDHpfXadBBWR2bViQTGJXQfAYgJb
|
|
||||||
inaYujEgFEwbE9nS7r1mFnaimNyWe9M8lc2Tn7X/vcd8rwzl7p9uRzE5Ium1
|
|
||||||
UW7SiIIXKybUC7ePmw2fGzGpel8cx8n1eEbGJHsw1UqEYzQh4UPwFVsnhL0S
|
|
||||||
3lzdbhNSXomdVgwGLbF97JxISHXpXjAgnpDkSvpLdzqHEyI8iLzzwwuWEOSX
|
|
||||||
nSxcLi5EjjNpf0Wr1sGUkOZKbznQUmK8dSt3eFKy86FXe09KiGuBaZeS4FrY
|
|
||||||
+yK4synprWWZO/ticfJbO/exZ6TkdrDHiYTU1rp6IJCUzL6EMzQlrFtp3LvU
|
|
||||||
N+uzXJ5dyOK7NmjOGeG9r6owU3bcGdur3h5zt88s8GDrk5Vr0XU0k+55AF0I
|
|
||||||
s/CpjoySBUCFk5yHTSkj07kVuSy0/cFiguvi0tfujRJMsSy4M3O7F8FmkmAW
|
|
||||||
irOb5smWiq/kLAnauNjrmi/YzF+Jb/8A5ygzwMEMAAA=
|
|
||||||
http_version:
|
http_version:
|
||||||
recorded_at: Fri, 16 Dec 2016 09:25:37 GMT
|
recorded_at: Tue, 23 Oct 2018 13:11:36 GMT
|
||||||
recorded_with: VCR 3.0.3
|
recorded_with: VCR 4.0.0
|
||||||
|
|
28
spec/fixtures/cassettes/api_geo_regions.yml
vendored
28
spec/fixtures/cassettes/api_geo_regions.yml
vendored
|
@ -7,21 +7,23 @@ http_interactions:
|
||||||
encoding: US-ASCII
|
encoding: US-ASCII
|
||||||
string: ''
|
string: ''
|
||||||
headers:
|
headers:
|
||||||
|
User-Agent:
|
||||||
|
- demarches-simplifiees.fr
|
||||||
Accept:
|
Accept:
|
||||||
- "*/*"
|
- application/json
|
||||||
Accept-Encoding:
|
Accept-Encoding:
|
||||||
- gzip, deflate
|
- gzip, deflate
|
||||||
User-Agent:
|
Expect:
|
||||||
- rest-client/2.0.0 (darwin15.6.0 x86_64) ruby/2.3.1p112
|
- ''
|
||||||
response:
|
response:
|
||||||
status:
|
status:
|
||||||
code: 200
|
code: 200
|
||||||
message: OK
|
message: OK
|
||||||
headers:
|
headers:
|
||||||
Server:
|
Server:
|
||||||
- nginx
|
- nginx/1.10.3 (Ubuntu)
|
||||||
Date:
|
Date:
|
||||||
- Fri, 16 Dec 2016 09:24:28 GMT
|
- Tue, 23 Oct 2018 13:11:36 GMT
|
||||||
Content-Type:
|
Content-Type:
|
||||||
- application/json; charset=utf-8
|
- application/json; charset=utf-8
|
||||||
Transfer-Encoding:
|
Transfer-Encoding:
|
||||||
|
@ -30,13 +32,12 @@ http_interactions:
|
||||||
- keep-alive
|
- keep-alive
|
||||||
Vary:
|
Vary:
|
||||||
- Accept-Encoding
|
- Accept-Encoding
|
||||||
- Accept-Encoding
|
|
||||||
X-Powered-By:
|
X-Powered-By:
|
||||||
- Express
|
- Express
|
||||||
Access-Control-Allow-Origin:
|
Access-Control-Allow-Origin:
|
||||||
- "*"
|
- "*"
|
||||||
Etag:
|
Etag:
|
||||||
- W/"2dd-2SAFdhiM3SIQ2017gqYxbw"
|
- W/"28d-5OgIzgwL+0K2UaO0foKduqMMBrA"
|
||||||
Strict-Transport-Security:
|
Strict-Transport-Security:
|
||||||
- max-age=15552000
|
- max-age=15552000
|
||||||
Content-Encoding:
|
Content-Encoding:
|
||||||
|
@ -44,14 +45,7 @@ http_interactions:
|
||||||
body:
|
body:
|
||||||
encoding: ASCII-8BIT
|
encoding: ASCII-8BIT
|
||||||
string: !binary |-
|
string: !binary |-
|
||||||
H4sIAAAAAAAAA11Ry2rDMBD8FeNLLxE0rybpzTE0F6eYHHopPSyWSASyNllJ
|
W3sibm9tIjoiR3VhZGVsb3VwZSIsImNvZGUiOiIwMSJ9LHsibm9tIjoiTWFydGluaXF1ZSIsImNvZGUiOiIwMiJ9LHsibm9tIjoiR3V5YW5lIiwiY29kZSI6IjAzIn0seyJub20iOiJMYSBSw6l1bmlvbiIsImNvZGUiOiIwNCJ9LHsibm9tIjoiTWF5b3R0ZSIsImNvZGUiOiIwNiJ9LHsibm9tIjoiw45sZS1kZS1GcmFuY2UiLCJjb2RlIjoiMTEifSx7Im5vbSI6IkNlbnRyZS1WYWwgZGUgTG9pcmUiLCJjb2RlIjoiMjQifSx7Im5vbSI6IkJvdXJnb2duZS1GcmFuY2hlLUNvbXTDqSIsImNvZGUiOiIyNyJ9LHsibm9tIjoiTm9ybWFuZGllIiwiY29kZSI6IjI4In0seyJub20iOiJIYXV0cy1kZS1GcmFuY2UiLCJjb2RlIjoiMzIifSx7Im5vbSI6IkdyYW5kIEVzdCIsImNvZGUiOiI0NCJ9LHsibm9tIjoiUGF5cyBkZSBsYSBMb2lyZSIsImNvZGUiOiI1MiJ9LHsibm9tIjoiQnJldGFnbmUiLCJjb2RlIjoiNTMifSx7Im5vbSI6Ik5vdXZlbGxlLUFxdWl0YWluZSIsImNvZGUiOiI3NSJ9LHsibm9tIjoiT2NjaXRhbmllIiwiY29kZSI6Ijc2In0seyJub20iOiJBdXZlcmduZS1SaMO0bmUtQWxwZXMiLCJjb2RlIjoiODQifSx7Im5vbSI6IlByb3ZlbmNlLUFscGVzLUPDtHRlIGQnQXp1ciIsImNvZGUiOiI5MyJ9LHsibm9tIjoiQ29yc2UiLCJjb2RlIjoiOTQifV0=
|
||||||
Abf0F/ofvucP/GO1aIvXPQm0M7MzO68fqcU6fUx3AaQyGM4qnaQVStX/3U/T
|
|
||||||
z8kfYA/ktdWXwAEzBtiFBiwfztmwgOTQtcFqtEx/MdJv0HvOf2DT7ssoIZV4
|
|
||||||
IrAVA025xVxZT0q8gEmkSgrUxJAzvmyLgY54tL+CJyVyrH3XDt5mK7b9GakG
|
|
||||||
KzWXW4/nUpTgosMcDGgnSl0BjRhzfqzMOKh68AnqM0QfGUll+7dAItD8jgtu
|
|
||||||
vITGxXAG/udbcvktKR9lhzxL3kZ2CdrHLaLQNQanrShRewzREPVXVG5grpaj
|
|
||||||
Hu0xKImVOPQ8p41BK/ZaalE21LW2a0dUXmEWropi1MOpu8XE5syx61FMwqvq
|
|
||||||
i/4Biby7eZXIu+w90GBswyPlSI7F3fRqb99L+pyA3QIAAA==
|
|
||||||
http_version:
|
http_version:
|
||||||
recorded_at: Fri, 16 Dec 2016 09:24:25 GMT
|
recorded_at: Tue, 23 Oct 2018 13:11:36 GMT
|
||||||
recorded_with: VCR 3.0.3
|
recorded_with: VCR 4.0.0
|
||||||
|
|
|
@ -4,18 +4,21 @@ describe ApiGeo::API do
|
||||||
describe '.regions', vcr: { cassette_name: 'api_geo_regions' } do
|
describe '.regions', vcr: { cassette_name: 'api_geo_regions' } do
|
||||||
subject { described_class.regions }
|
subject { described_class.regions }
|
||||||
|
|
||||||
it { expect(subject.code).to eq 200 }
|
it { expect(subject.size).to eq 18 }
|
||||||
end
|
end
|
||||||
|
|
||||||
describe '.departements', vcr: { cassette_name: 'api_geo_departements' } do
|
describe '.departements', vcr: { cassette_name: 'api_geo_departements' } do
|
||||||
subject { described_class.departements }
|
subject { described_class.departements }
|
||||||
|
|
||||||
it { expect(subject.code).to eq 200 }
|
it { expect(subject.size).to eq 101 }
|
||||||
end
|
end
|
||||||
|
|
||||||
describe '.pays' do
|
describe '.pays' do
|
||||||
subject { described_class.pays }
|
subject { described_class.pays }
|
||||||
|
let(:pays) {
|
||||||
|
JSON.parse(File.open('app/lib/api_geo/pays.json').read, symbolize_names: true)
|
||||||
|
}
|
||||||
|
|
||||||
it { is_expected.to eq File.open('app/lib/api_geo/pays.json').read }
|
it { is_expected.to eq pays }
|
||||||
end
|
end
|
||||||
end
|
end
|
||||||
|
|
Loading…
Add table
Reference in a new issue