mirror of
https://github.com/internetee/registry.git
synced 2025-06-07 21:25:39 +02:00
Merge pull request #2229 from internetee/remove-add-statuses-feature-v2
removed obj_and_ext_prohibited toggle feature
This commit is contained in:
commit
d97540aee6
7 changed files with 72 additions and 178 deletions
|
@ -162,8 +162,8 @@ module Epp
|
|||
@prefix = 'update > update >'
|
||||
requires 'name'
|
||||
|
||||
dnskey_update_enabled if Feature.obj_and_extensions_statuses_enabled?
|
||||
dnkey_update_prohibited if Feature.obj_and_extensions_statuses_enabled?
|
||||
dnskey_update_enabled
|
||||
dnkey_update_prohibited
|
||||
status_editing_disabled
|
||||
end
|
||||
|
||||
|
|
|
@ -1,15 +1,9 @@
|
|||
module Domain::RegistryLockable
|
||||
extend ActiveSupport::Concern
|
||||
|
||||
LOCK_STATUSES = if Feature.enable_lock_domain_with_new_statuses?
|
||||
[DomainStatus::SERVER_OBJ_UPDATE_PROHIBITED,
|
||||
LOCK_STATUSES = [DomainStatus::SERVER_OBJ_UPDATE_PROHIBITED,
|
||||
DomainStatus::SERVER_DELETE_PROHIBITED,
|
||||
DomainStatus::SERVER_TRANSFER_PROHIBITED].freeze
|
||||
else
|
||||
[DomainStatus::SERVER_UPDATE_PROHIBITED,
|
||||
DomainStatus::SERVER_DELETE_PROHIBITED,
|
||||
DomainStatus::SERVER_TRANSFER_PROHIBITED].freeze
|
||||
end
|
||||
|
||||
EXTENSIONS_STATUS = [DomainStatus::SERVER_EXTENSION_UPDATE_PROHIBITED].freeze
|
||||
|
||||
|
@ -25,7 +19,7 @@ module Domain::RegistryLockable
|
|||
def apply_statuses_locked_statuses(extensions_prohibited:)
|
||||
self.admin_store_statuses_history = self.statuses
|
||||
self.statuses |= LOCK_STATUSES
|
||||
self.statuses |= EXTENSIONS_STATUS if Feature.obj_and_extensions_statuses_enabled? && extensions_prohibited
|
||||
self.statuses |= EXTENSIONS_STATUS if extensions_prohibited
|
||||
self.locked_by_registrant_at = Time.zone.now
|
||||
alert_registrar_lock_changes!(lock: true)
|
||||
|
||||
|
|
|
@ -165,13 +165,10 @@ class DomainStatus < ApplicationRecord
|
|||
['UpdateProhibited', SERVER_UPDATE_PROHIBITED],
|
||||
['DeleteProhibited', SERVER_DELETE_PROHIBITED],
|
||||
['ReleaseProhibited', SERVER_RELEASE_PROHIBITED],
|
||||
['ExtensionUpdateProhibited', SERVER_EXTENSION_UPDATE_PROHIBITED],
|
||||
['ObjUpdateProhibited', SERVER_OBJ_UPDATE_PROHIBITED],
|
||||
]
|
||||
|
||||
if Feature.obj_and_extensions_statuses_enabled?
|
||||
admin_statuses << ['ExtensionUpdateProhibited', SERVER_EXTENSION_UPDATE_PROHIBITED]
|
||||
admin_statuses << ['ObjUpdateProhibited', SERVER_OBJ_UPDATE_PROHIBITED]
|
||||
end
|
||||
|
||||
admin_statuses
|
||||
end
|
||||
|
||||
|
|
|
@ -1,13 +1,13 @@
|
|||
class Feature
|
||||
def self.obj_and_extensions_statuses_enabled?
|
||||
return false if ENV['obj_and_extensions_prohibited'] == 'false'
|
||||
|
||||
ENV['obj_and_extensions_prohibited'] || false
|
||||
end
|
||||
|
||||
def self.enable_lock_domain_with_new_statuses?
|
||||
return false if ENV['enable_lock_domain_with_new_statuses'] == 'false'
|
||||
|
||||
ENV['enable_lock_domain_with_new_statuses'] || false
|
||||
end
|
||||
# def self.obj_and_extensions_statuses_enabled?
|
||||
# return false if ENV['obj_and_extensions_prohibited'] == 'false'
|
||||
#
|
||||
# ENV['obj_and_extensions_prohibited'] || false
|
||||
# end
|
||||
#
|
||||
# def self.enable_lock_domain_with_new_statuses?
|
||||
# return false if ENV['enable_lock_domain_with_new_statuses'] == 'false'
|
||||
#
|
||||
# ENV['enable_lock_domain_with_new_statuses'] || false
|
||||
# end
|
||||
end
|
||||
|
|
|
@ -61,9 +61,6 @@ contact_org_enabled: 'false'
|
|||
# System default for legal document types is: pdf,asice,sce,asics,scs,adoc,edoc,bdoc,ddoc,zip,rar,gz,tar,7z,odt,doc,docx
|
||||
# legal_document_types: "pdf,asice,sce,asics,scs,adoc,edoc,bdoc,ddoc,zip,rar,gz,tar,7z,odt,doc,docx"
|
||||
|
||||
obj_and_extensions_prohibited: 'true'
|
||||
enable_lock_domain_with_new_statuses: 'true'
|
||||
|
||||
#
|
||||
# REGISTRAR configuration (DEPP)
|
||||
#
|
||||
|
|
|
@ -48,100 +48,6 @@ class EppDomainUpdateBaseTest < EppTestCase
|
|||
assert_epp_response :parameter_value_syntax_error
|
||||
end
|
||||
|
||||
def test_set_false_for_obj_and_extensions_prohibited
|
||||
ENV['obj_and_extensions_prohibited'] = 'false'
|
||||
@domain = domains(:shop)
|
||||
@domain.statuses << DomainStatus::SERVER_OBJ_UPDATE_PROHIBITED
|
||||
@domain.save
|
||||
@dnskey = dnskeys(:one)
|
||||
@dnskey.update(domain: @domain)
|
||||
|
||||
request_xml = <<-XML
|
||||
<?xml version="1.0" encoding="UTF-8" standalone="no"?>
|
||||
<epp xmlns="#{Xsd::Schema.filename(for_prefix: 'epp-ee', for_version: '1.0')}">
|
||||
<command>
|
||||
<update>
|
||||
<domain:update xmlns:domain="#{Xsd::Schema.filename(for_prefix: 'domain-ee', for_version: '1.2')}">
|
||||
<domain:name>shop.test</domain:name>
|
||||
<domain:rem>
|
||||
<domain:ns>
|
||||
<domain:hostAttr>
|
||||
<domain:hostName>#{nameservers(:shop_ns1).hostname}</domain:hostName>
|
||||
</domain:hostAttr>
|
||||
<domain:hostAttr>
|
||||
<domain:hostName>#{nameservers(:shop_ns2).hostname}</domain:hostName>
|
||||
</domain:hostAttr>
|
||||
</domain:ns>
|
||||
<secDNS:keyData>
|
||||
<secDNS:flags>#{@dnskey.flags}</secDNS:flags>
|
||||
<secDNS:protocol>#{@dnskey.protocol}</secDNS:protocol>
|
||||
<secDNS:alg>#{@dnskey.alg}</secDNS:alg>
|
||||
<secDNS:pubKey>#{@dnskey.public_key}</secDNS:pubKey>
|
||||
</secDNS:keyData>
|
||||
</domain:rem>
|
||||
</domain:update>
|
||||
</update>
|
||||
</command>
|
||||
</epp>
|
||||
XML
|
||||
|
||||
post epp_update_path, params: { frame: request_xml },
|
||||
headers: { 'HTTP_COOKIE' => 'session=api_bestnames' }
|
||||
response_xml = Nokogiri::XML(response.body)
|
||||
p response.body
|
||||
assert_correct_against_schema response_xml
|
||||
@domain.reload
|
||||
|
||||
assert_epp_response :completed_successfully
|
||||
ENV['obj_and_extensions_prohibited'] = nil
|
||||
end
|
||||
|
||||
def test_set_nil_for_obj_and_extensions_prohibited
|
||||
ENV['obj_and_extensions_prohibited'] = nil
|
||||
@domain = domains(:shop)
|
||||
@domain.statuses << DomainStatus::SERVER_OBJ_UPDATE_PROHIBITED
|
||||
@domain.save
|
||||
@dnskey = dnskeys(:one)
|
||||
@dnskey.update(domain: @domain)
|
||||
|
||||
request_xml = <<-XML
|
||||
<?xml version="1.0" encoding="UTF-8" standalone="no"?>
|
||||
<epp xmlns="#{Xsd::Schema.filename(for_prefix: 'epp-ee', for_version: '1.0')}">
|
||||
<command>
|
||||
<update>
|
||||
<domain:update xmlns:domain="#{Xsd::Schema.filename(for_prefix: 'domain-ee', for_version: '1.2')}">
|
||||
<domain:name>shop.test</domain:name>
|
||||
<domain:rem>
|
||||
<domain:ns>
|
||||
<domain:hostAttr>
|
||||
<domain:hostName>#{nameservers(:shop_ns1).hostname}</domain:hostName>
|
||||
</domain:hostAttr>
|
||||
<domain:hostAttr>
|
||||
<domain:hostName>#{nameservers(:shop_ns2).hostname}</domain:hostName>
|
||||
</domain:hostAttr>
|
||||
</domain:ns>
|
||||
<secDNS:keyData>
|
||||
<secDNS:flags>#{@dnskey.flags}</secDNS:flags>
|
||||
<secDNS:protocol>#{@dnskey.protocol}</secDNS:protocol>
|
||||
<secDNS:alg>#{@dnskey.alg}</secDNS:alg>
|
||||
<secDNS:pubKey>#{@dnskey.public_key}</secDNS:pubKey>
|
||||
</secDNS:keyData>
|
||||
</domain:rem>
|
||||
</domain:update>
|
||||
</update>
|
||||
</command>
|
||||
</epp>
|
||||
XML
|
||||
|
||||
post epp_update_path, params: { frame: request_xml },
|
||||
headers: { 'HTTP_COOKIE' => 'session=api_bestnames' }
|
||||
response_xml = Nokogiri::XML(response.body)
|
||||
assert_correct_against_schema response_xml
|
||||
@domain.reload
|
||||
|
||||
assert_epp_response :completed_successfully
|
||||
end
|
||||
|
||||
def test_update_domain_data_out_of_extension_block_with_serverObjUpdateProhibited
|
||||
ENV['obj_and_extensions_prohibited'] = 'true'
|
||||
@domain = domains(:shop)
|
||||
|
|
|
@ -1,53 +1,53 @@
|
|||
require 'test_helper'
|
||||
|
||||
class FeatureTest < ActiveSupport::TestCase
|
||||
setup do
|
||||
@domain = domains(:shop)
|
||||
@domain.apply_registry_lock(extensions_prohibited: false)
|
||||
end
|
||||
|
||||
def test_if_obj_and_extensions_prohibited_enabled
|
||||
ENV['obj_and_extensions_prohibited'] = 'true'
|
||||
|
||||
assert Feature.obj_and_extensions_statuses_enabled?
|
||||
|
||||
statuses = DomainStatus.admin_statuses
|
||||
assert statuses.include? DomainStatus::SERVER_OBJ_UPDATE_PROHIBITED
|
||||
end
|
||||
|
||||
def test_if_obj_and_extensions_prohibited_is_nil
|
||||
ENV['obj_and_extensions_prohibited'] = nil
|
||||
|
||||
assert_not Feature.obj_and_extensions_statuses_enabled?
|
||||
|
||||
statuses = DomainStatus.admin_statuses
|
||||
assert_not statuses.include? DomainStatus::SERVER_OBJ_UPDATE_PROHIBITED
|
||||
end
|
||||
|
||||
def test_if_obj_and_extensions_prohibited_is_false
|
||||
ENV['obj_and_extensions_prohibited'] = 'false'
|
||||
|
||||
assert_not Feature.obj_and_extensions_statuses_enabled?
|
||||
|
||||
statuses = DomainStatus.admin_statuses
|
||||
assert_not statuses.include? DomainStatus::SERVER_OBJ_UPDATE_PROHIBITED
|
||||
end
|
||||
|
||||
def test_if_enable_lock_domain_with_new_statuses_is_nil
|
||||
ENV['enable_lock_domain_with_new_statuses'] = nil
|
||||
|
||||
assert_not Feature.enable_lock_domain_with_new_statuses?
|
||||
|
||||
assert_equal @domain.statuses, ["serverObjUpdateProhibited", "serverDeleteProhibited", "serverTransferProhibited"]
|
||||
assert @domain.locked_by_registrant?
|
||||
end
|
||||
|
||||
def test_if_enable_lock_domain_with_new_statuses_is_false
|
||||
ENV['enable_lock_domain_with_new_statuses'] = 'false'
|
||||
|
||||
assert_not Feature.enable_lock_domain_with_new_statuses?
|
||||
|
||||
assert_equal @domain.statuses, ["serverObjUpdateProhibited", "serverDeleteProhibited", "serverTransferProhibited"]
|
||||
assert @domain.locked_by_registrant?
|
||||
end
|
||||
# setup do
|
||||
# @domain = domains(:shop)
|
||||
# @domain.apply_registry_lock(extensions_prohibited: false)
|
||||
# end
|
||||
#
|
||||
# def test_if_obj_and_extensions_prohibited_enabled
|
||||
# ENV['obj_and_extensions_prohibited'] = 'true'
|
||||
#
|
||||
# assert Feature.obj_and_extensions_statuses_enabled?
|
||||
#
|
||||
# statuses = DomainStatus.admin_statuses
|
||||
# assert statuses.include? DomainStatus::SERVER_OBJ_UPDATE_PROHIBITED
|
||||
# end
|
||||
#
|
||||
# def test_if_obj_and_extensions_prohibited_is_nil
|
||||
# ENV['obj_and_extensions_prohibited'] = nil
|
||||
#
|
||||
# assert_not Feature.obj_and_extensions_statuses_enabled?
|
||||
#
|
||||
# statuses = DomainStatus.admin_statuses
|
||||
# assert_not statuses.include? DomainStatus::SERVER_OBJ_UPDATE_PROHIBITED
|
||||
# end
|
||||
#
|
||||
# def test_if_obj_and_extensions_prohibited_is_false
|
||||
# ENV['obj_and_extensions_prohibited'] = 'false'
|
||||
#
|
||||
# assert_not Feature.obj_and_extensions_statuses_enabled?
|
||||
#
|
||||
# statuses = DomainStatus.admin_statuses
|
||||
# assert_not statuses.include? DomainStatus::SERVER_OBJ_UPDATE_PROHIBITED
|
||||
# end
|
||||
#
|
||||
# def test_if_enable_lock_domain_with_new_statuses_is_nil
|
||||
# ENV['enable_lock_domain_with_new_statuses'] = nil
|
||||
#
|
||||
# assert_not Feature.enable_lock_domain_with_new_statuses?
|
||||
#
|
||||
# assert_equal @domain.statuses, ["serverObjUpdateProhibited", "serverDeleteProhibited", "serverTransferProhibited"]
|
||||
# assert @domain.locked_by_registrant?
|
||||
# end
|
||||
#
|
||||
# def test_if_enable_lock_domain_with_new_statuses_is_false
|
||||
# ENV['enable_lock_domain_with_new_statuses'] = 'false'
|
||||
#
|
||||
# assert_not Feature.enable_lock_domain_with_new_statuses?
|
||||
#
|
||||
# assert_equal @domain.statuses, ["serverObjUpdateProhibited", "serverDeleteProhibited", "serverTransferProhibited"]
|
||||
# assert @domain.locked_by_registrant?
|
||||
# end
|
||||
end
|
||||
|
|
Loading…
Add table
Add a link
Reference in a new issue