mirror of
https://github.com/internetee/registry.git
synced 2025-06-11 07:04:47 +02:00
implement mechanism of save statuses for force delete and lock
This commit is contained in:
parent
ec90722bf0
commit
96bc237484
9 changed files with 142 additions and 23 deletions
|
@ -12,6 +12,41 @@ class ForceDeleteTest < ActionMailer::TestCase
|
|||
Truemail.configure.default_validation_type = @old_validation_type
|
||||
end
|
||||
|
||||
def test_restore_domain_statuses_after_soft_force_delete
|
||||
@domain.update(statuses: [DomainStatus::SERVER_RENEW_PROHIBITED])
|
||||
@domain.schedule_force_delete(type: :soft)
|
||||
|
||||
assert @domain.force_delete_scheduled?
|
||||
|
||||
assert @domain.force_delete_domain_statuses_history.include? DomainStatus::SERVER_RENEW_PROHIBITED
|
||||
|
||||
@domain.cancel_force_delete
|
||||
assert @domain.statuses.include? DomainStatus::SERVER_RENEW_PROHIBITED
|
||||
end
|
||||
|
||||
# def test_restore_domain_statuses_if_status_set_after_fc
|
||||
# @domain.schedule_force_delete(type: :soft)
|
||||
|
||||
# assert @domain.force_delete_scheduled?
|
||||
|
||||
# @domain.update(statuses: [DomainStatus::SERVER_RENEW_PROHIBITED])
|
||||
# assert @domain.force_delete_domain_statuses_history.include? DomainStatus::SERVER_RENEW_PROHIBITED
|
||||
|
||||
# @domain.cancel_force_delete
|
||||
# assert @domain.statuses.include? DomainStatus::SERVER_RENEW_PROHIBITED
|
||||
# end
|
||||
|
||||
def test_clear_force_delete_domain_statuses_history
|
||||
@domain.update(statuses: [DomainStatus::SERVER_RENEW_PROHIBITED])
|
||||
@domain.schedule_force_delete(type: :soft)
|
||||
|
||||
assert @domain.force_delete_scheduled?
|
||||
assert @domain.force_delete_domain_statuses_history.include? DomainStatus::SERVER_RENEW_PROHIBITED
|
||||
@domain.cancel_force_delete
|
||||
|
||||
assert_nil @domain.force_delete_domain_statuses_history
|
||||
end
|
||||
|
||||
def test_schedules_force_delete_fast_track
|
||||
assert_not @domain.force_delete_scheduled?
|
||||
travel_to Time.zone.parse('2010-07-05')
|
||||
|
@ -56,7 +91,7 @@ class ForceDeleteTest < ActionMailer::TestCase
|
|||
statuses_to_be_added = [
|
||||
DomainStatus::FORCE_DELETE,
|
||||
DomainStatus::SERVER_RENEW_PROHIBITED,
|
||||
DomainStatus::SERVER_TRANSFER_PROHIBITED,
|
||||
DomainStatus::SERVER_TRANSFER_PROHIBITED
|
||||
]
|
||||
|
||||
@domain.schedule_force_delete(type: :soft)
|
||||
|
@ -68,7 +103,7 @@ class ForceDeleteTest < ActionMailer::TestCase
|
|||
statuses_to_be_added = [
|
||||
DomainStatus::FORCE_DELETE,
|
||||
DomainStatus::SERVER_RENEW_PROHIBITED,
|
||||
DomainStatus::SERVER_TRANSFER_PROHIBITED,
|
||||
DomainStatus::SERVER_TRANSFER_PROHIBITED
|
||||
]
|
||||
|
||||
@domain.schedule_force_delete(type: :fast_track)
|
||||
|
@ -79,7 +114,7 @@ class ForceDeleteTest < ActionMailer::TestCase
|
|||
def test_scheduling_force_delete_allows_domain_deletion
|
||||
statuses_to_be_removed = [
|
||||
DomainStatus::CLIENT_DELETE_PROHIBITED,
|
||||
DomainStatus::SERVER_DELETE_PROHIBITED,
|
||||
DomainStatus::SERVER_DELETE_PROHIBITED
|
||||
]
|
||||
|
||||
@domain.statuses = statuses_to_be_removed + %w[other-status]
|
||||
|
@ -94,7 +129,7 @@ class ForceDeleteTest < ActionMailer::TestCase
|
|||
DomainStatus::PENDING_UPDATE,
|
||||
DomainStatus::PENDING_TRANSFER,
|
||||
DomainStatus::PENDING_RENEW,
|
||||
DomainStatus::PENDING_CREATE,
|
||||
DomainStatus::PENDING_CREATE
|
||||
]
|
||||
|
||||
@domain.statuses = statuses_to_be_removed + %w[other-status]
|
||||
|
@ -122,7 +157,7 @@ class ForceDeleteTest < ActionMailer::TestCase
|
|||
|
||||
assert_not result.valid?
|
||||
assert_not @domain.force_delete_scheduled?
|
||||
message = ["Force delete procedure cannot be scheduled while a domain is discarded"]
|
||||
message = ['Force delete procedure cannot be scheduled while a domain is discarded']
|
||||
assert_equal message, result.errors.messages[:domain]
|
||||
end
|
||||
|
||||
|
@ -149,9 +184,9 @@ class ForceDeleteTest < ActionMailer::TestCase
|
|||
|
||||
def test_force_delete_does_not_double_statuses
|
||||
statuses = [
|
||||
DomainStatus::FORCE_DELETE,
|
||||
DomainStatus::SERVER_RENEW_PROHIBITED,
|
||||
DomainStatus::SERVER_TRANSFER_PROHIBITED,
|
||||
DomainStatus::FORCE_DELETE,
|
||||
DomainStatus::SERVER_RENEW_PROHIBITED,
|
||||
DomainStatus::SERVER_TRANSFER_PROHIBITED
|
||||
]
|
||||
@domain.statuses = @domain.statuses + statuses
|
||||
@domain.save!
|
||||
|
@ -177,8 +212,8 @@ class ForceDeleteTest < ActionMailer::TestCase
|
|||
|
||||
def test_cancelling_force_delete_keeps_previous_statuses
|
||||
statuses = [
|
||||
DomainStatus::SERVER_RENEW_PROHIBITED,
|
||||
DomainStatus::SERVER_TRANSFER_PROHIBITED,
|
||||
DomainStatus::SERVER_RENEW_PROHIBITED,
|
||||
DomainStatus::SERVER_TRANSFER_PROHIBITED
|
||||
]
|
||||
|
||||
@domain.statuses = statuses
|
||||
|
@ -479,7 +514,7 @@ class ForceDeleteTest < ActionMailer::TestCase
|
|||
@bounced_mail.bounce_subtype = 'General'
|
||||
@bounced_mail.action = 'failed'
|
||||
@bounced_mail.status = '5.1.1'
|
||||
@bounced_mail.diagnostic = 'smtp; 550 5.1.1 user unknown'
|
||||
@bounced_mail.diagnostic = 'smtp; 550 5.1.1 user unknown'
|
||||
@bounced_mail.save!
|
||||
end
|
||||
end
|
||||
|
|
|
@ -11,12 +11,62 @@ class DomainRegistryLockableTest < ActiveSupport::TestCase
|
|||
refute(@domain.locked_by_registrant?)
|
||||
@domain.update(statuses: [DomainStatus::SERVER_TRANSFER_PROHIBITED])
|
||||
|
||||
@domain.apply_registry_lock #Raise validation error
|
||||
@domain.apply_registry_lock # Raise validation error
|
||||
|
||||
check_statuses_lockable_domain
|
||||
assert(@domain.locked_by_registrant?)
|
||||
end
|
||||
|
||||
def test_remove_lockalable_statuses_after_admin_intervention
|
||||
@domain.apply_registry_lock
|
||||
assert @domain.locked_by_registrant?
|
||||
assert_equal @domain.statuses.sort, Domain::RegistryLockable::LOCK_STATUSES.sort
|
||||
|
||||
deleted_status = @domain.statuses - [DomainStatus::SERVER_DELETE_PROHIBITED]
|
||||
@domain.update(statuses: deleted_status)
|
||||
assert_not @domain.locked_by_registrant?
|
||||
|
||||
@domain.apply_registry_lock
|
||||
assert @domain.locked_by_registrant?
|
||||
@domain.remove_registry_lock
|
||||
|
||||
assert_not @domain.statuses.include? DomainStatus::SERVER_UPDATE_PROHIBITED
|
||||
assert_not @domain.statuses.include? DomainStatus::SERVER_TRANSFER_PROHIBITED
|
||||
assert_not @domain.statuses.include? DomainStatus::SERVER_DELETE_PROHIBITED
|
||||
end
|
||||
|
||||
def test_restore_domain_statuses_after_unlock
|
||||
@domain.statuses = [DomainStatus::SERVER_UPDATE_PROHIBITED]
|
||||
@domain.admin_store_statuses_history = [DomainStatus::SERVER_UPDATE_PROHIBITED]
|
||||
@domain.save
|
||||
assert @domain.admin_store_statuses_history.include? DomainStatus::SERVER_UPDATE_PROHIBITED
|
||||
|
||||
@domain.apply_registry_lock
|
||||
assert @domain.locked_by_registrant?
|
||||
assert_equal @domain.statuses.sort, Domain::RegistryLockable::LOCK_STATUSES.sort
|
||||
|
||||
@domain.remove_registry_lock
|
||||
assert @domain.statuses.include? DomainStatus::SERVER_UPDATE_PROHIBITED
|
||||
assert_not @domain.statuses.include? DomainStatus::SERVER_TRANSFER_PROHIBITED
|
||||
assert_not @domain.statuses.include? DomainStatus::SERVER_DELETE_PROHIBITED
|
||||
end
|
||||
|
||||
def test_add_additinal_status_for_locked_domain
|
||||
@domain.apply_registry_lock
|
||||
assert @domain.locked_by_registrant?
|
||||
assert_equal @domain.statuses.sort, Domain::RegistryLockable::LOCK_STATUSES.sort
|
||||
|
||||
@domain.statuses += [DomainStatus::SERVER_RENEW_PROHIBITED]
|
||||
@domain.admin_store_statuses_history = [DomainStatus::SERVER_RENEW_PROHIBITED]
|
||||
@domain.save
|
||||
|
||||
@domain.remove_registry_lock
|
||||
assert @domain.statuses.include? DomainStatus::SERVER_RENEW_PROHIBITED
|
||||
assert_not @domain.statuses.include? DomainStatus::SERVER_UPDATE_PROHIBITED
|
||||
assert_not @domain.statuses.include? DomainStatus::SERVER_TRANSFER_PROHIBITED
|
||||
assert_not @domain.statuses.include? DomainStatus::SERVER_DELETE_PROHIBITED
|
||||
end
|
||||
|
||||
def test_lockable_domain_if_remove_some_prohibited_status
|
||||
refute(@domain.locked_by_registrant?)
|
||||
@domain.apply_registry_lock
|
||||
|
@ -29,7 +79,7 @@ class DomainRegistryLockableTest < ActiveSupport::TestCase
|
|||
assert @domain.statuses.include? DomainStatus::SERVER_DELETE_PROHIBITED
|
||||
assert @domain.statuses.include? DomainStatus::SERVER_TRANSFER_PROHIBITED
|
||||
assert_not @domain.statuses.include? DomainStatus::SERVER_UPDATE_PROHIBITED
|
||||
|
||||
|
||||
assert_not(@domain.locked_by_registrant?)
|
||||
end
|
||||
|
||||
|
@ -74,7 +124,7 @@ class DomainRegistryLockableTest < ActiveSupport::TestCase
|
|||
|
||||
@domain.remove_registry_lock
|
||||
|
||||
assert_equal(["ok"], @domain.statuses)
|
||||
assert_equal(['ok'], @domain.statuses)
|
||||
refute(@domain.locked_by_registrant?)
|
||||
refute(@domain.locked_by_registrant_at)
|
||||
end
|
||||
|
@ -100,8 +150,8 @@ class DomainRegistryLockableTest < ActiveSupport::TestCase
|
|||
|
||||
def check_statuses_lockable_domain
|
||||
lock_statuses = [DomainStatus::SERVER_UPDATE_PROHIBITED,
|
||||
DomainStatus::SERVER_DELETE_PROHIBITED,
|
||||
DomainStatus::SERVER_TRANSFER_PROHIBITED]
|
||||
DomainStatus::SERVER_DELETE_PROHIBITED,
|
||||
DomainStatus::SERVER_TRANSFER_PROHIBITED]
|
||||
|
||||
@domain.statuses.include? lock_statuses
|
||||
end
|
||||
|
|
|
@ -27,6 +27,17 @@ class DomainTest < ActiveSupport::TestCase
|
|||
assert domains(:invalid).invalid?
|
||||
end
|
||||
|
||||
def test_valid_domain_statuses_history
|
||||
@domain.force_delete_domain_statuses_history = [DomainStatus::SERVER_UPDATE_PROHIBITED,
|
||||
DomainStatus::SERVER_TRANSFER_PROHIBITED]
|
||||
@domain.admin_store_statuses_history = [DomainStatus::SERVER_UPDATE_PROHIBITED]
|
||||
assert @domain.valid?
|
||||
|
||||
assert @domain.json_statuses_history['force_delete_domain_statuses_history'].include? 'serverUpdateProhibited'
|
||||
assert @domain.json_statuses_history['force_delete_domain_statuses_history'].include? 'serverTransferProhibited'
|
||||
assert_equal @domain.json_statuses_history['admin_store_statuses_history'], ['serverUpdateProhibited']
|
||||
end
|
||||
|
||||
# https://www.internet.ee/domeenid/ee-domeenireeglid#domeeninimede-registreerimine
|
||||
def test_validates_name_format
|
||||
assert_equal dns_zones(:one).origin, 'test'
|
||||
|
|
Loading…
Add table
Add a link
Reference in a new issue