mirror of
https://github.com/internetee/registry.git
synced 2025-06-10 06:34:46 +02:00
Merge pull request #1977 from internetee/1885-server-release-prohibited-and-limit-the-effect-of-delete-prohibited
added feature permission for release if domain has status server-rele…
This commit is contained in:
commit
6ae96be0ac
4 changed files with 31 additions and 7 deletions
|
@ -17,14 +17,14 @@ module Domain::Releasable
|
|||
' AND ? != ALL(coalesce(statuses, array[]::varchar[]))',
|
||||
Time.zone.today,
|
||||
Time.zone.today,
|
||||
DomainStatus::SERVER_DELETE_PROHIBITED)
|
||||
DomainStatus::SERVER_RELEASE_PROHIBITED)
|
||||
else
|
||||
where('(delete_date <= ? OR force_delete_date <= ?)' \
|
||||
' AND ? != ALL(coalesce(statuses, array[]::varchar[])) AND' \
|
||||
' ? != ALL(COALESCE(statuses, array[]::varchar[]))',
|
||||
Time.zone.today,
|
||||
Time.zone.today,
|
||||
DomainStatus::SERVER_DELETE_PROHIBITED,
|
||||
DomainStatus::SERVER_RELEASE_PROHIBITED,
|
||||
DomainStatus::DELETE_CANDIDATE)
|
||||
end
|
||||
end
|
||||
|
|
|
@ -4,6 +4,8 @@ class DomainStatus < ApplicationRecord
|
|||
include EppErrors
|
||||
belongs_to :domain
|
||||
|
||||
SERVER_RELEASE_PROHIBITED = 'serverReleaseProhibited'
|
||||
|
||||
# Requests to delete the object MUST be rejected.
|
||||
CLIENT_DELETE_PROHIBITED = 'clientDeleteProhibited'
|
||||
SERVER_DELETE_PROHIBITED = 'serverDeleteProhibited'
|
||||
|
@ -81,7 +83,7 @@ class DomainStatus < ApplicationRecord
|
|||
INACTIVE, OK, PENDING_CREATE, PENDING_DELETE, PENDING_DELETE_CONFIRMATION, PENDING_RENEW, PENDING_TRANSFER,
|
||||
PENDING_UPDATE, SERVER_MANUAL_INZONE, SERVER_REGISTRANT_CHANGE_PROHIBITED,
|
||||
SERVER_ADMIN_CHANGE_PROHIBITED, SERVER_TECH_CHANGE_PROHIBITED, FORCE_DELETE,
|
||||
DELETE_CANDIDATE, EXPIRED, DISPUTED
|
||||
DELETE_CANDIDATE, EXPIRED, DISPUTED, SERVER_RELEASE_PROHIBITED
|
||||
].freeze
|
||||
|
||||
CLIENT_STATUSES = [
|
||||
|
@ -92,7 +94,7 @@ class DomainStatus < ApplicationRecord
|
|||
SERVER_STATUSES = [
|
||||
SERVER_DELETE_PROHIBITED, SERVER_HOLD, SERVER_RENEW_PROHIBITED, SERVER_TRANSFER_PROHIBITED,
|
||||
SERVER_UPDATE_PROHIBITED, SERVER_MANUAL_INZONE, SERVER_REGISTRANT_CHANGE_PROHIBITED,
|
||||
SERVER_ADMIN_CHANGE_PROHIBITED, SERVER_TECH_CHANGE_PROHIBITED
|
||||
SERVER_ADMIN_CHANGE_PROHIBITED, SERVER_TECH_CHANGE_PROHIBITED, SERVER_RELEASE_PROHIBITED
|
||||
].freeze
|
||||
|
||||
UPDATE_PROHIBIT_STATES = [
|
||||
|
@ -157,7 +159,8 @@ class DomainStatus < ApplicationRecord
|
|||
['AdminChangeProhibited', SERVER_ADMIN_CHANGE_PROHIBITED],
|
||||
['TechChangeProhibited', SERVER_TECH_CHANGE_PROHIBITED],
|
||||
['UpdateProhibited', SERVER_UPDATE_PROHIBITED],
|
||||
['DeleteProhibited', SERVER_DELETE_PROHIBITED]
|
||||
['DeleteProhibited', SERVER_DELETE_PROHIBITED],
|
||||
['ReleaseProhibited', SERVER_RELEASE_PROHIBITED],
|
||||
]
|
||||
end
|
||||
|
||||
|
|
|
@ -99,10 +99,21 @@ class DomainReleasableAuctionableTest < ActiveJob::TestCase
|
|||
assert_not @domain.domain_name.at_auction?
|
||||
end
|
||||
|
||||
def test_ignores_domains_with_server_delete_prohibited_status
|
||||
def test_does_not_ignore_domains_with_server_delete_prohibited_status
|
||||
@domain.update!(delete_date: '2010-07-04', statuses: [DomainStatus::SERVER_DELETE_PROHIBITED])
|
||||
travel_to Time.zone.parse('2010-07-05')
|
||||
|
||||
assert_changes 'Domain.count' do
|
||||
Domain.release_domains
|
||||
end
|
||||
|
||||
assert @domain.domain_name.at_auction?
|
||||
end
|
||||
|
||||
def test_ignores_domains_with_server_release_prohibited_status
|
||||
@domain.update!(delete_date: '2010-07-04', statuses: [DomainStatus::SERVER_RELEASE_PROHIBITED])
|
||||
travel_to Time.zone.parse('2010-07-05')
|
||||
|
||||
assert_no_difference 'Domain.count' do
|
||||
Domain.release_domains
|
||||
end
|
||||
|
|
|
@ -51,13 +51,23 @@ class DomainReleasableDiscardableTest < ActiveSupport::TestCase
|
|||
end
|
||||
end
|
||||
|
||||
def test_ignores_domains_with_server_delete_prohibited_status
|
||||
def test_does_not_ignore_domains_with_server_delete_prohibited_status
|
||||
@domain.update!(delete_date: '2010-07-04', statuses: [DomainStatus::SERVER_DELETE_PROHIBITED])
|
||||
travel_to Time.zone.parse('2010-07-05')
|
||||
|
||||
Domain.release_domains
|
||||
@domain.reload
|
||||
|
||||
assert @domain.discarded?
|
||||
end
|
||||
|
||||
def test_ignores_domains_with_server_release_prohibited_status
|
||||
@domain.update!(delete_date: '2010-07-04', statuses: [DomainStatus::SERVER_RELEASE_PROHIBITED])
|
||||
travel_to Time.zone.parse('2010-07-05')
|
||||
|
||||
Domain.release_domains
|
||||
@domain.reload
|
||||
|
||||
assert_not @domain.discarded?
|
||||
end
|
||||
|
||||
|
|
Loading…
Add table
Add a link
Reference in a new issue