mirror of
https://github.com/internetee/registry.git
synced 2025-06-12 23:54:44 +02:00
Merge pull request #1454 from internetee/762-partially-allow-to-update-statuses-via-epp
Fix epp domains controller to apply add or rem changes to status
This commit is contained in:
commit
3e214ba04e
2 changed files with 56 additions and 0 deletions
|
@ -311,6 +311,7 @@ module Epp
|
||||||
|
|
||||||
def status_editing_disabled
|
def status_editing_disabled
|
||||||
return true if Setting.client_status_editing_enabled
|
return true if Setting.client_status_editing_enabled
|
||||||
|
return true if check_client_hold
|
||||||
return true if params[:parsed_frame].css('status').empty?
|
return true if params[:parsed_frame].css('status').empty?
|
||||||
epp_errors << {
|
epp_errors << {
|
||||||
code: '2306',
|
code: '2306',
|
||||||
|
@ -318,6 +319,11 @@ module Epp
|
||||||
}
|
}
|
||||||
end
|
end
|
||||||
|
|
||||||
|
def check_client_hold
|
||||||
|
statuses = params[:parsed_frame].css('status').map { |element| element['s'] }
|
||||||
|
statuses == [::DomainStatus::CLIENT_HOLD]
|
||||||
|
end
|
||||||
|
|
||||||
def balance_ok?(operation, period = nil, unit = nil)
|
def balance_ok?(operation, period = nil, unit = nil)
|
||||||
@domain_pricelist = @domain.pricelist(operation, period.try(:to_i), unit)
|
@domain_pricelist = @domain.pricelist(operation, period.try(:to_i), unit)
|
||||||
if @domain_pricelist.try(:price) # checking if price list is not found
|
if @domain_pricelist.try(:price) # checking if price list is not found
|
||||||
|
|
|
@ -303,6 +303,56 @@ class EppDomainUpdateBaseTest < EppTestCase
|
||||||
assert @domain.inactive?
|
assert @domain.inactive?
|
||||||
end
|
end
|
||||||
|
|
||||||
|
def test_update_domain_allows_add_of_client_hold
|
||||||
|
request_xml = <<-XML
|
||||||
|
<?xml version="1.0" encoding="UTF-8" standalone="no"?>
|
||||||
|
<epp xmlns="https://epp.tld.ee/schema/epp-ee-1.0.xsd">
|
||||||
|
<command>
|
||||||
|
<update>
|
||||||
|
<domain:update xmlns:domain="https://epp.tld.ee/schema/domain-eis-1.0.xsd">
|
||||||
|
<domain:name>shop.test</domain:name>
|
||||||
|
<domain:add>
|
||||||
|
<domain:status s="clientHold" lang="en">Test</domain:status>
|
||||||
|
</domain:add>
|
||||||
|
</domain:update>
|
||||||
|
</update>
|
||||||
|
</command>
|
||||||
|
</epp>
|
||||||
|
XML
|
||||||
|
|
||||||
|
post epp_update_path, params: { frame: request_xml },
|
||||||
|
headers: { 'HTTP_COOKIE' => 'session=api_bestnames' }
|
||||||
|
@domain.reload
|
||||||
|
assert_epp_response :completed_successfully
|
||||||
|
assert_includes(@domain.statuses, DomainStatus::CLIENT_HOLD)
|
||||||
|
end
|
||||||
|
|
||||||
|
def test_update_domain_allows_remove_of_client_hold
|
||||||
|
@domain.update!(statuses: [DomainStatus::CLIENT_HOLD])
|
||||||
|
|
||||||
|
request_xml = <<-XML
|
||||||
|
<?xml version="1.0" encoding="UTF-8" standalone="no"?>
|
||||||
|
<epp xmlns="https://epp.tld.ee/schema/epp-ee-1.0.xsd">
|
||||||
|
<command>
|
||||||
|
<update>
|
||||||
|
<domain:update xmlns:domain="https://epp.tld.ee/schema/domain-eis-1.0.xsd">
|
||||||
|
<domain:name>shop.test</domain:name>
|
||||||
|
<domain:rem>
|
||||||
|
<domain:status s="clientHold" lang="en">Test</domain:status>
|
||||||
|
</domain:rem>
|
||||||
|
</domain:update>
|
||||||
|
</update>
|
||||||
|
</command>
|
||||||
|
</epp>
|
||||||
|
XML
|
||||||
|
|
||||||
|
post epp_update_path, params: { frame: request_xml },
|
||||||
|
headers: { 'HTTP_COOKIE' => 'session=api_bestnames' }
|
||||||
|
@domain.reload
|
||||||
|
assert_epp_response :completed_successfully
|
||||||
|
assert_not_includes(@domain.statuses, DomainStatus::CLIENT_HOLD)
|
||||||
|
end
|
||||||
|
|
||||||
private
|
private
|
||||||
|
|
||||||
def assert_verification_and_notification_emails
|
def assert_verification_and_notification_emails
|
||||||
|
|
Loading…
Add table
Add a link
Reference in a new issue