Merge branch 'connections-tests' into feature/ch132942/synchronise-connections-in-redis

# Conflicts:
#	services/importer/spec/unit/connection_manager_spec.rb
pull/16165/head
Javier Goizueta 4 years ago
commit 3a99ec570f

@ -8,22 +8,13 @@ describe Carto::ConnectionManager do
let(:other_user) { create(:carto_user_light) }
let(:other_connection_manager) { Carto::ConnectionManager.new(other_user) }
before(:all) do
# TODO: remove providers, add dummy providers: (requires parameter changes/adapting the dummy)
# Carto::Connector::PROVIDERS.clear
# Carto::Connector::PROVIDERS << dummy_connector_provider_with_id('snowflake')
# Carto::Connector::PROVIDERS << dummy_connector_provider_with_id('redshift')
# Carto::Connector::PROVIDERS << dummy_connector_provider_with_id('postgres')
# Carto::Connector::PROVIDERS << dummy_connector_provider_with_id('bigquery')
Carto::Connector::PROVIDERS << DummyConnectorProvider
Carto::Connector.providers.keys.each do |provider_name|
Carto::ConnectorProvider.create! name: provider_name
end
end
around(:each) do |example|
around do |example|
config = { 'dummy' => { 'enabled' => true } }
Cartodb.with_config(connectors: config, &example)
Cartodb.with_config(connectors: config) do
# TODO: use mock connectors for snowflake, redshift, postgres, bigquery
with_connector_providers(DummyConnectorProvider, incremental: true, &example)
end
end
let(:connection1) do

@ -20,11 +20,7 @@ describe CartoDB::Importer2::ConnectorRunner do
@fake_log = CartoDB::Importer2::Doubles::Log.new(@user)
@providers = %w(dummy)
@fake_log.clear
Carto::Connector::PROVIDERS << DummyConnectorProvider
Carto::Connector::PROVIDERS << DummyConnectorProviderWithModifiedDate
Carto::Connector.providers(all: true).keys.each do |provider_name|
Carto::ConnectorProvider.create! name: provider_name
end
@previous_providers = replace_connector_providers(DummyConnectorProvider, DummyConnectorProviderWithModifiedDate)
end
before(:each) do
@ -35,10 +31,7 @@ describe CartoDB::Importer2::ConnectorRunner do
after(:all) do
@user.destroy
@feature_flag.destroy
Carto::Connector.providers(all: true).keys.each do |provider_name|
Carto::ConnectorProvider.find_by_name(provider_name).destroy
end
Carto::Connector::PROVIDERS.delete DummyConnectorProvider
restore_connector_providers(@previous_providers)
end
after(:each) do

@ -12,13 +12,12 @@ describe Carto::Connector do
@user = create_user
@user.save
@fake_log = CartoDB::Importer2::Doubles::Log.new(@user)
Carto::Connector::PROVIDERS << DummyConnectorProvider
Carto::Connector::PROVIDERS << dummy_connector_provider_with_id('another_dummy')
Carto::Connector::PROVIDERS << dummy_connector_provider_with_id('third_dummy')
Carto::Connector::PROVIDERS << DummyConnectorProviderWithModifiedDate
Carto::Connector.providers.keys.each do |provider_name|
Carto::ConnectorProvider.create! name: provider_name
end
@previous_providers = replace_connector_providers(
DummyConnectorProvider,
dummy_connector_provider_with_id('another_dummy'),
dummy_connector_provider_with_id('third_dummy'),
DummyConnectorProviderWithModifiedDate
)
end
before(:each) do
@ -31,9 +30,7 @@ describe Carto::Connector do
after(:all) do
@user.destroy
Carto::Connector.providers.keys.each do |provider_name|
Carto::ConnectorProvider.find_by_name(provider_name).destroy
end
restore_connector_providers(@previous_providers)
end
it "Should list providers available for a user with default configuration" do

@ -5,16 +5,12 @@ describe Carto::Connection do
let(:user) { create(:carto_user_light) }
let(:fake_log) { CartoDB::Importer2::Doubles::Log.new(user) }
before(:all) do
Carto::Connector::PROVIDERS << DummyConnectorProvider
Carto::Connector.providers.keys.each do |provider_name|
Carto::ConnectorProvider.create! name: provider_name
end
end
around(:each) do |example|
around do |example|
config = { 'dummy' => { 'enabled' => true } }
Cartodb.with_config(connectors: config, &example)
Cartodb.with_config(connectors: config) do
with_connector_providers(DummyConnectorProvider, incremental: true, &example)
end
end
describe 'connection type is automatically computed' do

@ -9,20 +9,24 @@ describe Carto::Api::ConnectorsController do
before(:all) do
create(:feature_flag, name: 'carto-connectors', restricted: false)
@user = FactoryGirl.create(:carto_user)
Carto::Connector::PROVIDERS.clear
Carto::Connector::PROVIDERS << dummy_connector_provider_with_id('postgres', 'PostgreSQL')
Carto::Connector::PROVIDERS << dummy_connector_provider_with_id('hive', 'Hive')
Carto::Connector::PROVIDERS << dummy_connector_provider_with_id('bigquery', 'BigQuery',
'sql_queries': false,
'list_databases': true,
'list_tables': true,
'preview_table': true,
'dry_run': true,
'list_projects': true
@previous_providers = replace_connector_providers(
dummy_connector_provider_with_id('postgres', 'PostgreSQL'),
dummy_connector_provider_with_id('hive', 'Hive'),
dummy_connector_provider_with_id(
'bigquery', 'BigQuery',
'sql_queries': false,
'list_databases': true,
'list_tables': true,
'preview_table': true,
'dry_run': true,
'list_projects': true
)
)
@connector_provider_postgres = FactoryGirl.create(:connector_provider, name: 'postgres')
@connector_provider_hive = FactoryGirl.create(:connector_provider, name: 'hive')
@connector_provider_postgres = Carto::ConnectorProvider.find_by(name: 'postgres')
@connector_provider_hive = Carto::ConnectorProvider.find_by(name: 'hive')
@connector_config_user = FactoryGirl.create(:connector_configuration,
user_id: @user.id,
connector_provider_id: @connector_provider_postgres.id,
@ -46,8 +50,7 @@ describe Carto::Api::ConnectorsController do
@connector_config_user.destroy
@connector_config_org_user.destroy
@connector_config_org.destroy
@connector_provider_postgres.destroy
@connector_provider_hive.destroy
restore_connector_providers(@previous_providers)
end
describe '#index' do

@ -5,6 +5,7 @@ require 'helpers/named_maps_helper'
require 'helpers/unique_names_helper'
require './spec/support/message_broker_stubs'
require './spec/support/shared_entities_spec_helper'
require 'spec_helper_common'
# This file is copied to spec/ when you run 'rails generate rspec:install'
raise %(Cannot run tests in an env other than 'test', RAILS_ENV=#{Rails.env}) unless Rails.env.test?
@ -140,7 +141,3 @@ def set_cookies_for_next_request(previous_response)
received_cookies = parse_set_cookie_header(previous_response.headers["Set-Cookie"])
received_cookies.each { |key, value| cookies[key] = value }
end
def mocked_record(data)
Struct.new(*data.keys).new(*data.values)
end

@ -0,0 +1,25 @@
def mocked_record(data)
Struct.new(*data.keys).new(*data.values)
end
def replace_connector_providers(*args)
options = args.extract_options!
original_providers = Carto::Connector::PROVIDERS.dup
Carto::Connector::PROVIDERS.clear unless options[:incremental]
Carto::Connector::PROVIDERS.push(*args)
Carto::Connector.providers.keys.each do |provider_name|
create(:connector_provider, name: provider_name) unless Carto::ConnectorProvider.where(name: provider_name).exists?
end
original_providers
end
def restore_connector_providers(providers)
Carto::Connector::PROVIDERS.replace(providers)
end
def with_connector_providers(*args)
original_providers = replace_connector_providers(*args)
yield
ensure
restore_connector_providers(original_providers)
end

@ -6,6 +6,7 @@ require 'helpers/named_maps_helper'
require './spec/support/message_broker_stubs'
require './spec/support/redis'
require './spec/support/shared_entities_spec_helper'
require 'spec_helper_common'
raise %(Cannot run tests in an env other than 'test', RAILS_ENV=#{Rails.env}) unless Rails.env.test?

Loading…
Cancel
Save