Delete original WhoisRecord after domain deletion

This commit is contained in:
Alex Sherman 2021-01-05 17:21:13 +05:00
parent 0c5ef72c7d
commit b60a7e571f
3 changed files with 16 additions and 12 deletions

View file

@ -39,16 +39,16 @@ module Concerns
def release def release
if release_to_auction if release_to_auction
with_lock do lock!
to_stdout "Checking if domain_name is auctionable: #{domain_name.auctionable?}"
domain_name.sell_at_auction if domain_name.auctionable?
to_stdout 'Destroying domain' to_stdout 'Destroying domain'
destroy! destroy!
to_stdout "Checking if domain_name is auctionable: #{domain_name.auctionable?}"
domain_name.sell_at_auction if domain_name.auctionable?
to_stdout 'Sending registrar notification' to_stdout 'Sending registrar notification'
registrar.notifications.create!(text: "#{I18n.t(:domain_deleted)}: #{name}", registrar.notifications.create!(text: "#{I18n.t(:domain_deleted)}: #{name}",
attached_obj_id: id, attached_obj_id: id,
attached_obj_type: self.class) attached_obj_type: self.class)
end
else else
discard discard
end end

View file

@ -78,7 +78,7 @@ class Domain < ApplicationRecord
true true
end end
after_commit :update_whois_record, unless: -> { domain_name.at_auction? } after_commit :update_whois_record
after_create :update_reserved_domains after_create :update_reserved_domains
def update_reserved_domains def update_reserved_domains

View file

@ -63,11 +63,15 @@ class DomainReleasableAuctionableTest < ActiveSupport::TestCase
def test_updates_whois_server def test_updates_whois_server
@domain.update!(delete_date: '2010-07-04') @domain.update!(delete_date: '2010-07-04')
travel_to Time.zone.parse('2010-07-05') travel_to Time.zone.parse('2010-07-05')
old_whois = @domain.whois_record
Domain.release_domains Domain.release_domains
whois_record = Whois::Record.find_by(name: @domain.name) assert_raises ActiveRecord::RecordNotFound do
old_whois.reload
end
whois_record = Whois::Record.find_by(name: @domain.name)
json = { "name"=>@domain.name, json = { "name"=>@domain.name,
"status"=>["AtAuction"], "status"=>["AtAuction"],
"disclaimer"=> Setting.registry_whois_disclaimer } "disclaimer"=> Setting.registry_whois_disclaimer }