diff --git a/Gemfile b/Gemfile index 7fcbe7d44b..5a5d65104e 100644 --- a/Gemfile +++ b/Gemfile @@ -90,10 +90,10 @@ group :test do gem 'database_cleaner' gem 'minitest', '~> 5.17' gem 'minitest-stub_any_instance' + gem 'mock_redis' gem 'selenium-webdriver' gem 'simplecov', '0.17.1', require: false # CC last supported v0.17 gem 'spy' - gem 'mock_redis' gem 'webmock' end diff --git a/app/controllers/admin/bsa_protected_domains_controller.rb b/app/controllers/admin/bsa_protected_domains_controller.rb index e244878607..852425f8e6 100644 --- a/app/controllers/admin/bsa_protected_domains_controller.rb +++ b/app/controllers/admin/bsa_protected_domains_controller.rb @@ -1,7 +1,7 @@ module Admin class BsaProtectedDomainsController < BaseController load_and_authorize_resource - before_action :set_domain, only: [:edit, :update] + before_action :set_domain, only: %i[edit update] def index params[:q] ||= {} @@ -67,8 +67,6 @@ def release_to_auction private def bsa_protected_domain_params - # params.require(:bsa_protected_domain).permit(:domain_name, :registration_code, :order_id, :suborder_id, :create_date, :state) - params.require(:bsa_protected_domain).permit(:domain_name, :registration_code, :order_id, :suborder_id, :create_date, :state).tap do |whitelisted| whitelisted[:state] = whitelisted[:state].to_i if whitelisted[:state].is_a?(String) diff --git a/app/jobs/fetch_godaddy_bsa_block_order_list_job.rb b/app/jobs/fetch_godaddy_bsa_block_order_list_job.rb index a9e6d93fff..394cf4843e 100644 --- a/app/jobs/fetch_godaddy_bsa_block_order_list_job.rb +++ b/app/jobs/fetch_godaddy_bsa_block_order_list_job.rb @@ -39,8 +39,10 @@ def collect_bsa_values(res) registration_code: SecureRandom.hex, create_date: DateTime.parse(block_order['createdDt']), created_at: Time.zone.now, - updated_at: Time.zone.now + updated_at: Time.zone.now, } end end end + +# rubocop:enable Metrics diff --git a/app/jobs/update_godaddy_domains_status_job.rb b/app/jobs/update_godaddy_domains_status_job.rb index 1177ea901a..dcce19571d 100644 --- a/app/jobs/update_godaddy_domains_status_job.rb +++ b/app/jobs/update_godaddy_domains_status_job.rb @@ -28,7 +28,9 @@ def serialize_suborders_block(suborders_block:, state:) end end + # rubocop:disable Rails::SkipsModelValidations def refresh_statuses(suborders_block:, state:) suborders_block.update_all(state: state) end + # rubocop:enable Rails::SkipsModelValidations end diff --git a/app/models/bsa_protected_domain.rb b/app/models/bsa_protected_domain.rb index d33d778468..25e3a558f1 100644 --- a/app/models/bsa_protected_domain.rb +++ b/app/models/bsa_protected_domain.rb @@ -18,7 +18,7 @@ class BsaProtectedDomain < ApplicationRecord ACTIVE => 4, QUEUED_FOR_RELEASE => 5, RELEASE_IN_PROGRESS => 6, - CLOSED => 7 + CLOSED => 7, } class << self diff --git a/app/models/bsa_protected_domain/ransackable.rb b/app/models/bsa_protected_domain/ransackable.rb index cd5009025a..323793f7dd 100644 --- a/app/models/bsa_protected_domain/ransackable.rb +++ b/app/models/bsa_protected_domain/ransackable.rb @@ -10,5 +10,4 @@ def ransackable_attributes(*) authorizable_ransackable_attributes end end - end diff --git a/app/services/bsa/application_service.rb b/app/services/bsa/application_service.rb index c315ccc159..1bd1f89e92 100644 --- a/app/services/bsa/application_service.rb +++ b/app/services/bsa/application_service.rb @@ -18,13 +18,13 @@ def connect(url:) def headers(content_type: 'x-www-form-urlencoded') { - 'Content-Type' => "application/#{content_type}" + 'Content-Type' => "application/#{content_type}", } end def token_format(token) { - 'Authorization' => "Bearer #{token}" + 'Authorization' => "Bearer #{token}", } end @@ -54,8 +54,10 @@ def expire_token_at(token) Time.at(payload['exp']).utc.in_time_zone end + # rubocop:disable Style/GlobalVars def redis @redis ||= Rails.env.test? ? $mock_redis : Redis.new(host: redist_host, port: redis_port, db: redis_db) end + # rubocop:enable Style/GlobalVars end end diff --git a/app/services/bsa/auth_service.rb b/app/services/bsa/auth_service.rb index 73cbf420e0..c84bb032c7 100644 --- a/app/services/bsa/auth_service.rb +++ b/app/services/bsa/auth_service.rb @@ -51,7 +51,7 @@ def check_for_expired_token def payload { 'apiKey' => api_key, - 'space' => bsa + 'space' => bsa, } end diff --git a/app/services/bsa/block_order_list_service.rb b/app/services/bsa/block_order_list_service.rb index d1055d0788..6ec8e70206 100644 --- a/app/services/bsa/block_order_list_service.rb +++ b/app/services/bsa/block_order_list_service.rb @@ -5,6 +5,7 @@ class BlockOrderListService attr_reader :sort_by, :order, :offset, :limit, :q + # rubocop:disable Naming/MethodParameterName def self.call(sort_by: nil, order: nil, offset: nil, limit: nil, q: {}) new(sort_by: sort_by, order: order, offset: offset, limit: limit, q: q).call end @@ -16,6 +17,7 @@ def initialize(sort_by:, order:, offset:, limit:, q:) @limit = limit @q = q end + # rubocop:enable Naming/MethodParameterName def call http = connect(url: base_url) @@ -35,7 +37,7 @@ def query_string 'sortBy' => sort_by, 'order' => order, 'offset' => offset, - 'limit' => limit + 'limit' => limit, }.compact params['q'] = q.map { |key, value| "#{key}=#{value}" }.join('&') if q.present? diff --git a/app/services/bsa/block_order_view_service.rb b/app/services/bsa/block_order_view_service.rb index 775c48d08b..7b3363bb66 100644 --- a/app/services/bsa/block_order_view_service.rb +++ b/app/services/bsa/block_order_view_service.rb @@ -32,7 +32,7 @@ def query_string params = { 'blocksuborderid' => block_suborder_id, 'offset' => offset, - 'limit' => limit + 'limit' => limit, }.compact URI.encode_www_form(params) diff --git a/app/services/bsa/download_non_blocked_name_list_service.rb b/app/services/bsa/download_non_blocked_name_list_service.rb index 0858cf15e7..6c2082cb29 100644 --- a/app/services/bsa/download_non_blocked_name_list_service.rb +++ b/app/services/bsa/download_non_blocked_name_list_service.rb @@ -7,7 +7,7 @@ class DownloadNonBlockedNameListService attr_reader :suborder_id, :filename - def self.call(suborder_id:, filename: Time.now.strftime('%Y-%m-%d_%H-%M-%S')) + def self.call(suborder_id:, filename: Time.zone.now.strftime('%Y-%m-%d_%H-%M-%S')) new(suborder_id: suborder_id, filename: filename).call end diff --git a/app/services/bsa/non_blocked_name_action_service.rb b/app/services/bsa/non_blocked_name_action_service.rb index ded7947da0..bfe0213dd7 100644 --- a/app/services/bsa/non_blocked_name_action_service.rb +++ b/app/services/bsa/non_blocked_name_action_service.rb @@ -40,7 +40,7 @@ def endpoint def query_string params = { 'action' => action, - 'suborderid' => suborder_id + 'suborderid' => suborder_id, }.compact URI.encode_www_form(params) diff --git a/app/services/bsa/upload_unavailable_domain_report_service.rb b/app/services/bsa/upload_unavailable_domain_report_service.rb index f36130b96c..b896b8f21d 100644 --- a/app/services/bsa/upload_unavailable_domain_report_service.rb +++ b/app/services/bsa/upload_unavailable_domain_report_service.rb @@ -15,8 +15,17 @@ def initialize(file_path:) def call http = connect(url: base_url) - uri = URI("#{base_url}") + uri = URI(base_url.to_s) + request = configure_request(uri: uri) + response = http.request(request) + + struct_response(response) + end + + private + + def configure_request(uri:) checksum = calculate_checksum(@file_path) request = Net::HTTP::Post.new(uri) @@ -25,34 +34,26 @@ def call form_data = [ ['Zone', { 'checkSum' => checksum }.to_json], - ['File', File.open(@file_path)] + ['File', File.open(@file_path)], ] request.set_form form_data, 'multipart/form-data' - - response = http.request(request) - - struct_response(response) end - private - def endpoint '/bsa/api/zonefile' end def form_data_headers { - 'Content-Type' => 'multipart/form-data' + 'Content-Type' => 'multipart/form-data', } end def calculate_checksum(file_path) digest = OpenSSL::Digest.new('SHA256') File.open(file_path, 'rb') do |f| - while chunk = f.read(4096) - digest.update(chunk) - end + digest.update(chunk) while chunk == f.read(4096) end digest.hexdigest end