Notify on empty common data

pull/13690/head
Juan Ignacio Sánchez Lara 7 years ago
parent 6ef60e649c
commit 1736b08887

@ -22,7 +22,7 @@ class CommonData
client = CartoAPI::JsonClient.new(http_client_tag: 'common_data')
response = begin
client.get_visualizations_v1_from_url(@visualizations_api_url)
rescue => e
rescue StandardError => e
CartoDB.notify_exception(e)
nil
end
@ -36,6 +36,8 @@ class CommonData
end
end
CartoDB.notify_error('common-data empty', url: @visualizations_api_url) if @datasets.empty?
@datasets
end
@ -48,11 +50,10 @@ class CommonData
def get_datasets(json)
begin
rows = JSON.parse(json).fetch('visualizations', [])
rescue => e
rescue StandardError => e
CartoDB.notify_exception(e)
rows = []
end
CartoDB.notify_error('common-data empty', { rows: rows, url: @visualizations_api_url}) if rows.nil? || rows.empty?
datasets = []
rows.each do |row|

@ -10,11 +10,11 @@ module CartoAPI
end
def get_visualization_v1(username:, name:, params: {})
JSON.parse(get(carto_url(username, "/api/v1/viz/#{name}", params: params1)).body)
JSON.parse(get(carto_url(username, "/api/v1/viz/#{name}", params: params)).body)
end
def get_visualizations_v1(username:, params: {})
JSON.parse(get(carto_url(username, '/api/v1/viz', params: params1)).body)
JSON.parse(get(carto_url(username, '/api/v1/viz', params: params)).body)
end
# Deprecated

@ -20,14 +20,16 @@ describe CommonData do
it 'should return empty datasets response and notify error for SQL API error response' do
stub_api_response(503)
CartoDB.expects(:notify_error).with('common-data empty', { rows: [] , url: 'http://common-data.example.com/api/v1/viz?type=table&privacy=public'})
CartoDB.expects(:notify_error).with('common-data empty',
url: 'http://common-data.example.com/api/v1/viz?type=table&privacy=public')
@common_data.datasets.should eq []
end
it 'should return empty datasets and notify error for invalid json' do
stub_api_response(200, INVALID_JSON_RESPONSE)
CartoDB.expects(:notify_error).with('common-data empty', { rows: [] , url: 'http://common-data.example.com/api/v1/viz?type=table&privacy=public'})
CartoDB.expects(:notify_error).with('common-data empty',
url: 'http://common-data.example.com/api/v1/viz?type=table&privacy=public')
@common_data.datasets.should eq []
end

Loading…
Cancel
Save