diff --git a/app/controllers/epp/domains_controller.rb b/app/controllers/epp/domains_controller.rb index 3ffa4482a..39e0d7af5 100644 --- a/app/controllers/epp/domains_controller.rb +++ b/app/controllers/epp/domains_controller.rb @@ -162,9 +162,71 @@ 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? status_editing_disabled end + def parsed_response_for_dnskey(value) + doc = Nokogiri::Slop params[:parsed_frame].css(value).to_html + + return true if doc.document.children.empty? + + store = [] + + if value == 'add' + doc.document.add.children.each_with_index do |x, i| + store << doc.document.add.children[i].name + end + elsif value == 'chg' + doc.document.chg.children.each_with_index do |x, i| + store << doc.document.chg.children[i].name + end + else + doc.document.rem.children.each_with_index do |x, i| + store << doc.document.rem.children[i].name + end + end + + return true if store.size == 1 and store[0] == "keyData" + + store.empty? + end + + def dnskey_update_enabled + find_domain + + if @domain.dnskey_update_enabled? && !params[:parsed_frame].css('update').empty? + flag = true + + flag = false unless parsed_response_for_dnskey('chg') + + if flag + flag = false unless parsed_response_for_dnskey('add') + end + + if flag + return if parsed_response_for_dnskey('rem') + end + + return epp_errors.add(:epp_errors, + code: '2304', + msg: "#{I18n.t(:object_status_prohibits_operation)} + :serverObjUpdateEnabled") + end + end + + def dnkey_update_prohibited + find_domain + + if @domain.extension_update_prohibited? && !params[:parsed_frame].css('keyData').empty? + return epp_errors.add(:epp_errors, + code: '2304', + msg: "#{I18n.t(:object_status_prohibits_operation)} + :serverExtensionUpdateProhibited") + end + end + def validate_delete @prefix = 'delete > delete >' requires 'name' diff --git a/app/controllers/registrar/xml_consoles_controller.rb b/app/controllers/registrar/xml_consoles_controller.rb index ba2fc6531..a27e3e3ee 100644 --- a/app/controllers/registrar/xml_consoles_controller.rb +++ b/app/controllers/registrar/xml_consoles_controller.rb @@ -49,7 +49,7 @@ class Registrar when 'contact-ee' insert_prefix_and_version(xml, pref, '1.1') else - insert_prefix_and_version(xml, pref, '1.1') + insert_prefix_and_version(xml, pref, '1.2') end end diff --git a/app/models/domain.rb b/app/models/domain.rb index 9312a9a54..703bfadcf 100644 --- a/app/models/domain.rb +++ b/app/models/domain.rb @@ -221,6 +221,14 @@ class Domain < ApplicationRecord nameservers.select { |x| !x.hostname.end_with?(name) } end + def extension_update_prohibited? + statuses.include? DomainStatus::SERVER_EXTENSION_UPDATE_PROHIBITED + end + + def dnskey_update_enabled? + statuses.include? DomainStatus::SERVER_OBJ_UPDATE_PROHIBITED + end + def admin_change_prohibited? statuses.include? DomainStatus::SERVER_ADMIN_CHANGE_PROHIBITED end diff --git a/app/models/domain_status.rb b/app/models/domain_status.rb index 06ec32fd6..d8d750799 100644 --- a/app/models/domain_status.rb +++ b/app/models/domain_status.rb @@ -9,6 +9,8 @@ class DomainStatus < ApplicationRecord # Requests to delete the object MUST be rejected. CLIENT_DELETE_PROHIBITED = 'clientDeleteProhibited' SERVER_DELETE_PROHIBITED = 'serverDeleteProhibited' + SERVER_EXTENSION_UPDATE_PROHIBITED = 'serverExtensionUpdateProhibited' + SERVER_OBJ_UPDATE_PROHIBITED = 'serverObjUpdateProhibited' # DNS delegation information MUST NOT be published for the object. CLIENT_HOLD = 'clientHold' @@ -80,11 +82,12 @@ class DomainStatus < ApplicationRecord CLIENT_DELETE_PROHIBITED, SERVER_DELETE_PROHIBITED, CLIENT_HOLD, SERVER_HOLD, CLIENT_RENEW_PROHIBITED, SERVER_RENEW_PROHIBITED, CLIENT_TRANSFER_PROHIBITED, SERVER_TRANSFER_PROHIBITED, CLIENT_UPDATE_PROHIBITED, SERVER_UPDATE_PROHIBITED, - INACTIVE, OK, PENDING_CREATE, PENDING_DELETE, PENDING_DELETE_CONFIRMATION, + 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, SERVER_RELEASE_PROHIBITED + SERVER_REGISTRANT_CHANGE_PROHIBITED, SERVER_ADMIN_CHANGE_PROHIBITED, + SERVER_TECH_CHANGE_PROHIBITED, FORCE_DELETE, DELETE_CANDIDATE, EXPIRED, DISPUTED, + SERVER_RELEASE_PROHIBITED, SERVER_EXTENSION_UPDATE_PROHIBITED, + SERVER_OBJ_UPDATE_PROHIBITED ].freeze CLIENT_STATUSES = [ @@ -95,7 +98,8 @@ 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_RELEASE_PROHIBITED + SERVER_ADMIN_CHANGE_PROHIBITED, SERVER_TECH_CHANGE_PROHIBITED, SERVER_RELEASE_PROHIBITED, + SERVER_EXTENSION_UPDATE_PROHIBITED, SERVER_OBJ_UPDATE_PROHIBITED ].freeze UPDATE_PROHIBIT_STATES = [ @@ -150,7 +154,7 @@ class DomainStatus < ApplicationRecord end def admin_statuses_map - [ + admin_statuses = [ ['Hold', SERVER_HOLD], ['ManualInzone', SERVER_MANUAL_INZONE], ['RenewProhibited', SERVER_RENEW_PROHIBITED], @@ -162,6 +166,13 @@ class DomainStatus < ApplicationRecord ['DeleteProhibited', SERVER_DELETE_PROHIBITED], ['ReleaseProhibited', SERVER_RELEASE_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 def admin_not_deletable_statuses diff --git a/app/models/feature.rb b/app/models/feature.rb new file mode 100644 index 000000000..098949045 --- /dev/null +++ b/app/models/feature.rb @@ -0,0 +1,7 @@ +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 +end diff --git a/config/application.yml.sample b/config/application.yml.sample index 4bf0bb384..7d0cbc864 100644 --- a/config/application.yml.sample +++ b/config/application.yml.sample @@ -59,6 +59,7 @@ 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' # # REGISTRAR configuration (DEPP) diff --git a/config/initializers/load_schemas.rb b/config/initializers/load_schemas.rb index 1f34d58df..e07f08331 100644 --- a/config/initializers/load_schemas.rb +++ b/config/initializers/load_schemas.rb @@ -1 +1 @@ -EPP_ALL_SCHEMA = Nokogiri::XML::Schema(File.read('lib/schemas/all-ee-1.2.xsd')) +EPP_ALL_SCHEMA = Nokogiri::XML::Schema(File.read('lib/schemas/all-ee-1.3.xsd')) diff --git a/lib/schemas/all-ee-1.3.xsd b/lib/schemas/all-ee-1.3.xsd new file mode 100644 index 000000000..305cce231 --- /dev/null +++ b/lib/schemas/all-ee-1.3.xsd @@ -0,0 +1,43 @@ + + + + + + + + + + + + + + + + + + + Extensible Provisioning Protocol v1.0 + all schema's grouped together + + + + diff --git a/lib/schemas/domain-ee-1.2.xsd b/lib/schemas/domain-ee-1.2.xsd index 073986ac7..0420dd134 100644 --- a/lib/schemas/domain-ee-1.2.xsd +++ b/lib/schemas/domain-ee-1.2.xsd @@ -1,7 +1,7 @@ - + + diff --git a/test/integration/admin_area/domain_update_confirms_test.rb b/test/integration/admin_area/domain_update_confirms_test.rb index 3cd64a872..55b00005f 100644 --- a/test/integration/admin_area/domain_update_confirms_test.rb +++ b/test/integration/admin_area/domain_update_confirms_test.rb @@ -18,7 +18,7 @@ class AdminAreaBlockedDomainsIntegrationTest < JavaScriptApplicationSystemTestCa - + #{@domain.name} #{new_registrant.code} @@ -53,7 +53,7 @@ class AdminAreaBlockedDomainsIntegrationTest < JavaScriptApplicationSystemTestCa - + #{@domain.name} #{new_registrant.code} diff --git a/test/integration/epp/base_test.rb b/test/integration/epp/base_test.rb index 4aa89e1ed..400702b28 100644 --- a/test/integration/epp/base_test.rb +++ b/test/integration/epp/base_test.rb @@ -91,7 +91,7 @@ class EppBaseTest < EppTestCase - + #{domains(:shop).name} @@ -115,7 +115,7 @@ class EppBaseTest < EppTestCase - + #{domains(:shop).name} @@ -141,7 +141,7 @@ class EppBaseTest < EppTestCase - + #{domains(:shop).name} @@ -168,7 +168,7 @@ class EppBaseTest < EppTestCase - + #{domains(:shop).name} diff --git a/test/integration/epp/domain/base_test.rb b/test/integration/epp/domain/base_test.rb index 9b117f3d4..4e19dcd77 100644 --- a/test/integration/epp/domain/base_test.rb +++ b/test/integration/epp/domain/base_test.rb @@ -7,7 +7,7 @@ class EppDomainBaseTest < EppTestCase - + non-existent.test diff --git a/test/integration/epp/domain/check/auction_test.rb b/test/integration/epp/domain/check/auction_test.rb index ad134794a..df0430287 100644 --- a/test/integration/epp/domain/check/auction_test.rb +++ b/test/integration/epp/domain/check/auction_test.rb @@ -20,7 +20,7 @@ class EppDomainCheckAuctionTest < EppTestCase - + auction.test @@ -34,8 +34,8 @@ class EppDomainCheckAuctionTest < EppTestCase response_xml = Nokogiri::XML(response.body) assert_correct_against_schema response_xml assert_epp_response :completed_successfully - assert_equal '0', response_xml.at_xpath('//domain:name', 'domain' => "#{Xsd::Schema.filename(for_prefix: 'domain-ee', for_version: '1.1')}")['avail'] - assert_equal 'Domain is at auction', response_xml.at_xpath('//domain:reason', 'domain' => "#{Xsd::Schema.filename(for_prefix: 'domain-ee', for_version: '1.1')}").text + assert_equal '0', response_xml.at_xpath('//domain:name', 'domain' => "#{Xsd::Schema.filename(for_prefix: 'domain-ee', for_version: '1.2')}")['avail'] + assert_equal 'Domain is at auction', response_xml.at_xpath('//domain:reason', 'domain' => "#{Xsd::Schema.filename(for_prefix: 'domain-ee', for_version: '1.2')}").text end def test_idn_ascii_domain_is_unavailable_when_at_auction @@ -46,7 +46,7 @@ class EppDomainCheckAuctionTest < EppTestCase - + xn--pramiid-n2a.test @@ -60,8 +60,8 @@ class EppDomainCheckAuctionTest < EppTestCase response_xml = Nokogiri::XML(response.body) assert_correct_against_schema response_xml assert_epp_response :completed_successfully - assert_equal '0', response_xml.at_xpath('//domain:name', 'domain' => "#{Xsd::Schema.filename(for_prefix: 'domain-ee', for_version: '1.1')}")['avail'] - assert_equal 'Domain is at auction', response_xml.at_xpath('//domain:reason', 'domain' => "#{Xsd::Schema.filename(for_prefix: 'domain-ee', for_version: '1.1')}").text + assert_equal '0', response_xml.at_xpath('//domain:name', 'domain' => "#{Xsd::Schema.filename(for_prefix: 'domain-ee', for_version: '1.2')}")['avail'] + assert_equal 'Domain is at auction', response_xml.at_xpath('//domain:reason', 'domain' => "#{Xsd::Schema.filename(for_prefix: 'domain-ee', for_version: '1.2')}").text end def test_idn_unicode_domain_is_unavailable_when_at_auction @@ -72,7 +72,7 @@ class EppDomainCheckAuctionTest < EppTestCase - + püramiid.test @@ -86,8 +86,8 @@ class EppDomainCheckAuctionTest < EppTestCase response_xml = Nokogiri::XML(response.body) assert_correct_against_schema response_xml assert_epp_response :completed_successfully - assert_equal '0', response_xml.at_xpath('//domain:name', 'domain' => "#{Xsd::Schema.filename(for_prefix: 'domain-ee', for_version: '1.1')}")['avail'] - assert_equal 'Domain is at auction', response_xml.at_xpath('//domain:reason', 'domain' => "#{Xsd::Schema.filename(for_prefix: 'domain-ee', for_version: '1.1')}").text + assert_equal '0', response_xml.at_xpath('//domain:name', 'domain' => "#{Xsd::Schema.filename(for_prefix: 'domain-ee', for_version: '1.2')}")['avail'] + assert_equal 'Domain is at auction', response_xml.at_xpath('//domain:reason', 'domain' => "#{Xsd::Schema.filename(for_prefix: 'domain-ee', for_version: '1.2')}").text end def test_domain_is_unavailable_when_awaiting_payment @@ -98,7 +98,7 @@ class EppDomainCheckAuctionTest < EppTestCase - + auction.test @@ -112,8 +112,8 @@ class EppDomainCheckAuctionTest < EppTestCase response_xml = Nokogiri::XML(response.body) assert_correct_against_schema response_xml assert_epp_response :completed_successfully - assert_equal '0', response_xml.at_xpath('//domain:name', 'domain' => "#{Xsd::Schema.filename(for_prefix: 'domain-ee', for_version: '1.1')}")['avail'] - assert_equal 'Awaiting payment', response_xml.at_xpath('//domain:reason', 'domain' => "#{Xsd::Schema.filename(for_prefix: 'domain-ee', for_version: '1.1')}").text + assert_equal '0', response_xml.at_xpath('//domain:name', 'domain' => "#{Xsd::Schema.filename(for_prefix: 'domain-ee', for_version: '1.2')}")['avail'] + assert_equal 'Awaiting payment', response_xml.at_xpath('//domain:reason', 'domain' => "#{Xsd::Schema.filename(for_prefix: 'domain-ee', for_version: '1.2')}").text end def test_domain_is_available_when_payment_received @@ -124,7 +124,7 @@ class EppDomainCheckAuctionTest < EppTestCase - + auction.test @@ -138,7 +138,7 @@ class EppDomainCheckAuctionTest < EppTestCase response_xml = Nokogiri::XML(response.body) assert_correct_against_schema response_xml assert_epp_response :completed_successfully - assert_equal '1', response_xml.at_xpath('//domain:name', 'domain' => "#{Xsd::Schema.filename(for_prefix: 'domain-ee', for_version: '1.1')}")['avail'] - assert_nil response_xml.at_xpath('//domain:reason', 'domain' => "#{Xsd::Schema.filename(for_prefix: 'domain-ee', for_version: '1.1')}") + assert_equal '1', response_xml.at_xpath('//domain:name', 'domain' => "#{Xsd::Schema.filename(for_prefix: 'domain-ee', for_version: '1.2')}")['avail'] + assert_nil response_xml.at_xpath('//domain:reason', 'domain' => "#{Xsd::Schema.filename(for_prefix: 'domain-ee', for_version: '1.2')}") end end diff --git a/test/integration/epp/domain/check/base_test.rb b/test/integration/epp/domain/check/base_test.rb index 3a5b9bd76..7a1c20c88 100644 --- a/test/integration/epp/domain/check/base_test.rb +++ b/test/integration/epp/domain/check/base_test.rb @@ -7,7 +7,7 @@ class EppDomainCheckBaseTest < EppTestCase - + some.test @@ -21,7 +21,7 @@ class EppDomainCheckBaseTest < EppTestCase response_xml = Nokogiri::XML(response.body) assert_epp_response :completed_successfully assert_correct_against_schema response_xml - assert_equal 'some.test', response_xml.at_xpath('//domain:name', 'domain' => "#{Xsd::Schema.filename(for_prefix: 'domain-ee', for_version: '1.1')}").text + assert_equal 'some.test', response_xml.at_xpath('//domain:name', 'domain' => "#{Xsd::Schema.filename(for_prefix: 'domain-ee', for_version: '1.2')}").text end def test_domain_is_available_when_not_registered_or_blocked @@ -30,7 +30,7 @@ class EppDomainCheckBaseTest < EppTestCase - + available.test @@ -43,8 +43,8 @@ class EppDomainCheckBaseTest < EppTestCase response_xml = Nokogiri::XML(response.body) assert_correct_against_schema response_xml - assert_equal '1', response_xml.at_xpath('//domain:name', 'domain' => "#{Xsd::Schema.filename(for_prefix: 'domain-ee', for_version: '1.1')}")['avail'] - assert_nil response_xml.at_xpath('//domain:reason', 'domain' => "#{Xsd::Schema.filename(for_prefix: 'domain-ee', for_version: '1.1')}") + assert_equal '1', response_xml.at_xpath('//domain:name', 'domain' => "#{Xsd::Schema.filename(for_prefix: 'domain-ee', for_version: '1.2')}")['avail'] + assert_nil response_xml.at_xpath('//domain:reason', 'domain' => "#{Xsd::Schema.filename(for_prefix: 'domain-ee', for_version: '1.2')}") end def test_domain_is_available_when_reserved @@ -55,7 +55,7 @@ class EppDomainCheckBaseTest < EppTestCase - + reserved.test @@ -68,8 +68,8 @@ class EppDomainCheckBaseTest < EppTestCase response_xml = Nokogiri::XML(response.body) assert_correct_against_schema response_xml - assert_equal '1', response_xml.at_xpath('//domain:name', 'domain' => "#{Xsd::Schema.filename(for_prefix: 'domain-ee', for_version: '1.1')}")['avail'] - assert_nil response_xml.at_xpath('//domain:reason', 'domain' => "#{Xsd::Schema.filename(for_prefix: 'domain-ee', for_version: '1.1')}") + assert_equal '1', response_xml.at_xpath('//domain:name', 'domain' => "#{Xsd::Schema.filename(for_prefix: 'domain-ee', for_version: '1.2')}")['avail'] + assert_nil response_xml.at_xpath('//domain:reason', 'domain' => "#{Xsd::Schema.filename(for_prefix: 'domain-ee', for_version: '1.2')}") end def test_domain_is_unavailable_when_format_is_invalid @@ -78,7 +78,7 @@ class EppDomainCheckBaseTest < EppTestCase - + invalid @@ -91,8 +91,8 @@ class EppDomainCheckBaseTest < EppTestCase response_xml = Nokogiri::XML(response.body) assert_correct_against_schema response_xml - assert_equal '0', response_xml.at_xpath('//domain:name', 'domain' => "#{Xsd::Schema.filename(for_prefix: 'domain-ee', for_version: '1.1')}")['avail'] - assert_equal 'invalid format', response_xml.at_xpath('//domain:reason', 'domain' => "#{Xsd::Schema.filename(for_prefix: 'domain-ee', for_version: '1.1')}").text + assert_equal '0', response_xml.at_xpath('//domain:name', 'domain' => "#{Xsd::Schema.filename(for_prefix: 'domain-ee', for_version: '1.2')}")['avail'] + assert_equal 'invalid format', response_xml.at_xpath('//domain:reason', 'domain' => "#{Xsd::Schema.filename(for_prefix: 'domain-ee', for_version: '1.2')}").text end def test_domain_is_unavailable_when_registered @@ -103,7 +103,7 @@ class EppDomainCheckBaseTest < EppTestCase - + shop.test @@ -116,8 +116,8 @@ class EppDomainCheckBaseTest < EppTestCase response_xml = Nokogiri::XML(response.body) assert_correct_against_schema response_xml - assert_equal '0', response_xml.at_xpath('//domain:name', 'domain' => "#{Xsd::Schema.filename(for_prefix: 'domain-ee', for_version: '1.1')}")['avail'] - assert_equal 'in use', response_xml.at_xpath('//domain:reason', 'domain' => "#{Xsd::Schema.filename(for_prefix: 'domain-ee', for_version: '1.1')}").text + assert_equal '0', response_xml.at_xpath('//domain:name', 'domain' => "#{Xsd::Schema.filename(for_prefix: 'domain-ee', for_version: '1.2')}")['avail'] + assert_equal 'in use', response_xml.at_xpath('//domain:reason', 'domain' => "#{Xsd::Schema.filename(for_prefix: 'domain-ee', for_version: '1.2')}").text end def test_domain_is_unavailable_when_blocked @@ -128,7 +128,7 @@ class EppDomainCheckBaseTest < EppTestCase - + blocked.test @@ -141,8 +141,8 @@ class EppDomainCheckBaseTest < EppTestCase response_xml = Nokogiri::XML(response.body) assert_correct_against_schema response_xml - assert_equal '0', response_xml.at_xpath('//domain:name', 'domain' => "#{Xsd::Schema.filename(for_prefix: 'domain-ee', for_version: '1.1')}")['avail'] - assert_equal 'Blocked', response_xml.at_xpath('//domain:reason', 'domain' => "#{Xsd::Schema.filename(for_prefix: 'domain-ee', for_version: '1.1')}").text + assert_equal '0', response_xml.at_xpath('//domain:name', 'domain' => "#{Xsd::Schema.filename(for_prefix: 'domain-ee', for_version: '1.2')}")['avail'] + assert_equal 'Blocked', response_xml.at_xpath('//domain:reason', 'domain' => "#{Xsd::Schema.filename(for_prefix: 'domain-ee', for_version: '1.2')}").text end def test_domain_is_unavailable_when_zone_with_the_same_origin_exists @@ -153,7 +153,7 @@ class EppDomainCheckBaseTest < EppTestCase - + test @@ -166,8 +166,8 @@ class EppDomainCheckBaseTest < EppTestCase response_xml = Nokogiri::XML(response.body) assert_correct_against_schema response_xml - assert_equal '0', response_xml.at_xpath('//domain:name', 'domain' => "#{Xsd::Schema.filename(for_prefix: 'domain-ee', for_version: '1.1')}")['avail'] - assert_equal 'Zone with the same origin exists', response_xml.at_xpath('//domain:reason', 'domain' => "#{Xsd::Schema.filename(for_prefix: 'domain-ee', for_version: '1.1')}").text + assert_equal '0', response_xml.at_xpath('//domain:name', 'domain' => "#{Xsd::Schema.filename(for_prefix: 'domain-ee', for_version: '1.2')}")['avail'] + assert_equal 'Zone with the same origin exists', response_xml.at_xpath('//domain:reason', 'domain' => "#{Xsd::Schema.filename(for_prefix: 'domain-ee', for_version: '1.2')}").text end def test_multiple_domains @@ -176,7 +176,7 @@ class EppDomainCheckBaseTest < EppTestCase - + one.test two.test three.test @@ -191,6 +191,6 @@ class EppDomainCheckBaseTest < EppTestCase response_xml = Nokogiri::XML(response.body) assert_correct_against_schema response_xml - assert_equal 3, response_xml.xpath('//domain:cd', 'domain' => "#{Xsd::Schema.filename(for_prefix: 'domain-ee', for_version: '1.1')}").size + assert_equal 3, response_xml.xpath('//domain:cd', 'domain' => "#{Xsd::Schema.filename(for_prefix: 'domain-ee', for_version: '1.2')}").size end end diff --git a/test/integration/epp/domain/create/auction_idn_test.rb b/test/integration/epp/domain/create/auction_idn_test.rb index 604b74c7d..76532ca51 100644 --- a/test/integration/epp/domain/create/auction_idn_test.rb +++ b/test/integration/epp/domain/create/auction_idn_test.rb @@ -24,7 +24,7 @@ class EppDomainCreateAuctionIdnTest < EppTestCase - + xn--pramiid-n2a.test #{contacts(:john).code} @@ -62,7 +62,7 @@ class EppDomainCreateAuctionIdnTest < EppTestCase - + püramiid.test #{contacts(:john).code} @@ -99,7 +99,7 @@ class EppDomainCreateAuctionIdnTest < EppTestCase - + xn--pramiid-n2a.test #{contacts(:john).code} @@ -136,7 +136,7 @@ class EppDomainCreateAuctionIdnTest < EppTestCase - + püramiid.test #{contacts(:john).code} @@ -174,7 +174,7 @@ class EppDomainCreateAuctionIdnTest < EppTestCase - + püramiid.test #{contacts(:john).code} @@ -214,7 +214,7 @@ class EppDomainCreateAuctionIdnTest < EppTestCase - + xn--pramiid-n2a.test #{contacts(:john).code} diff --git a/test/integration/epp/domain/create/auction_test.rb b/test/integration/epp/domain/create/auction_test.rb index cd20f2dac..ebebfb9bf 100644 --- a/test/integration/epp/domain/create/auction_test.rb +++ b/test/integration/epp/domain/create/auction_test.rb @@ -16,7 +16,7 @@ class EppDomainCreateAuctionTest < EppTestCase - + not-at-auction.test #{contacts(:john).code} @@ -53,7 +53,7 @@ class EppDomainCreateAuctionTest < EppTestCase - + auction.test #{contacts(:john).code} @@ -88,7 +88,7 @@ class EppDomainCreateAuctionTest < EppTestCase - + auction.test #{contacts(:john).code} @@ -126,7 +126,7 @@ class EppDomainCreateAuctionTest < EppTestCase - + auction.test #{contacts(:john).code} @@ -158,7 +158,7 @@ class EppDomainCreateAuctionTest < EppTestCase - + auction.test #{contacts(:john).code} @@ -192,7 +192,7 @@ class EppDomainCreateAuctionTest < EppTestCase - + auction.test #{contacts(:john).code} @@ -226,7 +226,7 @@ class EppDomainCreateAuctionTest < EppTestCase - + auction.test diff --git a/test/integration/epp/domain/create/base_test.rb b/test/integration/epp/domain/create/base_test.rb index de36e7a02..63212d2fa 100644 --- a/test/integration/epp/domain/create/base_test.rb +++ b/test/integration/epp/domain/create/base_test.rb @@ -17,7 +17,7 @@ class EppDomainCreateBaseTest < EppTestCase - + #{name} #{registrant.code} @@ -59,7 +59,7 @@ class EppDomainCreateBaseTest < EppTestCase - + #{name} #{registrant.code} @@ -94,7 +94,7 @@ class EppDomainCreateBaseTest < EppTestCase - + #{name} #{registrant.code} @@ -132,7 +132,7 @@ class EppDomainCreateBaseTest < EppTestCase - + #{name} #{registrant.code} @@ -170,7 +170,7 @@ class EppDomainCreateBaseTest < EppTestCase - + #{name} #{registrant.code} @@ -201,7 +201,7 @@ class EppDomainCreateBaseTest < EppTestCase - + #{name} #{registrant.code} #{contacts(:jane).code} @@ -239,7 +239,7 @@ class EppDomainCreateBaseTest < EppTestCase - + #{name} #{registrant.code} #{contact.code} @@ -279,7 +279,7 @@ class EppDomainCreateBaseTest < EppTestCase - + #{name} #{registrant.code} #{contact.code} @@ -318,7 +318,7 @@ class EppDomainCreateBaseTest < EppTestCase - + #{name} #{registrant.code} #{contact.code} @@ -358,7 +358,7 @@ class EppDomainCreateBaseTest < EppTestCase - + #{name} #{registrant.code} #{contact.code} @@ -398,7 +398,7 @@ class EppDomainCreateBaseTest < EppTestCase - + #{name} #{registrant.code} #{contact_two.code} @@ -437,7 +437,7 @@ class EppDomainCreateBaseTest < EppTestCase - + #{name} #{registrant.code} @@ -487,7 +487,7 @@ class EppDomainCreateBaseTest < EppTestCase - + #{name} #{registrant.code} @@ -525,7 +525,7 @@ class EppDomainCreateBaseTest < EppTestCase - + #{name} #{registrant.code} @@ -562,7 +562,7 @@ class EppDomainCreateBaseTest < EppTestCase - + #{reserved_domain.name} #{contacts(:john).code} @@ -600,7 +600,7 @@ class EppDomainCreateBaseTest < EppTestCase - + #{name} #{contacts(:john).code} @@ -635,7 +635,7 @@ class EppDomainCreateBaseTest < EppTestCase - + #{blocked_domain} #{contacts(:john).code} @@ -667,7 +667,7 @@ class EppDomainCreateBaseTest < EppTestCase - + #{SimpleIDN.to_ascii('blockedäöüõ.test')} #{contacts(:john).code} @@ -696,7 +696,7 @@ class EppDomainCreateBaseTest < EppTestCase - + #{reserved_domains(:one).name} #{contacts(:john).code} @@ -730,7 +730,7 @@ class EppDomainCreateBaseTest < EppTestCase - + #{reserved_domain.name} #{contacts(:john).code} @@ -762,7 +762,7 @@ class EppDomainCreateBaseTest < EppTestCase - + new.test #{contacts(:john).code} @@ -792,7 +792,7 @@ class EppDomainCreateBaseTest < EppTestCase - + new.test 2 john-001 diff --git a/test/integration/epp/domain/delete/base_test.rb b/test/integration/epp/domain/delete/base_test.rb index 04c6fe714..95e5e6afd 100644 --- a/test/integration/epp/domain/delete/base_test.rb +++ b/test/integration/epp/domain/delete/base_test.rb @@ -21,7 +21,7 @@ class EppDomainDeleteBaseTest < EppTestCase - + invalid.test @@ -50,7 +50,7 @@ class EppDomainDeleteBaseTest < EppTestCase - + shop.test @@ -80,7 +80,7 @@ class EppDomainDeleteBaseTest < EppTestCase - + shop.test @@ -116,7 +116,7 @@ class EppDomainDeleteBaseTest < EppTestCase - + shop.test @@ -153,7 +153,7 @@ class EppDomainDeleteBaseTest < EppTestCase - + shop.test @@ -189,7 +189,7 @@ class EppDomainDeleteBaseTest < EppTestCase - + shop.test @@ -224,7 +224,7 @@ class EppDomainDeleteBaseTest < EppTestCase - + shop.test @@ -248,7 +248,7 @@ class EppDomainDeleteBaseTest < EppTestCase - + shop.test diff --git a/test/integration/epp/domain/info/base_test.rb b/test/integration/epp/domain/info/base_test.rb index 3e4178054..da3be1d38 100644 --- a/test/integration/epp/domain/info/base_test.rb +++ b/test/integration/epp/domain/info/base_test.rb @@ -13,7 +13,7 @@ class EppDomainInfoBaseTest < EppTestCase - + shop.test @@ -30,22 +30,22 @@ class EppDomainInfoBaseTest < EppTestCase assert assert_schema_is_bigger(response_xml, 'domain-ee', 1.1) assert_equal 'shop.test', response_xml.at_xpath('//domain:name', - 'domain' => Xsd::Schema.filename(for_prefix: 'domain-ee', for_version: '1.1').to_s).text + 'domain' => Xsd::Schema.filename(for_prefix: 'domain-ee', for_version: '1.2').to_s).text assert_equal 'ok', response_xml.at_xpath('//domain:status', - 'domain' => Xsd::Schema.filename(for_prefix: 'domain-ee', for_version: '1.1').to_s)['s'] + 'domain' => Xsd::Schema.filename(for_prefix: 'domain-ee', for_version: '1.2').to_s)['s'] assert_equal 'john-001', response_xml.at_xpath('//domain:registrant', - 'domain' => Xsd::Schema.filename(for_prefix: 'domain-ee', for_version: '1.1').to_s).text + 'domain' => Xsd::Schema.filename(for_prefix: 'domain-ee', for_version: '1.2').to_s).text assert_equal '2010-07-05T00:00:00+03:00', response_xml.at_xpath('//domain:crDate', - 'domain' => Xsd::Schema.filename(for_prefix: 'domain-ee', for_version: '1.1').to_s).text + 'domain' => Xsd::Schema.filename(for_prefix: 'domain-ee', for_version: '1.2').to_s).text assert_equal '2010-07-06T00:00:00+03:00', response_xml.at_xpath('//domain:upDate', - 'domain' => Xsd::Schema.filename(for_prefix: 'domain-ee', for_version: '1.1').to_s).text + 'domain' => Xsd::Schema.filename(for_prefix: 'domain-ee', for_version: '1.2').to_s).text assert_equal '2010-07-07T00:00:00+03:00', response_xml.at_xpath('//domain:exDate', - 'domain' => Xsd::Schema.filename(for_prefix: 'domain-ee', for_version: '1.1').to_s).text + 'domain' => Xsd::Schema.filename(for_prefix: 'domain-ee', for_version: '1.2').to_s).text end def test_return_wrong_schema_with_invalid_version @@ -74,7 +74,7 @@ class EppDomainInfoBaseTest < EppTestCase - + shop.test @@ -164,7 +164,7 @@ class EppDomainInfoBaseTest < EppTestCase - + shop.test @@ -192,7 +192,7 @@ class EppDomainInfoBaseTest < EppTestCase - + shop.test @@ -216,7 +216,7 @@ class EppDomainInfoBaseTest < EppTestCase - + shop.test @@ -230,7 +230,7 @@ class EppDomainInfoBaseTest < EppTestCase response_xml = Nokogiri::XML(response.body) assert_equal '65078d5', response_xml.at_xpath('//domain:authInfo/domain:pw', - 'domain' => Xsd::Schema.filename(for_prefix: 'domain-ee', for_version: '1.1').to_s).text + 'domain' => Xsd::Schema.filename(for_prefix: 'domain-ee', for_version: '1.2').to_s).text assert_correct_against_schema response_xml end @@ -244,7 +244,7 @@ class EppDomainInfoBaseTest < EppTestCase - + shop.test 65078d5 @@ -261,7 +261,7 @@ class EppDomainInfoBaseTest < EppTestCase response_xml = Nokogiri::XML(response.body) assert_equal '65078d5', response_xml.at_xpath('//domain:authInfo/domain:pw', - 'domain' => Xsd::Schema.filename(for_prefix: 'domain-ee', for_version: '1.1').to_s).text + 'domain' => Xsd::Schema.filename(for_prefix: 'domain-ee', for_version: '1.2').to_s).text assert_correct_against_schema response_xml end @@ -271,7 +271,7 @@ class EppDomainInfoBaseTest < EppTestCase - + shop.test @@ -288,6 +288,6 @@ class EppDomainInfoBaseTest < EppTestCase response_xml = Nokogiri::XML(response.body) assert_correct_against_schema response_xml assert_nil response_xml.at_xpath('//domain:authInfo/domain:pw', - 'domain' => Xsd::Schema.filename(for_prefix: 'domain-ee', for_version: '1.1').to_s) + 'domain' => Xsd::Schema.filename(for_prefix: 'domain-ee', for_version: '1.2').to_s) end end diff --git a/test/integration/epp/domain/renew/base_test.rb b/test/integration/epp/domain/renew/base_test.rb index 6cbe619d4..68d4f7d2a 100644 --- a/test/integration/epp/domain/renew/base_test.rb +++ b/test/integration/epp/domain/renew/base_test.rb @@ -14,7 +14,7 @@ class EppDomainRenewBaseTest < EppTestCase - + #{domain.name} #{domain.expire_time.to_date} 1 @@ -48,7 +48,7 @@ class EppDomainRenewBaseTest < EppTestCase - + #{domain.name} #{domain.expire_time.to_date} 1 @@ -78,7 +78,7 @@ class EppDomainRenewBaseTest < EppTestCase - + #{domain.name} #{domain.valid_to.to_date} 1 @@ -109,7 +109,7 @@ class EppDomainRenewBaseTest < EppTestCase - + #{domain.name} #{domain.valid_to.to_date} 1 @@ -140,7 +140,7 @@ class EppDomainRenewBaseTest < EppTestCase - + #{domain.name} #{domain.expire_time.to_date} 1 @@ -170,7 +170,7 @@ class EppDomainRenewBaseTest < EppTestCase - + #{domain.name} #{domain.expire_time.to_date} 2 @@ -201,7 +201,7 @@ class EppDomainRenewBaseTest < EppTestCase - + #{domain.name} #{provided_expiration_date} @@ -235,7 +235,7 @@ class EppDomainRenewBaseTest < EppTestCase - + #{domain.name} #{domain.expire_time.to_date} 1 diff --git a/test/integration/epp/domain/transfer/query_test.rb b/test/integration/epp/domain/transfer/query_test.rb index 7635d8a8b..6f9ad9516 100644 --- a/test/integration/epp/domain/transfer/query_test.rb +++ b/test/integration/epp/domain/transfer/query_test.rb @@ -9,10 +9,10 @@ class EppDomainTransferQueryTest < EppTestCase assert_correct_against_schema xml_doc assert_epp_response :completed_successfully - assert_equal 'shop.test', xml_doc.xpath('//domain:name', 'domain' => "#{Xsd::Schema.filename(for_prefix: 'domain-ee', for_version: '1.1')}").text - assert_equal 'serverApproved', xml_doc.xpath('//domain:trStatus', 'domain' => "#{Xsd::Schema.filename(for_prefix: 'domain-ee', for_version: '1.1')}").text - assert_equal 'goodnames', xml_doc.xpath('//domain:reID', 'domain' => "#{Xsd::Schema.filename(for_prefix: 'domain-ee', for_version: '1.1')}").text - assert_equal 'bestnames', xml_doc.xpath('//domain:acID', 'domain' => "#{Xsd::Schema.filename(for_prefix: 'domain-ee', for_version: '1.1')}").text + assert_equal 'shop.test', xml_doc.xpath('//domain:name', 'domain' => "#{Xsd::Schema.filename(for_prefix: 'domain-ee', for_version: '1.2')}").text + assert_equal 'serverApproved', xml_doc.xpath('//domain:trStatus', 'domain' => "#{Xsd::Schema.filename(for_prefix: 'domain-ee', for_version: '1.2')}").text + assert_equal 'goodnames', xml_doc.xpath('//domain:reID', 'domain' => "#{Xsd::Schema.filename(for_prefix: 'domain-ee', for_version: '1.2')}").text + assert_equal 'bestnames', xml_doc.xpath('//domain:acID', 'domain' => "#{Xsd::Schema.filename(for_prefix: 'domain-ee', for_version: '1.2')}").text end def test_wrong_transfer_code @@ -21,7 +21,7 @@ class EppDomainTransferQueryTest < EppTestCase - + shop.test wrong @@ -57,7 +57,7 @@ class EppDomainTransferQueryTest < EppTestCase - + shop.test 65078d5 diff --git a/test/integration/epp/domain/transfer/request_test.rb b/test/integration/epp/domain/transfer/request_test.rb index 1e706ce6b..b1be6a97b 100644 --- a/test/integration/epp/domain/transfer/request_test.rb +++ b/test/integration/epp/domain/transfer/request_test.rb @@ -133,7 +133,7 @@ class EppDomainTransferRequestTest < EppTestCase response_xml = Nokogiri::XML(response.body) assert_correct_against_schema response_xml assert_equal 'serverApproved', Nokogiri::XML(response.body).xpath('//domain:trStatus', 'domain' => - "#{Xsd::Schema.filename(for_prefix: 'domain-ee', for_version: '1.1')}").text + "#{Xsd::Schema.filename(for_prefix: 'domain-ee', for_version: '1.2')}").text end def test_assigns_new_registrar @@ -236,7 +236,7 @@ class EppDomainTransferRequestTest < EppTestCase - + shop.test wrong @@ -265,7 +265,7 @@ class EppDomainTransferRequestTest < EppTestCase - + shop.test 65078d5 diff --git a/test/integration/epp/domain/update/base_test.rb b/test/integration/epp/domain/update/base_test.rb index bff325307..fa1ed1f79 100644 --- a/test/integration/epp/domain/update/base_test.rb +++ b/test/integration/epp/domain/update/base_test.rb @@ -23,7 +23,7 @@ class EppDomainUpdateBaseTest < EppTestCase - + shop.test @@ -48,13 +48,236 @@ 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 + + + + + + shop.test + + + + #{nameservers(:shop_ns1).hostname} + + + #{nameservers(:shop_ns2).hostname} + + + + #{@dnskey.flags} + #{@dnskey.protocol} + #{@dnskey.alg} + #{@dnskey.public_key} + + + + + + + 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 + + + + + + shop.test + + + + #{nameservers(:shop_ns1).hostname} + + + #{nameservers(:shop_ns2).hostname} + + + + #{@dnskey.flags} + #{@dnskey.protocol} + #{@dnskey.alg} + #{@dnskey.public_key} + + + + + + + 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) + @domain.statuses << DomainStatus::SERVER_OBJ_UPDATE_PROHIBITED + @domain.save + @dnskey = dnskeys(:one) + @dnskey.update(domain: @domain) + + request_xml = <<-XML + + + + + + shop.test + + + + #{nameservers(:shop_ns1).hostname} + + + #{nameservers(:shop_ns2).hostname} + + + + #{@dnskey.flags} + #{@dnskey.protocol} + #{@dnskey.alg} + #{@dnskey.public_key} + + + + + + + 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 :object_status_prohibits_operation + ENV['obj_and_extensions_prohibited'] = nil + end + + def test_update_domain_data_out_of_extension_block_with_extension_update_prohibited + ENV['obj_and_extensions_prohibited'] = 'true' + @domain = domains(:shop) + @domain.statuses << DomainStatus::SERVER_EXTENSION_UPDATE_PROHIBITED + @domain.save + + request_xml = <<-XML + + + + + + shop.test + + + + #{nameservers(:shop_ns1).hostname} + + + #{nameservers(:shop_ns2).hostname} + + + + + + + + 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 + ENV['obj_and_extensions_prohibited'] = nil + end + + def test_update_domain_dns_with_extension_update_prohibited + ENV['obj_and_extensions_prohibited'] = 'true' + @domain = domains(:shop) + @domain.statuses << DomainStatus::SERVER_EXTENSION_UPDATE_PROHIBITED + @domain.save + @dnskey = dnskeys(:one) + @dnskey.update(domain: @domain) + + request_xml = <<-XML + + + + + + shop.test + + + + + + + #{@dnskey.flags} + #{@dnskey.protocol} + #{@dnskey.alg} + #{@dnskey.public_key} + + + + + + + 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 :object_status_prohibits_operation + ENV['obj_and_extensions_prohibited'] = nil + end + def test_update_domain request_xml = <<-XML - + shop.test @@ -84,7 +307,7 @@ class EppDomainUpdateBaseTest < EppTestCase - + shop.test @@ -105,7 +328,7 @@ class EppDomainUpdateBaseTest < EppTestCase - + shop.test @@ -128,7 +351,7 @@ class EppDomainUpdateBaseTest < EppTestCase - + #{@domain.name} @@ -155,7 +378,7 @@ class EppDomainUpdateBaseTest < EppTestCase - + #{@domain.name} #{new_registrant.code} @@ -201,7 +424,7 @@ class EppDomainUpdateBaseTest < EppTestCase - + #{@domain.name} #{new_registrant.code} @@ -238,7 +461,7 @@ class EppDomainUpdateBaseTest < EppTestCase - + #{@domain.name} #{new_registrant.code} @@ -283,7 +506,7 @@ class EppDomainUpdateBaseTest < EppTestCase - + #{@domain.name} #{new_registrant.code} @@ -321,7 +544,7 @@ class EppDomainUpdateBaseTest < EppTestCase - + #{@domain.name} #{new_registrant.code} @@ -357,7 +580,7 @@ class EppDomainUpdateBaseTest < EppTestCase - + #{@domain.name} #{new_registrant.code} @@ -393,7 +616,7 @@ class EppDomainUpdateBaseTest < EppTestCase - + #{@domain.name} #{@domain.registrant.code} @@ -434,7 +657,7 @@ class EppDomainUpdateBaseTest < EppTestCase - + #{@domain.name} #{new_registrant.code} @@ -479,7 +702,7 @@ class EppDomainUpdateBaseTest < EppTestCase - + #{@domain.name} #{new_registrant.code} @@ -520,7 +743,7 @@ class EppDomainUpdateBaseTest < EppTestCase - + #{@domain.name} #{new_registrant.code} @@ -559,7 +782,7 @@ class EppDomainUpdateBaseTest < EppTestCase - + #{@domain.name} #{new_registrant.code} @@ -607,7 +830,7 @@ class EppDomainUpdateBaseTest < EppTestCase - + #{@domain.name} #{new_registrant.code} @@ -644,7 +867,7 @@ class EppDomainUpdateBaseTest < EppTestCase - + #{@domain.name} #{new_registrant.code} @@ -683,7 +906,7 @@ class EppDomainUpdateBaseTest < EppTestCase - + #{@domain.name} @@ -718,7 +941,7 @@ class EppDomainUpdateBaseTest < EppTestCase - + shop.test Test @@ -749,7 +972,7 @@ class EppDomainUpdateBaseTest < EppTestCase - + shop.test Test @@ -777,7 +1000,7 @@ class EppDomainUpdateBaseTest < EppTestCase - + #{@domain.name} diff --git a/test/integration/epp/domain/update/rem_dns_test.rb b/test/integration/epp/domain/update/rem_dns_test.rb index a34b52063..fd46338e7 100644 --- a/test/integration/epp/domain/update/rem_dns_test.rb +++ b/test/integration/epp/domain/update/rem_dns_test.rb @@ -25,7 +25,7 @@ class EppDomainUpdateRemDnsTest < EppTestCase - + shop.test @@ -65,7 +65,7 @@ class EppDomainUpdateRemDnsTest < EppTestCase - + shop.test diff --git a/test/integration/epp/login_test.rb b/test/integration/epp/login_test.rb index 4ac3ad6e6..80d7251d6 100644 --- a/test/integration/epp/login_test.rb +++ b/test/integration/epp/login_test.rb @@ -25,7 +25,7 @@ class EppLoginTest < EppTestCase en - #{Xsd::Schema.filename(for_prefix: 'domain-ee', for_version: '1.1')} + #{Xsd::Schema.filename(for_prefix: 'domain-ee', for_version: '1.2')} #{Xsd::Schema.filename(for_prefix: 'contact-ee', for_version: '1.1')} urn:ietf:params:xml:ns:host-1.0 urn:ietf:params:xml:ns:keyrelay-1.0 @@ -60,7 +60,7 @@ class EppLoginTest < EppTestCase en - #{Xsd::Schema.filename(for_prefix: 'domain-ee', for_version: '1.1')} + #{Xsd::Schema.filename(for_prefix: 'domain-ee', for_version: '1.2')} #{Xsd::Schema.filename(for_prefix: 'contact-ee', for_version: '1.1')} urn:ietf:params:xml:ns:host-1.0 urn:ietf:params:xml:ns:keyrelay-1.0 @@ -94,7 +94,7 @@ class EppLoginTest < EppTestCase en - #{Xsd::Schema.filename(for_prefix: 'domain-ee', for_version: '1.1')} + #{Xsd::Schema.filename(for_prefix: 'domain-ee', for_version: '1.2')} #{Xsd::Schema.filename(for_prefix: 'contact-ee', for_version: '1.1')} urn:ietf:params:xml:ns:host-1.0 urn:ietf:params:xml:ns:keyrelay-1.0 @@ -129,7 +129,7 @@ class EppLoginTest < EppTestCase en - #{Xsd::Schema.filename(for_prefix: 'domain-ee', for_version: '1.1')} + #{Xsd::Schema.filename(for_prefix: 'domain-ee', for_version: '1.2')} #{Xsd::Schema.filename(for_prefix: 'contact-ee', for_version: '1.1')} urn:ietf:params:xml:ns:host-1.0 urn:ietf:params:xml:ns:keyrelay-1.0 @@ -164,7 +164,7 @@ class EppLoginTest < EppTestCase en - #{Xsd::Schema.filename(for_prefix: 'domain-ee', for_version: '1.1')} + #{Xsd::Schema.filename(for_prefix: 'domain-ee', for_version: '1.2')} #{Xsd::Schema.filename(for_prefix: 'contact-ee', for_version: '1.1')} urn:ietf:params:xml:ns:host-1.0 urn:ietf:params:xml:ns:keyrelay-1.0 diff --git a/test/integration/registrar_area/xml_consoles_test.rb b/test/integration/registrar_area/xml_consoles_test.rb index 442e6f2c0..443abfb78 100644 --- a/test/integration/registrar_area/xml_consoles_test.rb +++ b/test/integration/registrar_area/xml_consoles_test.rb @@ -58,7 +58,7 @@ class RegistrarXmlConsolesIntegrationTest < ApplicationIntegrationTest + xmlns:domain="https://epp.tld.ee/schema/domain-ee-1.2.xsd"> example.ee diff --git a/test/models/feature_test.rb b/test/models/feature_test.rb new file mode 100644 index 000000000..23fd86171 --- /dev/null +++ b/test/models/feature_test.rb @@ -0,0 +1,30 @@ +require 'test_helper' + +class FeatureTest < ActiveSupport::TestCase + 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 +end diff --git a/test/system/registrar_area/xml_consoles_test.rb b/test/system/registrar_area/xml_consoles_test.rb index 6fe855a5b..51cc362eb 100644 --- a/test/system/registrar_area/xml_consoles_test.rb +++ b/test/system/registrar_area/xml_consoles_test.rb @@ -22,7 +22,7 @@ class RegistrarAreaXmlConsolesTest < ApplicationSystemTestCase - + auction.test