mirror of
https://github.com/internetee/registry.git
synced 2025-08-04 17:01:44 +02:00
parent 64e3bc885a2cb8b46a1aaa4bf4f121ee7f5d44a6
author Karl Erik Õunapuu <karlerik@kreative.ee> 1591359032 +0300 committer Alex Sherman <yul.golem@gmail.com> 1617029320 +0500 CsyncJob: Don't respect IPv6 if nessecary
This commit is contained in:
parent
e46fdd57af
commit
88e1bc3727
33 changed files with 1475 additions and 119 deletions
73
test/jobs/csync_job_test.rb
Normal file
73
test/jobs/csync_job_test.rb
Normal file
|
@ -0,0 +1,73 @@
|
|||
require 'test_helper'
|
||||
|
||||
class CsyncJobTest < ActiveSupport::TestCase
|
||||
include ActionMailer::TestHelper
|
||||
|
||||
setup do
|
||||
@dnskey = dnskeys(:one)
|
||||
@domain = domains(:shop)
|
||||
end
|
||||
|
||||
def test_generates_input_file_for_cdnskey_scanner
|
||||
@dnskey.update(domain: domains(:shop))
|
||||
|
||||
expected_contents = "[secure]\nns1.bestnames.test shop.test\nns2.bestnames.test shop.test\n" \
|
||||
"[insecure]\nns1.bestnames.test airport.test metro.test\nns2.bestnames.test airport.test\n"
|
||||
|
||||
CsyncJob.run(generate: true)
|
||||
|
||||
assert_equal expected_contents, IO.read(ENV['cdns_scanner_input_file'])
|
||||
end
|
||||
|
||||
def test_creates_csync_record_when_new_cdnskey_discovered
|
||||
assert_nil @domain.csync_record
|
||||
CsyncJob.run
|
||||
|
||||
@domain.reload
|
||||
assert @domain.csync_record
|
||||
csync_record = @domain.csync_record
|
||||
assert_equal 1, csync_record.times_scanned
|
||||
assert_equal '257 3 13 mdsswUyr3DPW132mOi8V9xESWE8jTo0dxCjjnopKl+GqJxpVXckHAeF+KkxLbxILfDLUT0rAK9iUzy1L53eKGQ==', csync_record.cdnskey
|
||||
|
||||
assert_not @domain.dnskeys.any?
|
||||
end
|
||||
|
||||
def test_creates_dnskey_after_required_cycles
|
||||
assert_equal 0, @domain.dnskeys.count
|
||||
assert_nil @domain.csync_record
|
||||
CsyncJob.run # Creates initial CsyncRecord for domain
|
||||
|
||||
@domain.reload
|
||||
assert @domain.csync_record.present?
|
||||
|
||||
@domain.csync_record.update(times_scanned: 2) # 3rd time trigger DNSKEY push
|
||||
assert_equal 0, @domain.dnskeys.count
|
||||
assert_equal 2, @domain.csync_record.times_scanned
|
||||
|
||||
CsyncRecord.stub :by_domain_name, @domain.csync_record do
|
||||
@domain.csync_record.stub :dnssec_validates?, true do
|
||||
CsyncJob.run
|
||||
end
|
||||
end
|
||||
|
||||
@domain.reload
|
||||
assert_equal 1, @domain.dnskeys.count
|
||||
assert_equal 'mdsswUyr3DPW132mOi8V9xESWE8jTo0dxCjjnopKl+GqJxpVXckHAeF+KkxLbxILfDLUT0rAK9iUzy1L53eKGQ==', @domain.dnskeys.last.public_key
|
||||
assert_nil @domain.csync_record
|
||||
end
|
||||
|
||||
def test_sends_mail_to_contacts_if_dnskey_updated
|
||||
assert_emails 1 do
|
||||
CsyncJob.run
|
||||
@domain.reload
|
||||
|
||||
CsyncRecord.stub :by_domain_name, @domain.csync_record do
|
||||
@domain.csync_record.stub :dnssec_validates?, true do
|
||||
2.times do
|
||||
CsyncJob.run
|
||||
end
|
||||
end
|
||||
end
|
||||
end
|
||||
end
|
||||
end
|
Loading…
Add table
Add a link
Reference in a new issue