Create job for regenerating Subzone WHOIS entries

This commit is contained in:
Karl Erik Õunapuu 2020-08-14 12:29:43 +03:00
parent 7a50d6ae9f
commit 2ed7f467aa
2 changed files with 29 additions and 0 deletions

View file

@ -0,0 +1,11 @@
class RegenerateSubzoneWhoisesJob < Que::Job
def run
subzones = DNS::Zone.all
subzones.each do |zone|
next unless zone.subzone?
UpdateWhoisRecordJob.enqueue zone.origin, 'zone'
end
end
end

View file

@ -0,0 +1,18 @@
require 'test_helper'
class RegenerateSubzoneWhoisesJobTest < ActiveSupport::TestCase
def test_regenerates_whois_data_only_for_subzones
subzone = dns_zones(:one).dup
subzone.origin = 'subzone.test'
subzone.save
Whois::Record.where(name: subzone.origin).destroy_all
Whois::Record.where(name: dns_zones(:one)).destroy_all
assert_nil Whois::Record.find_by(name: subzone.origin)
assert_nil Whois::Record.find_by(name: dns_zones(:one).origin)
RegenerateSubzoneWhoisesJob.run
assert Whois::Record.find_by(name: subzone.origin)
assert_nil Whois::Record.find_by(name: dns_zones(:one).origin)
end
end