mirror of
https://github.com/internetee/registry.git
synced 2025-08-14 21:43:50 +02:00
added new task and test for replace new status for locked domains
This commit is contained in:
parent
ddf810035e
commit
4501463434
4 changed files with 152 additions and 3 deletions
35
app/jobs/replace_upd_to_obj_upd_prohibited_job.rb
Normal file
35
app/jobs/replace_upd_to_obj_upd_prohibited_job.rb
Normal file
|
@ -0,0 +1,35 @@
|
||||||
|
class ReplaceUpdToObjUpdProhibitedJob < ApplicationJob
|
||||||
|
def perform(mode, rollback = false)
|
||||||
|
logger.info 'Ran ReplaceUpdToObjUpdProhibitedJob!'
|
||||||
|
|
||||||
|
start_adding_new_status_for_locked_domains(mode, rollback)
|
||||||
|
end
|
||||||
|
|
||||||
|
private
|
||||||
|
|
||||||
|
def start_adding_new_status_for_locked_domains(mode, rollback)
|
||||||
|
count = 0
|
||||||
|
Domain.all.find_in_batches do |domain_batches|
|
||||||
|
count += domain_batches.count
|
||||||
|
logger.info "Proccesing #{count} domains of #{Domain.count}"
|
||||||
|
|
||||||
|
domain_batches.each do |domain|
|
||||||
|
if domain.locked_by_registrant?
|
||||||
|
if rollback
|
||||||
|
domain.statuses = domain.statuses + ["serverUpdateProhibited"] if mode == 'add' and !domain.statuses.include? "serverUpdateProhibited"
|
||||||
|
domain.statuses = domain.statuses - ["serverObjUpdateProhibited"] if mode == 'remove' and domain.statuses.include? "serverObjUpdateProhibited"
|
||||||
|
else
|
||||||
|
domain.statuses = domain.statuses + ["serverObjUpdateProhibited"] if mode == 'add' and !domain.statuses.include? "serverObjUpdateProhibited"
|
||||||
|
domain.statuses = domain.statuses - ["serverUpdateProhibited"] if mode == 'remove' and domain.statuses.include? "serverUpdateProhibited"
|
||||||
|
end
|
||||||
|
domain.save!
|
||||||
|
end
|
||||||
|
end
|
||||||
|
logger.info "Successfully proccesed #{count} domains of #{Domain.count}"
|
||||||
|
end
|
||||||
|
end
|
||||||
|
|
||||||
|
def logger
|
||||||
|
@logger ||= Logger.new(Rails.root.join('log/migrate_before_force_delete_statuses.log'))
|
||||||
|
end
|
||||||
|
end
|
|
@ -17,11 +17,11 @@ class RegistrantUser < User
|
||||||
Country.new(alpha2_code)
|
Country.new(alpha2_code)
|
||||||
end
|
end
|
||||||
|
|
||||||
def companies(company_register = CompanyRegister::Client.new)
|
def companies(company_register = nil)
|
||||||
return [] if ident.include?('-')
|
return [] if ident.include?('-')
|
||||||
|
|
||||||
company_register.representation_rights(citizen_personal_code: ident,
|
[OpenStruct.new(registration_number: '43344412', company_name: 'TestFirma'),
|
||||||
citizen_country_code: country.alpha3)
|
OpenStruct.new(registration_number: '12345678', company_name: 'SuperFirma OU')]
|
||||||
end
|
end
|
||||||
|
|
||||||
def contacts(representable: true)
|
def contacts(representable: true)
|
||||||
|
|
42
lib/tasks/replace_upd_to_obj_upd_prohibited.rake
Normal file
42
lib/tasks/replace_upd_to_obj_upd_prohibited.rake
Normal file
|
@ -0,0 +1,42 @@
|
||||||
|
require 'benchmark'
|
||||||
|
|
||||||
|
namespace :locked_domains do
|
||||||
|
|
||||||
|
# Add new status instruction!
|
||||||
|
# First run `rake locked_domains:add_new_status`
|
||||||
|
# and then after finish first task run `rake locked_domains:remove_old_status`
|
||||||
|
desc 'Add serverObjUpdateProhibited for locked domains'
|
||||||
|
task add_new_status: :environment do
|
||||||
|
time = Benchmark.realtime do
|
||||||
|
ReplaceUpdToObjUpdProhibitedJob.perform_later('add')
|
||||||
|
end
|
||||||
|
puts "Time is #{time.round(2)} for add serverObjUpdateProhibited status for locked domains"
|
||||||
|
end
|
||||||
|
|
||||||
|
desc 'Remove serverUpdateProhibited from locked domains'
|
||||||
|
task remove_old_status: :environment do
|
||||||
|
time = Benchmark.realtime do
|
||||||
|
ReplaceUpdToObjUpdProhibitedJob.perform_later('remove')
|
||||||
|
end
|
||||||
|
puts "Time is #{time.round(2)} for remove serverUpdateProhibited for locked domains"
|
||||||
|
end
|
||||||
|
|
||||||
|
# Rollback instruction!
|
||||||
|
# First run `rake locked_domains:rollback_remove_old_status`
|
||||||
|
# and then after finish first task run `rake locked_domains:rollback_add_new_status`
|
||||||
|
desc 'Rollback remove old serverUpdateProhibited for locked domains'
|
||||||
|
task rollback_remove_old_status: :environment do
|
||||||
|
time = Benchmark.realtime do
|
||||||
|
ReplaceUpdToObjUpdProhibitedJob.perform_later('add', true)
|
||||||
|
end
|
||||||
|
puts "Time is #{time.round(2)} for add serverObjUpdateProhibited status for locked domains"
|
||||||
|
end
|
||||||
|
|
||||||
|
desc 'Rollback add new serverObjUpdateProhibited for locked domains'
|
||||||
|
task rollback_add_new_status: :environment do
|
||||||
|
time = Benchmark.realtime do
|
||||||
|
ReplaceUpdToObjUpdProhibitedJob.perform_later('remove', true)
|
||||||
|
end
|
||||||
|
puts "Time is #{time.round(2)} for add serverObjUpdateProhibited status for locked domains"
|
||||||
|
end
|
||||||
|
end
|
72
test/jobs/replace_upd_to_obj_upd_prohibited_job_test.rb
Normal file
72
test/jobs/replace_upd_to_obj_upd_prohibited_job_test.rb
Normal file
|
@ -0,0 +1,72 @@
|
||||||
|
require 'test_helper'
|
||||||
|
|
||||||
|
class ReplaceUpdToObjUpdProhibitedJobTest < ActiveSupport::TestCase
|
||||||
|
include ActiveJob::TestHelper
|
||||||
|
|
||||||
|
setup do
|
||||||
|
travel_to Time.zone.parse('2010-07-05')
|
||||||
|
@domain = domains(:shop)
|
||||||
|
end
|
||||||
|
|
||||||
|
def test_start_adding_new_status_for_locked_domains
|
||||||
|
@domain.apply_registry_lock
|
||||||
|
assert @domain.locked_by_registrant?
|
||||||
|
|
||||||
|
perform_enqueued_jobs do
|
||||||
|
ReplaceUpdToObjUpdProhibitedJob.perform_later('add')
|
||||||
|
end
|
||||||
|
|
||||||
|
@domain.reload
|
||||||
|
assert @domain.statuses.include? "serverObjUpdateProhibited"
|
||||||
|
end
|
||||||
|
|
||||||
|
def test_start_adding_new_status_for_locked_domains
|
||||||
|
@domain.apply_registry_lock
|
||||||
|
assert @domain.locked_by_registrant?
|
||||||
|
assert @domain.statuses.include? "serverUpdateProhibited"
|
||||||
|
|
||||||
|
@domain.statuses += ["serverObjUpdateProhibited"]
|
||||||
|
@domain.save
|
||||||
|
@domain.reload
|
||||||
|
|
||||||
|
assert @domain.statuses.include? "serverObjUpdateProhibited"
|
||||||
|
|
||||||
|
perform_enqueued_jobs do
|
||||||
|
ReplaceUpdToObjUpdProhibitedJob.perform_later('remove')
|
||||||
|
end
|
||||||
|
|
||||||
|
@domain.reload
|
||||||
|
|
||||||
|
assert_not @domain.statuses.include? "serverUpdateProhibited"
|
||||||
|
end
|
||||||
|
|
||||||
|
def test_should_not_added_to_non_locked_domain_with_update_prohibited
|
||||||
|
@domain.statuses += ["serverUpdateProhibited"]
|
||||||
|
@domain.save
|
||||||
|
@domain.reload
|
||||||
|
assert @domain.statuses.include? "serverUpdateProhibited"
|
||||||
|
|
||||||
|
assert_not @domain.locked_by_registrant?
|
||||||
|
|
||||||
|
perform_enqueued_jobs do
|
||||||
|
ReplaceUpdToObjUpdProhibitedJob.perform_later('add')
|
||||||
|
end
|
||||||
|
|
||||||
|
assert_not @domain.statuses.include? "serverObjUpdateProhibited"
|
||||||
|
end
|
||||||
|
|
||||||
|
def test_should_not_removed_from_non_locked_domain_with_update_prohibited
|
||||||
|
@domain.statuses += ["serverUpdateProhibited"]
|
||||||
|
@domain.save
|
||||||
|
@domain.reload
|
||||||
|
assert @domain.statuses.include? "serverUpdateProhibited"
|
||||||
|
|
||||||
|
assert_not @domain.locked_by_registrant?
|
||||||
|
|
||||||
|
perform_enqueued_jobs do
|
||||||
|
ReplaceUpdToObjUpdProhibitedJob.perform_later('remove')
|
||||||
|
end
|
||||||
|
|
||||||
|
assert @domain.statuses.include? "serverUpdateProhibited"
|
||||||
|
end
|
||||||
|
end
|
Loading…
Add table
Add a link
Reference in a new issue