From 2d5425a273cf1d526debdca82933993d809b19cb Mon Sep 17 00:00:00 2001 From: Greg Cobb Date: Fri, 26 May 2017 18:07:17 -0700 Subject: [PATCH] Bump Rubocop to 0.48.1 - Disable AmbiguousBlockAssociation because it fails on our specs using `expect { foo }.to change { bar }` - Disable PercentLiteralDelimiters because it conflicts with our current style for string arrays using `()` instead of `[]` - Disable SymbolArray because it conflicts with our current style [finishes #145974963] --- .rubocop.yml | 15 +- Gemfile.lock | 2 +- Guardfile | 10 +- app/actions/route_mapping_create.rb | 1 - app/actions/services/service_key_create.rb | 1 - app/actions/services/service_key_delete.rb | 1 - app/actions/v2/route_mapping_create.rb | 1 - app/controllers/base/base_controller.rb | 2 +- .../runtime/route_mappings_controller.rb | 1 - .../services/service_bindings_controller.rb | 1 - .../v3/service_bindings_controller.rb | 1 - app/jobs/v3/package_bits_copier.rb | 1 - app/models/runtime/feature_flag.rb | 1 - .../message_bus/service_binding_presenter.rb | 2 +- .../20141120182308_reprocess_diego_apps.rb | 2 +- .../blobstore/retryable_blob.rb | 1 - .../blobstore/retryable_client.rb | 1 - .../diego/instances_reporter.rb | 1 - lib/cloud_controller/diego/processes_sync.rb | 1 - lib/cloud_controller/diego/stager.rb | 1 - .../diego/tps_instances_reporter.rb | 1 - .../paginated_collection_renderer.rb | 2 +- lib/cloud_controller/rule_validator.rb | 1 - lib/cloud_controller/security_context.rb | 2 +- lib/tasks/buildpacks.rake | 3 +- lib/tasks/clock.rake | 4 +- lib/tasks/db.rake | 150 +++++++++--------- lib/tasks/jobs.rake | 8 +- lib/tasks/rubocop.rake | 3 - lib/tasks/spec.rake | 12 +- middleware/security_context_setter.rb | 1 - spec/acceptance/service_broker_spec.rb | 8 +- spec/api/api_version_spec.rb | 16 +- spec/api/documentation/routes_api_spec.rb | 4 +- .../documentation/security_groups_api_spec.rb | 10 +- .../service_instances_api_spec.rb | 26 +-- .../lib/cloud_controller/procfile_spec.rb | 16 +- .../service_brokers/service_manager_spec.rb | 28 ++-- .../validation_errors_formatter_spec.rb | 20 +-- spec/unit/models/runtime/organization_spec.rb | 1 + .../models/runtime/security_group_spec.rb | 1 + spec/unit/models/runtime/space_spec.rb | 1 + .../runtime/v3/persistence/app_model_spec.rb | 1 + .../v3/persistence/build_model_spec.rb | 1 + .../v3/persistence/droplet_model_spec.rb | 1 + .../v3/persistence/package_model_spec.rb | 1 + 46 files changed, 183 insertions(+), 186 deletions(-) diff --git a/.rubocop.yml b/.rubocop.yml index dddb325ee9a..6bfbf7dc767 100644 --- a/.rubocop.yml +++ b/.rubocop.yml @@ -10,10 +10,12 @@ AllCops: - vendor/**/* - lib/diego/bbs/models/**/* +Lint/AmbiguousBlockAssociation: + Enabled: false + Lint/AmbiguousRegexpLiteral: Enabled: false -# enable me for #85546748 Lint/HandleExceptions: Enabled: false @@ -39,6 +41,7 @@ Metrics/BlockLength: - spec/**/* - lib/cloud_controller/config.rb - config/routes.rb + - lib/tasks/db.rake Max: 50 Metrics/ClassLength: @@ -98,6 +101,10 @@ Style/DoubleNegation: Style/EachWithObject: Enabled: false +Style/FileName: + Exclude: + - Guardfile + Style/FormatString: EnforcedStyle: sprintf @@ -155,6 +162,9 @@ Style/NumericLiterals: Style/NumericPredicate: Enabled: false +Style/PercentLiteralDelimiters: + Enabled: false + Style/PredicateName: Enabled: false @@ -182,6 +192,9 @@ Style/SpaceAroundEqualsInParameterDefault: Style/StructInheritance: Enabled: false +Style/SymbolArray: + Enabled: false + Style/TernaryParentheses: Enabled: false diff --git a/Gemfile.lock b/Gemfile.lock index 0d8fa8d387a..3122b95978b 100644 --- a/Gemfile.lock +++ b/Gemfile.lock @@ -336,7 +336,7 @@ GEM rspec-mocks (~> 3.4.0) rspec-support (~> 3.4.0) rspec-support (3.4.1) - rubocop (0.47.1) + rubocop (0.48.1) parser (>= 2.3.3.1, < 3.0) powerpack (~> 0.1) rainbow (>= 1.99.1, < 3.0) diff --git a/Guardfile b/Guardfile index be7a3104e6c..cc29bc6ddc7 100644 --- a/Guardfile +++ b/Guardfile @@ -1,14 +1,14 @@ # cc Guardfile # More info at https://github.com/guard/guard#readme -guard 'rspec', :cli => '--color --format doc --fail-fast', :all_on_start => false, :all_after_pass => false do +guard 'rspec', cli: '--color --format doc --fail-fast', all_on_start: false, all_after_pass: false do watch(%r{^spec/.+_spec\.rb$}) - watch("lib/cloud_controller/api/app.rb") { "spec/api/legacy_apps_spec.rb" } + watch('lib/cloud_controller/api/app.rb') { 'spec/api/legacy_apps_spec.rb' } watch(%r{^lib/(.+)\.rb$}) { |m| "spec/#{m[1]}_spec.rb" } watch(%r{^lib/cloud_controller/(.+)\.rb$}) { |m| "spec/#{m[1]}_spec.rb" } - watch('spec/spec_helper.rb') { "spec" } + watch('spec/spec_helper.rb') { 'spec' } # These don't match the exact same dir structure between lib and spec - watch(%r{^lib/cloud_controller/legacy_api/(.+)\.rb$}) { |m| "spec/api/#{m[1]}_spec.rb" } - watch(%r{^lib/eventmachine/(.+)\.rb$}) { |m| "spec/#{m[1]}_spec.rb" } + watch(%r{^lib/cloud_controller/legacy_api/(.+)\.rb$}) { |m| "spec/api/#{m[1]}_spec.rb" } + watch(%r{^lib/eventmachine/(.+)\.rb$}) { |m| "spec/#{m[1]}_spec.rb" } end diff --git a/app/actions/route_mapping_create.rb b/app/actions/route_mapping_create.rb index 1348db6555f..b2fbd14cb34 100644 --- a/app/actions/route_mapping_create.rb +++ b/app/actions/route_mapping_create.rb @@ -46,7 +46,6 @@ def add(message) end route_mapping - rescue Sequel::ValidationFailed => e if e.errors && e.errors.on([:app_guid, :route_guid, :process_type, :app_port]) && e.errors.on([:app_guid, :route_guid, :process_type, :app_port]).include?(:unique) raise DuplicateRouteMapping.new(DUPLICATE_MESSAGE) diff --git a/app/actions/services/service_key_create.rb b/app/actions/services/service_key_create.rb index 31f75d1ea77..ab20f059b44 100644 --- a/app/actions/services/service_key_create.rb +++ b/app/actions/services/service_key_create.rb @@ -28,7 +28,6 @@ def create(service_instance, key_attrs, arbitrary_parameters) orphan_mitigator.attempt_delete_key(service_key) raise e end - rescue => e errors << e end diff --git a/app/actions/services/service_key_delete.rb b/app/actions/services/service_key_delete.rb index e59cbe6618b..cc0638d14d4 100644 --- a/app/actions/services/service_key_delete.rb +++ b/app/actions/services/service_key_delete.rb @@ -21,7 +21,6 @@ def delete_service_binding(service_binding) service_instance.client.unbind(service_binding) service_binding.destroy - rescue => e errors << e end diff --git a/app/actions/v2/route_mapping_create.rb b/app/actions/v2/route_mapping_create.rb index 372192afb34..6b8705a4692 100644 --- a/app/actions/v2/route_mapping_create.rb +++ b/app/actions/v2/route_mapping_create.rb @@ -54,7 +54,6 @@ def add end route_mapping - rescue Sequel::ValidationFailed => e if e.errors && e.errors.on([:app_guid, :route_guid, :process_type, :app_port]) && e.errors.on([:app_guid, :route_guid, :process_type, :app_port]).include?(:unique) raise DuplicateRouteMapping.new(DUPLICATE_MESSAGE) diff --git a/app/controllers/base/base_controller.rb b/app/controllers/base/base_controller.rb index 2a80a6cc723..0eacc948c15 100644 --- a/app/controllers/base/base_controller.rb +++ b/app/controllers/base/base_controller.rb @@ -146,7 +146,7 @@ def v2_api? end def unversioned_api? - !(env['PATH_INFO'] =~ %r{\A/v\d}) + env['PATH_INFO'] !~ %r{\A/v\d} end def recursive_delete? diff --git a/app/controllers/runtime/route_mappings_controller.rb b/app/controllers/runtime/route_mappings_controller.rb index c5e3e251220..96a475755f8 100644 --- a/app/controllers/runtime/route_mappings_controller.rb +++ b/app/controllers/runtime/route_mappings_controller.rb @@ -43,7 +43,6 @@ def create { 'Location' => "#{self.class.path}/#{route_mapping.guid}" }, object_renderer.render_json(self.class, route_mapping, @opts) ] - rescue ::VCAP::CloudController::V2::RouteMappingCreate::DuplicateRouteMapping raise CloudController::Errors::ApiError.new_from_details('RouteMappingTaken', route_mapping_taken_message(request_attrs)) rescue ::VCAP::CloudController::V2::RouteMappingCreate::UnavailableAppPort diff --git a/app/controllers/services/service_bindings_controller.rb b/app/controllers/services/service_bindings_controller.rb index 498176c6d44..371fd66be8f 100644 --- a/app/controllers/services/service_bindings_controller.rb +++ b/app/controllers/services/service_bindings_controller.rb @@ -51,7 +51,6 @@ def create { 'Location' => "#{self.class.path}/#{service_binding.guid}" }, object_renderer.render_json(self.class, service_binding, @opts) ] - rescue ServiceBindingCreate::ServiceInstanceNotBindable raise CloudController::Errors::ApiError.new_from_details('UnbindableService') rescue ServiceBindingCreate::VolumeMountServiceDisabled diff --git a/app/controllers/v3/service_bindings_controller.rb b/app/controllers/v3/service_bindings_controller.rb index d6e1003ce0e..61d09335b2e 100644 --- a/app/controllers/v3/service_bindings_controller.rb +++ b/app/controllers/v3/service_bindings_controller.rb @@ -60,7 +60,6 @@ def destroy ServiceBindingDelete.new(user_audit_info).single_delete_sync(binding) head :no_content - rescue ServiceBindingDelete::FailedToDelete => e unprocessable!(e.message) end diff --git a/app/jobs/v3/package_bits_copier.rb b/app/jobs/v3/package_bits_copier.rb index e8fad919496..70fbde80d05 100644 --- a/app/jobs/v3/package_bits_copier.rb +++ b/app/jobs/v3/package_bits_copier.rb @@ -19,7 +19,6 @@ def perform CloudController::DependencyLocator.instance.package_blobstore.cp_file_between_keys(@src_package_guid, @dest_package_guid) checksums = { sha1: src_package.package_hash, sha256: src_package.sha256_checksum } dest_package.succeed_upload!(checksums) - rescue => e dest_package.fail_upload!("failed to copy - #{e.message}") if dest_package raise diff --git a/app/models/runtime/feature_flag.rb b/app/models/runtime/feature_flag.rb index 22ba8d0a653..dfb3f2615a9 100644 --- a/app/models/runtime/feature_flag.rb +++ b/app/models/runtime/feature_flag.rb @@ -50,7 +50,6 @@ def self.enabled?(feature_flag_name) feature_flag = FeatureFlag.find(name: feature_flag_name.to_s) return feature_flag.enabled if feature_flag DEFAULT_FLAGS.fetch(feature_flag_name) - rescue KeyError raise UndefinedFeatureFlagError.new "invalid key: #{feature_flag_name}" end diff --git a/app/presenters/message_bus/service_binding_presenter.rb b/app/presenters/message_bus/service_binding_presenter.rb index 4b82575ccc5..6c9143b91b5 100644 --- a/app/presenters/message_bus/service_binding_presenter.rb +++ b/app/presenters/message_bus/service_binding_presenter.rb @@ -17,7 +17,7 @@ def to_hash def self.censor_volume_mounts(volume_mounts) return [] unless volume_mounts.is_a?(Array) volume_mounts.map do |mount_info| - mount_info.reject { |k, _v| !WHITELISTED_VOLUME_FIELDS.include?(k) } + mount_info.select { |k, _v| WHITELISTED_VOLUME_FIELDS.include?(k) } end end diff --git a/db/migrations/20141120182308_reprocess_diego_apps.rb b/db/migrations/20141120182308_reprocess_diego_apps.rb index 4b569c5ae13..7c732092007 100644 --- a/db/migrations/20141120182308_reprocess_diego_apps.rb +++ b/db/migrations/20141120182308_reprocess_diego_apps.rb @@ -8,6 +8,6 @@ def diego?(row) decrypted = VCAP::CloudController::Encryptor.decrypt(row[:encrypted_environment_json], row[:salt]) environment_json = JSON.parse(decrypted) - !!(environment_json['DIEGO_RUN_BETA'] == 'true') + !environment_json['DIEGO_RUN_BETA'] != 'true' end end diff --git a/lib/cloud_controller/blobstore/retryable_blob.rb b/lib/cloud_controller/blobstore/retryable_blob.rb index e1dec6bd9ee..24698369572 100644 --- a/lib/cloud_controller/blobstore/retryable_blob.rb +++ b/lib/cloud_controller/blobstore/retryable_blob.rb @@ -49,7 +49,6 @@ def local_path def with_retries(log_prefix, log_data) retries ||= num_retries yield - rescue *retryable_errors => e retries -= 1 diff --git a/lib/cloud_controller/blobstore/retryable_client.rb b/lib/cloud_controller/blobstore/retryable_client.rb index 0fd2844ae93..967e3b9bb58 100644 --- a/lib/cloud_controller/blobstore/retryable_client.rb +++ b/lib/cloud_controller/blobstore/retryable_client.rb @@ -124,7 +124,6 @@ def blob(key) def with_retries(log_prefix, log_data) retries ||= @num_retries yield - rescue *@retryable_errors => e retries -= 1 diff --git a/lib/cloud_controller/diego/instances_reporter.rb b/lib/cloud_controller/diego/instances_reporter.rb index c90eb838e51..d0b41d4ce83 100644 --- a/lib/cloud_controller/diego/instances_reporter.rb +++ b/lib/cloud_controller/diego/instances_reporter.rb @@ -87,7 +87,6 @@ def crashed_instances_for_app(process) } end crashed_instances - rescue => e raise e if e.is_a? CloudController::Errors::InstancesUnavailable logger.error('crashed_instances_for_app.error', error: e.to_s) diff --git a/lib/cloud_controller/diego/processes_sync.rb b/lib/cloud_controller/diego/processes_sync.rb index 36d644f33e0..a1d2ccaa0a5 100644 --- a/lib/cloud_controller/diego/processes_sync.rb +++ b/lib/cloud_controller/diego/processes_sync.rb @@ -50,7 +50,6 @@ def sync end @workpool.drain - rescue CloudController::Errors::ApiError => e if e.name == 'RunnerInvalidRequest' logger.info('synced-invalid-desired-lrps', error: e.name, error_message: e.message) diff --git a/lib/cloud_controller/diego/stager.rb b/lib/cloud_controller/diego/stager.rb index 41c668b48cb..2492e92f248 100644 --- a/lib/cloud_controller/diego/stager.rb +++ b/lib/cloud_controller/diego/stager.rb @@ -7,7 +7,6 @@ def initialize(config) def stage(staging_details) send_stage_package_request(staging_details) - rescue CloudController::Errors::ApiError => e logger.error('stage.package', package_guid: staging_details.package.guid, staging_guid: staging_details.staging_guid, error: e) build = BuildModel.find(guid: staging_details.staging_guid) diff --git a/lib/cloud_controller/diego/tps_instances_reporter.rb b/lib/cloud_controller/diego/tps_instances_reporter.rb index 5e97ebe87bd..6f0deecd4a2 100644 --- a/lib/cloud_controller/diego/tps_instances_reporter.rb +++ b/lib/cloud_controller/diego/tps_instances_reporter.rb @@ -89,7 +89,6 @@ def crashed_instances_for_app(process) end result - rescue CloudController::Errors::InstancesUnavailable => e raise e rescue => e diff --git a/lib/cloud_controller/rest_controller/paginated_collection_renderer.rb b/lib/cloud_controller/rest_controller/paginated_collection_renderer.rb index 15d73911053..4a61ca89556 100644 --- a/lib/cloud_controller/rest_controller/paginated_collection_renderer.rb +++ b/lib/cloud_controller/rest_controller/paginated_collection_renderer.rb @@ -101,7 +101,7 @@ def fetch_and_process_records(paginated_dataset, controller, inline_relations_de collection_transformer.transform(dataset_records, transform_opts) if collection_transformer serialized_records = dataset_records.map { |obj| @serializer.serialize(controller, obj, opts, orphans) } - serialized_records.select { |obj| !obj.nil? } + serialized_records.reject(&:nil?) end def default_visibility_filter diff --git a/lib/cloud_controller/rule_validator.rb b/lib/cloud_controller/rule_validator.rb index da76648ecd1..d1161c4985d 100644 --- a/lib/cloud_controller/rule_validator.rb +++ b/lib/cloud_controller/rule_validator.rb @@ -45,7 +45,6 @@ def self.validate_destination(destination) end return true - rescue NetAddr::ValidationError return false end diff --git a/lib/cloud_controller/security_context.rb b/lib/cloud_controller/security_context.rb index f1433b3e7b6..4d765f82b45 100644 --- a/lib/cloud_controller/security_context.rb +++ b/lib/cloud_controller/security_context.rb @@ -44,7 +44,7 @@ def self.missing_token? end def self.valid_token? - token && !(token == :invalid_token) + token && token != :invalid_token end def self.invalid_token? diff --git a/lib/tasks/buildpacks.rake b/lib/tasks/buildpacks.rake index 12a2bdc34a2..ec42735dc93 100644 --- a/lib/tasks/buildpacks.rake +++ b/lib/tasks/buildpacks.rake @@ -1,6 +1,5 @@ namespace :buildpacks do - - desc "Install/Update buildpacks" + desc 'Install/Update buildpacks' task :install do buildpacks = RakeConfig.config[:install_buildpacks] BackgroundJobEnvironment.new(RakeConfig.config).setup_environment do diff --git a/lib/tasks/clock.rake b/lib/tasks/clock.rake index f53af545eda..989ec41fa5e 100644 --- a/lib/tasks/clock.rake +++ b/lib/tasks/clock.rake @@ -1,7 +1,7 @@ namespace :clock do - desc "Start a recurring tasks" + desc 'Start a recurring tasks' task :start do - require "cloud_controller/clock/scheduler" + require 'cloud_controller/clock/scheduler' BackgroundJobEnvironment.new(RakeConfig.config).setup_environment scheduler = VCAP::CloudController::Scheduler.new(RakeConfig.config) diff --git a/lib/tasks/db.rake b/lib/tasks/db.rake index 6c2e1515f9d..e2776ee4256 100644 --- a/lib/tasks/db.rake +++ b/lib/tasks/db.rake @@ -1,30 +1,29 @@ namespace :db do - desc "Create a Sequel migration in ./db/migrate" + desc 'Create a Sequel migration in ./db/migrate' task :create_migration do - name = ENV["NAME"] - abort("no NAME specified. use `rake db:create_migration NAME=add_users`") if !name + name = ENV['NAME'] + abort('no NAME specified. use `rake db:create_migration NAME=add_users`') if !name - migrations_dir = File.join("db", "migrations") + migrations_dir = File.join('db', 'migrations') - version = ENV["VERSION"] || Time.now.utc.strftime("%Y%m%d%H%M%S") + version = ENV['VERSION'] || Time.now.utc.strftime('%Y%m%d%H%M%S') filename = "#{version}_#{name}.rb" FileUtils.mkdir_p(migrations_dir) - open(File.join(migrations_dir, filename), "w") do |f| - f.write <<-Ruby -Sequel.migration do - change do - end -end + open(File.join(migrations_dir, filename), 'w') do |f| + f.write <<~Ruby + Sequel.migration do + change do + end + end Ruby - puts"*"*134 - puts"" + puts'*' * 134 + puts'' puts "The migration is in #{File.join(migrations_dir, filename)}" - puts"" - puts "Before writing a migration review our style guide: https://github.com/cloudfoundry/cloud_controller_ng/wiki/CAPI-Migration-Style-Guide" - puts"" - puts"*"*134 - + puts'' + puts 'Before writing a migration review our style guide: https://github.com/cloudfoundry/cloud_controller_ng/wiki/CAPI-Migration-Style-Guide' + puts'' + puts'*' * 134 end end @@ -45,29 +44,29 @@ end def migrate Steno.init(Steno::Config.new(sinks: [Steno::Sink::IO.new(STDOUT)])) - db_logger = Steno.logger("cc.db.migrations") + db_logger = Steno.logger('cc.db.migrations') DBMigrator.from_config(RakeConfig.config, db_logger).apply_migrations end - desc "Perform Sequel migration to database" + desc 'Perform Sequel migration to database' task :migrate do migrate end def rollback(number_to_rollback) Steno.init(Steno::Config.new(sinks: [Steno::Sink::IO.new(STDOUT)])) - db_logger = Steno.logger("cc.db.migrations") + db_logger = Steno.logger('cc.db.migrations') DBMigrator.from_config(RakeConfig.config, db_logger).rollback(number_to_rollback) end def parse_db_connection_string - host = port = passenv = "" - case ENV["DB"] - when "postgres" - user = "-U postgres" - pass = "" - if ENV["DB_CONNECTION_STRING"] - uri = URI.parse(ENV["DB_CONNECTION_STRING"]) + host = port = passenv = '' + case ENV['DB'] + when 'postgres' + user = '-U postgres' + pass = '' + if ENV['DB_CONNECTION_STRING'] + uri = URI.parse(ENV['DB_CONNECTION_STRING']) host = "-h #{uri.host}" port = "-p #{uri.port}" if uri.port if uri.user @@ -75,11 +74,11 @@ end end passenv = "PGPASSWORD=#{uri.password}" if uri.password end - when "mysql" - user = "-u root" - pass = "--password=password" - if ENV["DB_CONNECTION_STRING"] - uri = URI.parse(ENV["DB_CONNECTION_STRING"]) + when 'mysql' + user = '-u root' + pass = '--password=password' + if ENV['DB_CONNECTION_STRING'] + uri = URI.parse(ENV['DB_CONNECTION_STRING']) host = "-h #{uri.host}" port = "-P #{uri.port}" if uri.port if uri.user @@ -90,82 +89,81 @@ end end end end - return host, port, user, pass, passenv + [host, port, user, pass, passenv] end - desc "Rollback migrations to the database (one migration by default)" + desc 'Rollback migrations to the database (one migration by default)' task :rollback, [:number_to_rollback] do |_, args| number_to_rollback = (args[:number_to_rollback] || 1).to_i rollback(number_to_rollback) end namespace :migrate do - desc "Rollback the most recent migration and remigrate to current" - task :redo => [:rollback, :migrate] + desc 'Rollback the most recent migration and remigrate to current' + task redo: [:rollback, :migrate] end namespace :dev do - desc "Migrate the database set in spec/support/bootstrap/db_config" + desc 'Migrate the database set in spec/support/bootstrap/db_config' task :migrate do - require_relative "../../spec/support/bootstrap/db_config" + require_relative '../../spec/support/bootstrap/db_config' for_each_database { migrate } end - desc "Rollback the database migration set in spec/support/bootstrap/db_config" + desc 'Rollback the database migration set in spec/support/bootstrap/db_config' task :rollback, [:number_to_rollback] do |_, args| - require_relative "../../spec/support/bootstrap/db_config" + require_relative '../../spec/support/bootstrap/db_config' number_to_rollback = (args[:number_to_rollback] || 1).to_i for_each_database { rollback(number_to_rollback) } end end task :pick do - unless ENV["DB_CONNECTION_STRING"] - ENV["DB"] ||= %w[mysql postgres].sample - puts "Using #{ENV["DB"]}" + unless ENV['DB_CONNECTION_STRING'] + ENV['DB'] ||= %w[mysql postgres].sample + puts "Using #{ENV['DB']}" end end - desc "Create the database set in spec/support/bootstrap/db_config" + desc 'Create the database set in spec/support/bootstrap/db_config' task :create do - require_relative "../../spec/support/bootstrap/db_config" + require_relative '../../spec/support/bootstrap/db_config' db_config = DbConfig.new host, port, user, pass, passenv = parse_db_connection_string - case ENV["DB"] - when "postgres" - sh "#{passenv} psql -q #{host} #{port} #{user} -c 'create database #{db_config.name};'" - sh "#{passenv} psql -q #{host} #{port} #{user} -d #{db_config.name} -c 'CREATE EXTENSION IF NOT EXISTS citext; CREATE EXTENSION IF NOT EXISTS \"uuid-ossp\"; CREATE EXTENSION IF NOT EXISTS pgcrypto;'" - # sh %Q(#{passenv} psql -q #{host} #{port} #{user} -d #{db_config.name} -c 'CREATE EXTENSION IF NOT EXISTS citext; CREATE EXTENSION IF NOT EXISTS "uuid-ossp"; CREATE EXTENSION IF NOT EXISTS pgcrypto;') - # sh "#{passenv} psql -q #{host} #{port} #{user} -d #{db_config.name} -c '" - when "mysql" - if ENV["TRAVIS"] == "true" - sh "mysql -e 'create database #{db_config.name};' -u root" - else - sh "mysql #{host} #{port} #{user} #{pass} -e 'create database #{db_config.name};'" - end + case ENV['DB'] + when 'postgres' + sh "#{passenv} psql -q #{host} #{port} #{user} -c 'create database #{db_config.name};'" + extensions = 'CREATE EXTENSION IF NOT EXISTS citext; CREATE EXTENSION IF NOT EXISTS "uuid-ossp"; CREATE EXTENSION IF NOT EXISTS pgcrypto;' + sh "#{passenv} psql -q #{host} #{port} #{user} -d #{db_config.name} -c '#{extensions}'" + when 'mysql' + if ENV['TRAVIS'] == 'true' + sh "mysql -e 'create database #{db_config.name};' -u root" else - puts "rake db:create requires DB to be set to create a database" + sh "mysql #{host} #{port} #{user} #{pass} -e 'create database #{db_config.name};'" + end + else + puts 'rake db:create requires DB to be set to create a database' end end - desc "Drop the database set in spec/support/bootstrap/db_config" + desc 'Drop the database set in spec/support/bootstrap/db_config' task :drop do - require_relative "../../spec/support/bootstrap/db_config" + require_relative '../../spec/support/bootstrap/db_config' db_config = DbConfig.new host, port, user, pass, passenv = parse_db_connection_string - case ENV["DB"] - when "postgres" - sh "#{passenv} psql -q #{host} #{port} #{user} -c 'drop database if exists #{db_config.name};'" - when "mysql" - if ENV["TRAVIS"] == "true" - sh "mysql -e 'drop database if exists #{db_config.name};' -u root" - else - sh "mysql #{host} #{port} #{user} #{pass} -e 'drop database if exists #{db_config.name};'" - end + case ENV['DB'] + when 'postgres' + sh "#{passenv} psql -q #{host} #{port} #{user} -c 'drop database if exists #{db_config.name};'" + when 'mysql' + if ENV['TRAVIS'] == 'true' + sh "mysql -e 'drop database if exists #{db_config.name};' -u root" else - puts "rake db:drop requires DB to be set to create a database" + sh "mysql #{host} #{port} #{user} #{pass} -e 'drop database if exists #{db_config.name};'" + end + else + puts 'rake db:drop requires DB to be set to create a database' end end @@ -175,7 +173,7 @@ end task recreate: %w[parallel:drop parallel:create] end - desc "Seed the database" + desc 'Seed the database' task :seed do require 'cloud_controller/seeds' BackgroundJobEnvironment.new(RakeConfig.config).setup_environment do @@ -183,21 +181,21 @@ end end end - desc "Ensure migrations in DB match local migration files" + desc 'Ensure migrations in DB match local migration files' task :ensure_migrations_are_current do Steno.init(Steno::Config.new(sinks: [Steno::Sink::IO.new(STDOUT)])) - db_logger = Steno.logger("cc.db.migrations") + db_logger = Steno.logger('cc.db.migrations') VCAP::CloudController::Encryptor.db_encryption_key = RakeConfig.config[:db_encryption_key] db = VCAP::CloudController::DB.connect(RakeConfig.config[:db], db_logger) latest_migration_in_db = db[:schema_migrations].order(Sequel.desc(:filename)).first[:filename] - latest_migration_in_dir = File.basename(Dir["db/migrations/*"].sort.last) + latest_migration_in_dir = File.basename(Dir['db/migrations/*'].sort.last) unless latest_migration_in_db == latest_migration_in_dir puts "Expected latest migration #{latest_migration_in_db} to equal #{latest_migration_in_dir}" exit 1 end - puts "Successfully applied latest migrations to CF deployment" + puts 'Successfully applied latest migrations to CF deployment' end end diff --git a/lib/tasks/jobs.rake b/lib/tasks/jobs.rake index 76b8e12cc80..003ca2d3d08 100644 --- a/lib/tasks/jobs.rake +++ b/lib/tasks/jobs.rake @@ -1,18 +1,18 @@ namespace :jobs do - desc "Clear the delayed_job queue." + desc 'Clear the delayed_job queue.' task :clear do BackgroundJobEnvironment.new(RakeConfig.config).setup_environment do Delayed::Job.delete_all end end - desc "Start a delayed_job worker that works on jobs that require access to local resources." + desc 'Start a delayed_job worker that works on jobs that require access to local resources.' task :local, [:name] do |t, args| CloudController::DelayedWorker.new(queues: [VCAP::CloudController::Jobs::LocalQueue.new(RakeConfig.config).to_s], name: args.name).start_working end - desc "Start a delayed_job worker." + desc 'Start a delayed_job worker.' task :generic, [:name] do |t, args| CloudController::DelayedWorker.new(queues: ['cc-generic', 'sync-queue'], name: args.name).start_working @@ -31,7 +31,7 @@ namespace :jobs do def start_working BackgroundJobEnvironment.new(RakeConfig.config).setup_environment - logger = Steno.logger("cc-worker") + logger = Steno.logger('cc-worker') logger.info("Starting job with options #{@queue_options}") Delayed::Worker.destroy_failed_jobs = false Delayed::Worker.max_attempts = 3 diff --git a/lib/tasks/rubocop.rake b/lib/tasks/rubocop.rake index 6084b56b412..11ee103e53c 100644 --- a/lib/tasks/rubocop.rake +++ b/lib/tasks/rubocop.rake @@ -1,5 +1,4 @@ begin - require 'rubocop/rake_task' desc 'Run RuboCop' @@ -28,11 +27,9 @@ begin end end rescue LoadError - dummy_task_message = 'rubocop/rake_task could not be loaded' desc "Dummy RuboCop task: #{dummy_task_message}" task :rubocop do puts "NoOp: #{dummy_task_message}" end - end diff --git a/lib/tasks/spec.rake b/lib/tasks/spec.rake index 9492a536a8d..56a45bb26a4 100644 --- a/lib/tasks/spec.rake +++ b/lib/tasks/spec.rake @@ -1,21 +1,21 @@ -desc "Runs all specs" +desc 'Runs all specs' task spec: 'spec:all' namespace :spec do task all: ['db:pick', 'db:parallel:recreate'] do - run_specs_parallel("spec") + run_specs_parallel('spec') end task serial: ['db:pick', 'db:recreate'] do - run_specs("spec") + run_specs('spec') end task integraton: ['db:pick', 'db:recreate'] do - run_specs("spec/integration") + run_specs('spec/integration') end desc 'Run only previously failing tests' - task failed: "db:pick" do + task failed: 'db:pick' do run_failed_specs end @@ -28,6 +28,6 @@ namespace :spec do end def run_failed_specs - sh "bundle exec rspec --only-failures --color --tty spec --require rspec/instafail --format RSpec::Instafail" + sh 'bundle exec rspec --only-failures --color --tty spec --require rspec/instafail --format RSpec::Instafail' end end diff --git a/middleware/security_context_setter.rb b/middleware/security_context_setter.rb index b715f1c10cb..2797e5eaad6 100644 --- a/middleware/security_context_setter.rb +++ b/middleware/security_context_setter.rb @@ -17,7 +17,6 @@ def call(env) end @app.call(env) - rescue VCAP::CloudController::UaaUnavailable => e logger.error("Failed communicating with UAA: #{e.message}") [502, { 'Content-Type:' => 'application/json' }, [error_message(env)]] diff --git a/spec/acceptance/service_broker_spec.rb b/spec/acceptance/service_broker_spec.rb index f04be1d69c3..df8feef8fc9 100644 --- a/spec/acceptance/service_broker_spec.rb +++ b/spec/acceptance/service_broker_spec.rb @@ -546,10 +546,10 @@ def build_service(attrs={}) warning = CGI.unescape(last_response.headers['X-Cf-Warnings']) - expect(warning).to eq(<