diff --git a/test/integration/epp/domain/base_test.rb b/test/integration/epp/domain/base_test.rb index e8c905062..557d25f59 100644 --- a/test/integration/epp/domain/base_test.rb +++ b/test/integration/epp/domain/base_test.rb @@ -17,7 +17,9 @@ class EppDomainBaseTest < EppTestCase post epp_info_path, params: { frame: request_xml }, headers: { 'HTTP_COOKIE' => 'session=api_bestnames' } + response_xml = Nokogiri::XML(response.body) assert_epp_response :object_does_not_exist + assert_correct_against_schema response_xml end def test_invalid_path diff --git a/test/integration/epp/domain/check/auction_test.rb b/test/integration/epp/domain/check/auction_test.rb index ece849b00..d8a7b5919 100644 --- a/test/integration/epp/domain/check/auction_test.rb +++ b/test/integration/epp/domain/check/auction_test.rb @@ -32,6 +32,7 @@ class EppDomainCheckAuctionTest < EppTestCase headers: { 'HTTP_COOKIE' => 'session=api_bestnames' } 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')}")['avail'] assert_equal 'Domain is at auction', response_xml.at_xpath('//domain:reason', 'domain' => "#{Xsd::Schema.filename(for_prefix: 'domain-ee')}").text @@ -57,6 +58,7 @@ class EppDomainCheckAuctionTest < EppTestCase headers: { 'HTTP_COOKIE' => 'session=api_bestnames' } 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')}")['avail'] assert_equal 'Domain is at auction', response_xml.at_xpath('//domain:reason', 'domain' => "#{Xsd::Schema.filename(for_prefix: 'domain-ee')}").text @@ -82,6 +84,7 @@ class EppDomainCheckAuctionTest < EppTestCase headers: { 'HTTP_COOKIE' => 'session=api_bestnames' } 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')}")['avail'] assert_equal 'Domain is at auction', response_xml.at_xpath('//domain:reason', 'domain' => "#{Xsd::Schema.filename(for_prefix: 'domain-ee')}").text @@ -107,6 +110,7 @@ class EppDomainCheckAuctionTest < EppTestCase headers: { 'HTTP_COOKIE' => 'session=api_bestnames' } 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')}")['avail'] assert_equal 'Awaiting payment', response_xml.at_xpath('//domain:reason', 'domain' => "#{Xsd::Schema.filename(for_prefix: 'domain-ee')}").text @@ -132,6 +136,7 @@ class EppDomainCheckAuctionTest < EppTestCase headers: { 'HTTP_COOKIE' => 'session=api_bestnames' } 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')}")['avail'] assert_nil response_xml.at_xpath('//domain:reason', 'domain' => "#{Xsd::Schema.filename(for_prefix: 'domain-ee')}") diff --git a/test/integration/epp/domain/check/base_test.rb b/test/integration/epp/domain/check/base_test.rb index 07e1e2081..f2f85bed3 100644 --- a/test/integration/epp/domain/check/base_test.rb +++ b/test/integration/epp/domain/check/base_test.rb @@ -20,6 +20,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')}").text end @@ -41,6 +42,7 @@ class EppDomainCheckBaseTest < EppTestCase headers: { 'HTTP_COOKIE' => 'session=api_bestnames' } 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')}")['avail'] assert_nil response_xml.at_xpath('//domain:reason', 'domain' => "#{Xsd::Schema.filename(for_prefix: 'domain-ee')}") end @@ -65,6 +67,7 @@ class EppDomainCheckBaseTest < EppTestCase headers: { 'HTTP_COOKIE' => 'session=api_bestnames' } 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')}")['avail'] assert_nil response_xml.at_xpath('//domain:reason', 'domain' => "#{Xsd::Schema.filename(for_prefix: 'domain-ee')}") end @@ -87,6 +90,7 @@ class EppDomainCheckBaseTest < EppTestCase headers: { 'HTTP_COOKIE' => 'session=api_bestnames' } 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')}")['avail'] assert_equal 'invalid format', response_xml.at_xpath('//domain:reason', 'domain' => "#{Xsd::Schema.filename(for_prefix: 'domain-ee')}").text end @@ -111,6 +115,7 @@ class EppDomainCheckBaseTest < EppTestCase headers: { 'HTTP_COOKIE' => 'session=api_bestnames' } 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')}")['avail'] assert_equal 'in use', response_xml.at_xpath('//domain:reason', 'domain' => "#{Xsd::Schema.filename(for_prefix: 'domain-ee')}").text end @@ -135,6 +140,7 @@ class EppDomainCheckBaseTest < EppTestCase headers: { 'HTTP_COOKIE' => 'session=api_bestnames' } 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')}")['avail'] assert_equal 'Blocked', response_xml.at_xpath('//domain:reason', 'domain' => "#{Xsd::Schema.filename(for_prefix: 'domain-ee')}").text end @@ -159,6 +165,7 @@ class EppDomainCheckBaseTest < EppTestCase headers: { 'HTTP_COOKIE' => 'session=api_bestnames' } 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')}")['avail'] assert_equal 'Zone with the same origin exists', response_xml.at_xpath('//domain:reason', 'domain' => "#{Xsd::Schema.filename(for_prefix: 'domain-ee')}").text end @@ -183,6 +190,7 @@ class EppDomainCheckBaseTest < EppTestCase headers: { 'HTTP_COOKIE' => 'session=api_bestnames' } 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')}").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 2f2fd6fd9..8424c82cb 100644 --- a/test/integration/epp/domain/create/auction_idn_test.rb +++ b/test/integration/epp/domain/create/auction_idn_test.rb @@ -43,6 +43,9 @@ class EppDomainCreateAuctionIdnTest < EppTestCase headers: { 'HTTP_COOKIE' => 'session=api_bestnames' } end + response_xml = Nokogiri::XML(response.body) + assert_correct_against_schema response_xml + refute Domain.where(name: @idn_auction.domain).exists? @idn_auction.reload @@ -78,6 +81,9 @@ class EppDomainCreateAuctionIdnTest < EppTestCase headers: { 'HTTP_COOKIE' => 'session=api_bestnames'} end + response_xml = Nokogiri::XML(response.body) + assert_correct_against_schema response_xml + refute Domain.where(name: @idn_auction.domain).exists? @idn_auction.reload @@ -112,6 +118,9 @@ class EppDomainCreateAuctionIdnTest < EppTestCase headers: { 'HTTP_COOKIE' => 'session=api_bestnames'} end + response_xml = Nokogiri::XML(response.body) + assert_correct_against_schema response_xml + refute Domain.where(name: @idn_auction.domain).exists? @idn_auction.reload @@ -146,6 +155,9 @@ class EppDomainCreateAuctionIdnTest < EppTestCase headers: { 'HTTP_COOKIE' => 'session=api_bestnames'} end + response_xml = Nokogiri::XML(response.body) + assert_correct_against_schema response_xml + refute Domain.where(name: @idn_auction.domain).exists? @idn_auction.reload @@ -184,6 +196,9 @@ class EppDomainCreateAuctionIdnTest < EppTestCase headers: { 'HTTP_COOKIE' => 'session=api_bestnames'} end + response_xml = Nokogiri::XML(response.body) + assert_correct_against_schema response_xml + @idn_auction.reload assert @idn_auction.domain_registered? assert Domain.where(name: @idn_auction.domain).exists? @@ -221,6 +236,9 @@ class EppDomainCreateAuctionIdnTest < EppTestCase headers: { 'HTTP_COOKIE' => 'session=api_bestnames'} end + response_xml = Nokogiri::XML(response.body) + assert_correct_against_schema response_xml + @idn_auction.reload assert @idn_auction.domain_registered? assert Domain.where(name: @idn_auction.domain).exists? diff --git a/test/integration/epp/domain/create/auction_test.rb b/test/integration/epp/domain/create/auction_test.rb index 3c2b14d5c..08ac79ad0 100644 --- a/test/integration/epp/domain/create/auction_test.rb +++ b/test/integration/epp/domain/create/auction_test.rb @@ -35,6 +35,8 @@ class EppDomainCreateAuctionTest < EppTestCase headers: { 'HTTP_COOKIE' => 'session=api_bestnames' } end assert_epp_response :completed_successfully + response_xml = Nokogiri::XML(response.body) + assert_correct_against_schema response_xml end def test_registers_domain_with_correct_registration_code_after_another_auction_when_payment_is_received @@ -73,6 +75,8 @@ class EppDomainCreateAuctionTest < EppTestCase headers: { 'HTTP_COOKIE' => 'session=api_bestnames' } end assert_epp_response :completed_successfully + response_xml = Nokogiri::XML(response.body) + assert_correct_against_schema response_xml end def test_registers_domain_with_correct_registration_code_when_payment_is_received @@ -109,6 +113,8 @@ class EppDomainCreateAuctionTest < EppTestCase @auction.reload assert @auction.domain_registered? assert_epp_response :completed_successfully + response_xml = Nokogiri::XML(response.body) + assert_correct_against_schema response_xml end def test_domain_cannot_be_registered_without_registration_code @@ -138,6 +144,8 @@ class EppDomainCreateAuctionTest < EppTestCase post epp_create_path, params: { frame: request_xml }, headers: { 'HTTP_COOKIE' => 'session=api_bestnames' } end + response_xml = Nokogiri::XML(response.body) + assert_correct_against_schema response_xml assert_epp_response :required_parameter_missing end @@ -171,6 +179,8 @@ class EppDomainCreateAuctionTest < EppTestCase post epp_create_path, params: { frame: request_xml }, headers: { 'HTTP_COOKIE' => 'session=api_bestnames' } end + response_xml = Nokogiri::XML(response.body) + assert_correct_against_schema response_xml assert_epp_response :invalid_authorization_information end @@ -203,6 +213,8 @@ class EppDomainCreateAuctionTest < EppTestCase post epp_create_path, params: { frame: request_xml }, headers: { 'HTTP_COOKIE' => 'session=api_bestnames' } end + response_xml = Nokogiri::XML(response.body) + assert_correct_against_schema response_xml assert_epp_response :required_parameter_missing end @@ -231,6 +243,8 @@ class EppDomainCreateAuctionTest < EppTestCase post epp_create_path, params: { frame: request_xml }, headers: { 'HTTP_COOKIE' => 'session=api_bestnames' } end + response_xml = Nokogiri::XML(response.body) + assert_correct_against_schema response_xml assert_epp_response :parameter_value_policy_error end end diff --git a/test/integration/epp/domain/create/base_test.rb b/test/integration/epp/domain/create/base_test.rb index 914a6352a..4c6b9e7af 100644 --- a/test/integration/epp/domain/create/base_test.rb +++ b/test/integration/epp/domain/create/base_test.rb @@ -42,6 +42,8 @@ class EppDomainCreateBaseTest < EppTestCase post epp_create_path, params: { frame: request_xml }, headers: { 'HTTP_COOKIE' => 'session=api_bestnames' } end + response_xml = Nokogiri::XML(response.body) + assert_correct_against_schema response_xml assert_epp_response :parameter_value_syntax_error end @@ -73,6 +75,8 @@ class EppDomainCreateBaseTest < EppTestCase post epp_create_path, params: { frame: request_xml }, headers: { 'HTTP_COOKIE' => 'session=api_bestnames' } end + response_xml = Nokogiri::XML(response.body) + assert_correct_against_schema response_xml assert_epp_response :data_management_policy_violation end @@ -107,6 +111,8 @@ class EppDomainCreateBaseTest < EppTestCase post epp_create_path, params: { frame: request_xml }, headers: { 'HTTP_COOKIE' => 'session=api_bestnames' } end + response_xml = Nokogiri::XML(response.body) + assert_correct_against_schema response_xml assert_epp_response :data_management_policy_violation error_description = 'Legaldoc size exceeds maximum allowed size of 8mB' @@ -143,6 +149,8 @@ class EppDomainCreateBaseTest < EppTestCase post epp_create_path, params: { frame: request_xml }, headers: { 'HTTP_COOKIE' => 'session=api_bestnames' } end + response_xml = Nokogiri::XML(response.body) + assert_correct_against_schema response_xml assert_epp_response :completed_successfully end @@ -174,6 +182,8 @@ class EppDomainCreateBaseTest < EppTestCase post epp_create_path, params: { frame: request_xml }, headers: { 'HTTP_COOKIE' => 'session=api_bestnames' } end + response_xml = Nokogiri::XML(response.body) + assert_correct_against_schema response_xml assert_epp_response :required_parameter_missing end @@ -210,6 +220,8 @@ class EppDomainCreateBaseTest < EppTestCase post epp_create_path, params: { frame: request_xml }, headers: { 'HTTP_COOKIE' => 'session=api_bestnames' } end + response_xml = Nokogiri::XML(response.body) + assert_correct_against_schema response_xml assert_epp_response :completed_successfully end @@ -248,6 +260,8 @@ class EppDomainCreateBaseTest < EppTestCase post epp_create_path, params: { frame: request_xml }, headers: { 'HTTP_COOKIE' => 'session=api_bestnames' } end + response_xml = Nokogiri::XML(response.body) + assert_correct_against_schema response_xml assert_epp_response :parameter_value_policy_error end @@ -285,6 +299,8 @@ class EppDomainCreateBaseTest < EppTestCase post epp_create_path, params: { frame: request_xml }, headers: { 'HTTP_COOKIE' => 'session=api_bestnames' } end + response_xml = Nokogiri::XML(response.body) + assert_correct_against_schema response_xml assert_epp_response :parameter_value_policy_error end @@ -322,6 +338,8 @@ class EppDomainCreateBaseTest < EppTestCase post epp_create_path, params: { frame: request_xml }, headers: { 'HTTP_COOKIE' => 'session=api_bestnames' } end + response_xml = Nokogiri::XML(response.body) + assert_correct_against_schema response_xml assert_epp_response :parameter_value_policy_error end @@ -360,6 +378,8 @@ class EppDomainCreateBaseTest < EppTestCase post epp_create_path, params: { frame: request_xml }, headers: { 'HTTP_COOKIE' => 'session=api_bestnames' } end + response_xml = Nokogiri::XML(response.body) + assert_correct_against_schema response_xml assert_epp_response :parameter_value_policy_error end @@ -398,6 +418,8 @@ class EppDomainCreateBaseTest < EppTestCase post epp_create_path, params: { frame: request_xml }, headers: { 'HTTP_COOKIE' => 'session=api_bestnames' } end + response_xml = Nokogiri::XML(response.body) + assert_correct_against_schema response_xml assert_epp_response :parameter_value_policy_error end @@ -432,6 +454,8 @@ class EppDomainCreateBaseTest < EppTestCase post epp_create_path, params: { frame: request_xml }, headers: { 'HTTP_COOKIE' => 'session=api_bestnames' } end + response_xml = Nokogiri::XML(response.body) + assert_correct_against_schema response_xml assert_epp_response :completed_successfully @@ -475,6 +499,8 @@ class EppDomainCreateBaseTest < EppTestCase post epp_create_path, params: { frame: request_xml }, headers: { 'HTTP_COOKIE' => 'session=api_bestnames' } end + response_xml = Nokogiri::XML(response.body) + assert_correct_against_schema response_xml assert_epp_response :completed_successfully @@ -511,6 +537,9 @@ class EppDomainCreateBaseTest < EppTestCase post epp_create_path, params: { frame: request_xml }, headers: { 'HTTP_COOKIE' => 'session=api_bestnames' } + response_xml = Nokogiri::XML(response.body) + assert_correct_against_schema response_xml + assert_epp_response :required_parameter_missing Setting.legal_document_is_mandatory = false @@ -553,6 +582,8 @@ class EppDomainCreateBaseTest < EppTestCase post epp_create_path, params: { frame: request_xml }, headers: { 'HTTP_COOKIE' => 'session=api_bestnames' } end + response_xml = Nokogiri::XML(response.body) + assert_correct_against_schema response_xml assert_epp_response :completed_successfully reserved_domain.reload @@ -588,6 +619,8 @@ class EppDomainCreateBaseTest < EppTestCase post epp_create_path, params: { frame: request_xml }, headers: { 'HTTP_COOKIE' => 'session=api_bestnames' } + response_xml = Nokogiri::XML(response.body) + assert_correct_against_schema response_xml assert_epp_response :completed_successfully assert_equal transfer_code, Domain.find_by(name: name).transfer_code end @@ -619,6 +652,8 @@ class EppDomainCreateBaseTest < EppTestCase post epp_create_path, params: { frame: request_xml }, headers: { 'HTTP_COOKIE' => 'session=api_bestnames' } end + response_xml = Nokogiri::XML(response.body) + assert_correct_against_schema response_xml assert_epp_response :data_management_policy_violation end @@ -649,6 +684,8 @@ class EppDomainCreateBaseTest < EppTestCase post epp_create_path, params: { frame: request_xml }, headers: { 'HTTP_COOKIE' => 'session=api_bestnames' } end + response_xml = Nokogiri::XML(response.body) + assert_correct_against_schema response_xml assert_epp_response :data_management_policy_violation end @@ -679,6 +716,8 @@ class EppDomainCreateBaseTest < EppTestCase post epp_create_path, params: { frame: request_xml }, headers: { 'HTTP_COOKIE' => 'session=api_bestnames' } end + response_xml = Nokogiri::XML(response.body) + assert_correct_against_schema response_xml assert_epp_response :invalid_authorization_information end @@ -708,6 +747,8 @@ class EppDomainCreateBaseTest < EppTestCase post epp_create_path, params: { frame: request_xml }, headers: { 'HTTP_COOKIE' => 'session=api_bestnames' } end + response_xml = Nokogiri::XML(response.body) + assert_correct_against_schema response_xml assert_epp_response :required_parameter_missing end @@ -737,6 +778,8 @@ class EppDomainCreateBaseTest < EppTestCase post epp_create_path, params: { frame: request_xml }, headers: { 'HTTP_COOKIE' => "session=#{session.session_id}" } end + response_xml = Nokogiri::XML(response.body) + assert_correct_against_schema response_xml assert_epp_response :billing_failure end @@ -766,6 +809,8 @@ class EppDomainCreateBaseTest < EppTestCase post epp_create_path, params: { frame: request_xml }, headers: { 'HTTP_COOKIE' => 'session=api_bestnames' } end + response_xml = Nokogiri::XML(response.body) + assert_correct_against_schema response_xml assert_epp_response :billing_failure end end diff --git a/test/integration/epp/domain/delete/base_test.rb b/test/integration/epp/domain/delete/base_test.rb index 952448c90..b13c20964 100644 --- a/test/integration/epp/domain/delete/base_test.rb +++ b/test/integration/epp/domain/delete/base_test.rb @@ -35,6 +35,8 @@ class EppDomainDeleteBaseTest < EppTestCase XML post epp_delete_path, params: { frame: request_xml }, headers: { 'HTTP_COOKIE' => 'session=api_bestnames' } + response_xml = Nokogiri::XML(response.body) + assert_correct_against_schema response_xml assert_includes Domain.find_by(name: 'invalid.test').statuses, DomainStatus::PENDING_DELETE_CONFIRMATION assert_epp_response :completed_successfully_action_pending end @@ -64,6 +66,8 @@ class EppDomainDeleteBaseTest < EppTestCase assert_no_difference 'Domain.count' do post epp_delete_path, params: { frame: request_xml }, headers: { 'HTTP_COOKIE' => 'session=api_bestnames' } end + response_xml = Nokogiri::XML(response.body) + assert_correct_against_schema response_xml assert_epp_response :object_status_prohibits_operation end @@ -92,6 +96,8 @@ class EppDomainDeleteBaseTest < EppTestCase perform_enqueued_jobs do post epp_delete_path, params: { frame: request_xml }, headers: { 'HTTP_COOKIE' => 'session=api_bestnames' } end + response_xml = Nokogiri::XML(response.body) + assert_correct_against_schema response_xml @domain.reload @@ -126,6 +132,9 @@ class EppDomainDeleteBaseTest < EppTestCase perform_enqueued_jobs do post epp_delete_path, params: { frame: request_xml }, headers: { 'HTTP_COOKIE' => 'session=api_bestnames' } end + response_xml = Nokogiri::XML(response.body) + assert_correct_against_schema response_xml + @domain.reload assert_not @domain.registrant_verification_asked? @@ -160,6 +169,9 @@ class EppDomainDeleteBaseTest < EppTestCase perform_enqueued_jobs do post epp_delete_path, params: { frame: request_xml }, headers: { 'HTTP_COOKIE' => 'session=api_bestnames' } end + response_xml = Nokogiri::XML(response.body) + assert_correct_against_schema response_xml + @domain.reload assert_not @domain.registrant_verification_asked? @@ -193,6 +205,8 @@ class EppDomainDeleteBaseTest < EppTestCase perform_enqueued_jobs do post epp_delete_path, params: { frame: request_xml }, headers: { 'HTTP_COOKIE' => 'session=api_bestnames' } end + response_xml = Nokogiri::XML(response.body) + assert_correct_against_schema response_xml @domain.reload assert_not @domain.registrant_verification_asked? @@ -219,6 +233,8 @@ class EppDomainDeleteBaseTest < EppTestCase XML post epp_delete_path, params: { frame: request_xml }, headers: { 'HTTP_COOKIE' => 'session=api_bestnames' } + response_xml = Nokogiri::XML(response.body) + assert_correct_against_schema response_xml assert_epp_response :completed_successfully end @@ -246,6 +262,8 @@ class EppDomainDeleteBaseTest < EppTestCase XML post epp_delete_path, params: { frame: request_xml }, headers: { 'HTTP_COOKIE' => 'session=api_bestnames' } + response_xml = Nokogiri::XML(response.body) + assert_correct_against_schema response_xml assert_epp_response :object_status_prohibits_operation end diff --git a/test/integration/epp/domain/renew/base_test.rb b/test/integration/epp/domain/renew/base_test.rb index 50732f163..d886bd563 100644 --- a/test/integration/epp/domain/renew/base_test.rb +++ b/test/integration/epp/domain/renew/base_test.rb @@ -26,6 +26,9 @@ class EppDomainRenewBaseTest < EppTestCase post epp_renew_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 @@ -57,6 +60,9 @@ class EppDomainRenewBaseTest < EppTestCase post epp_renew_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 @@ -87,6 +93,9 @@ class EppDomainRenewBaseTest < EppTestCase headers: { 'HTTP_COOKIE' => 'session=api_bestnames' } domain.reload end + + response_xml = Nokogiri::XML(response.body) + assert_correct_against_schema response_xml assert_epp_response :object_status_prohibits_operation end @@ -115,6 +124,9 @@ class EppDomainRenewBaseTest < EppTestCase headers: { 'HTTP_COOKIE' => "session=#{session.session_id}" } domain.reload end + + response_xml = Nokogiri::XML(response.body) + assert_correct_against_schema response_xml assert_epp_response :authorization_error end @@ -143,6 +155,9 @@ class EppDomainRenewBaseTest < EppTestCase headers: { 'HTTP_COOKIE' => "session=#{session.session_id}" } domain.reload end + + response_xml = Nokogiri::XML(response.body) + assert_correct_against_schema response_xml assert_epp_response :billing_failure end @@ -170,6 +185,9 @@ class EppDomainRenewBaseTest < EppTestCase headers: { 'HTTP_COOKIE' => 'session=api_bestnames' } domain.reload end + + response_xml = Nokogiri::XML(response.body) + assert_correct_against_schema response_xml assert_epp_response :billing_failure end @@ -197,6 +215,9 @@ class EppDomainRenewBaseTest < EppTestCase headers: { 'HTTP_COOKIE' => 'session=api_bestnames' } domain.reload end + + response_xml = Nokogiri::XML(response.body) + assert_correct_against_schema response_xml assert_epp_response :parameter_value_policy_error end @@ -226,6 +247,10 @@ class EppDomainRenewBaseTest < EppTestCase post epp_renew_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 diff --git a/test/integration/epp/domain/transfer/query_test.rb b/test/integration/epp/domain/transfer/query_test.rb index e87be291b..d4a1d1951 100644 --- a/test/integration/epp/domain/transfer/query_test.rb +++ b/test/integration/epp/domain/transfer/query_test.rb @@ -5,6 +5,9 @@ class EppDomainTransferQueryTest < EppTestCase post epp_transfer_path, params: { frame: request_xml }, headers: { 'HTTP_COOKIE' => 'session=api_bestnames' } xml_doc = Nokogiri::XML(response.body) + + 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')}").text assert_equal 'serverApproved', xml_doc.xpath('//domain:trStatus', 'domain' => "#{Xsd::Schema.filename(for_prefix: 'domain-ee')}").text @@ -32,6 +35,8 @@ class EppDomainTransferQueryTest < EppTestCase post epp_transfer_path, params: { frame: request_xml }, headers: { 'HTTP_COOKIE' => 'session=api_bestnames' } + response_xml = Nokogiri::XML(response.body) + assert_correct_against_schema response_xml assert_epp_response :invalid_authorization_information end @@ -39,6 +44,8 @@ class EppDomainTransferQueryTest < EppTestCase domains(:shop).transfers.delete_all post epp_transfer_path, params: { frame: request_xml }, headers: { 'HTTP_COOKIE' => 'session=api_bestnames' } + response_xml = Nokogiri::XML(response.body) + assert_correct_against_schema response_xml assert_epp_response :object_does_not_exist end diff --git a/test/integration/epp/domain/transfer/request_test.rb b/test/integration/epp/domain/transfer/request_test.rb index a44533f8b..44be712f0 100644 --- a/test/integration/epp/domain/transfer/request_test.rb +++ b/test/integration/epp/domain/transfer/request_test.rb @@ -22,6 +22,8 @@ class EppDomainTransferRequestTest < EppTestCase post epp_transfer_path, params: { frame: request_xml }, headers: { 'HTTP_COOKIE' => 'session=api_goodnames' } + response_xml = Nokogiri::XML(response.body) + assert_correct_against_schema response_xml assert_epp_response :completed_successfully @domain.reload @@ -43,6 +45,8 @@ class EppDomainTransferRequestTest < EppTestCase headers: { 'HTTP_COOKIE' => 'session=api_goodnames' } assert_epp_response :completed_successfully + response_xml = Nokogiri::XML(response.body) + assert_correct_against_schema response_xml @domain.reload @@ -63,6 +67,8 @@ class EppDomainTransferRequestTest < EppTestCase headers: { 'HTTP_COOKIE' => 'session=api_goodnames' } assert_epp_response :completed_successfully + response_xml = Nokogiri::XML(response.body) + assert_correct_against_schema response_xml @domain.reload @@ -87,6 +93,8 @@ class EppDomainTransferRequestTest < EppTestCase headers: { 'HTTP_COOKIE' => 'session=api_goodnames' } assert_epp_response :completed_successfully + response_xml = Nokogiri::XML(response.body) + assert_correct_against_schema response_xml @domain.reload @@ -106,6 +114,8 @@ class EppDomainTransferRequestTest < EppTestCase post epp_transfer_path, params: { frame: request_xml }, headers: { 'HTTP_COOKIE' => 'session=api_goodnames' } assert_epp_response :completed_successfully + response_xml = Nokogiri::XML(response.body) + assert_correct_against_schema response_xml end def test_creates_new_domain_transfer @@ -113,11 +123,15 @@ class EppDomainTransferRequestTest < EppTestCase post epp_transfer_path, params: { frame: request_xml }, headers: { 'HTTP_COOKIE' => 'session=api_goodnames' } end + response_xml = Nokogiri::XML(response.body) + assert_correct_against_schema response_xml end def test_approves_automatically_if_auto_approval_is_enabled post epp_transfer_path, params: { frame: request_xml }, headers: { 'HTTP_COOKIE' => 'session=api_goodnames' } + 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')}").text end @@ -125,6 +139,8 @@ class EppDomainTransferRequestTest < EppTestCase def test_assigns_new_registrar post epp_transfer_path, params: { frame: request_xml }, headers: { 'HTTP_COOKIE' => 'session=api_goodnames' } + response_xml = Nokogiri::XML(response.body) + assert_correct_against_schema response_xml @domain.reload assert_equal @new_registrar, @domain.registrar end @@ -135,6 +151,8 @@ class EppDomainTransferRequestTest < EppTestCase post epp_transfer_path, params: { frame: request_xml }, headers: { 'HTTP_COOKIE' => 'session=api_goodnames' } + response_xml = Nokogiri::XML(response.body) + assert_correct_against_schema response_xml @domain.reload refute_equal @domain.transfer_code, @old_transfer_code end @@ -146,6 +164,8 @@ class EppDomainTransferRequestTest < EppTestCase post epp_transfer_path, params: { frame: request_xml }, headers: { 'HTTP_COOKIE' => 'session=api_goodnames' } end + response_xml = Nokogiri::XML(response.body) + assert_correct_against_schema response_xml end def test_duplicates_registrant_admin_and_tech_contacts @@ -153,11 +173,15 @@ class EppDomainTransferRequestTest < EppTestCase post epp_transfer_path, params: { frame: request_xml }, headers: { 'HTTP_COOKIE' => 'session=api_goodnames' } end + response_xml = Nokogiri::XML(response.body) + assert_correct_against_schema response_xml end def test_reuses_identical_contact post epp_transfer_path, params: { frame: request_xml }, headers: { 'HTTP_COOKIE' => 'session=api_goodnames' } + response_xml = Nokogiri::XML(response.body) + assert_correct_against_schema response_xml assert_equal 1, @new_registrar.contacts.where(name: 'William').size end @@ -166,6 +190,8 @@ class EppDomainTransferRequestTest < EppTestCase post epp_transfer_path, params: { frame: request_xml }, headers: { 'HTTP_COOKIE' => 'session=api_goodnames' } end + response_xml = Nokogiri::XML(response.body) + assert_correct_against_schema response_xml end def test_non_transferable_domain @@ -177,6 +203,8 @@ class EppDomainTransferRequestTest < EppTestCase assert_equal registrars(:bestnames), domains(:shop).registrar assert_epp_response :object_status_prohibits_operation + response_xml = Nokogiri::XML(response.body) + assert_correct_against_schema response_xml end def test_discarded_domain_cannot_be_transferred @@ -188,6 +216,8 @@ class EppDomainTransferRequestTest < EppTestCase assert_equal registrars(:bestnames), @domain.registrar assert_epp_response :object_is_not_eligible_for_transfer + response_xml = Nokogiri::XML(response.body) + assert_correct_against_schema response_xml end def test_same_registrar @@ -196,6 +226,8 @@ class EppDomainTransferRequestTest < EppTestCase headers: { 'HTTP_COOKIE' => 'session=api_bestnames' } end assert_epp_response :use_error + response_xml = Nokogiri::XML(response.body) + assert_correct_against_schema response_xml end def test_wrong_transfer_code @@ -220,6 +252,8 @@ class EppDomainTransferRequestTest < EppTestCase @domain.reload assert_epp_response :invalid_authorization_information + response_xml = Nokogiri::XML(response.body) + assert_correct_against_schema response_xml refute_equal @new_registrar, @domain.registrar end diff --git a/test/integration/epp/domain/update/base_test.rb b/test/integration/epp/domain/update/base_test.rb index e6eba6d1d..0fb0a5fff 100644 --- a/test/integration/epp/domain/update/base_test.rb +++ b/test/integration/epp/domain/update/base_test.rb @@ -38,6 +38,8 @@ class EppDomainUpdateBaseTest < EppTestCase 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_equal 'f0ff7d17b0', @domain.transfer_code assert_epp_response :completed_successfully @@ -82,6 +84,8 @@ class EppDomainUpdateBaseTest < EppTestCase 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 assert_epp_response :object_status_prohibits_operation end @@ -106,6 +110,7 @@ class EppDomainUpdateBaseTest < EppTestCase assert_epp_response :object_status_prohibits_operation response_xml = Nokogiri::XML(response.body) + assert_correct_against_schema response_xml assert_equal DomainStatus::PENDING_UPDATE, response_xml.at_xpath('//domain:status', 'domain' => "#{Xsd::Schema.filename(for_prefix: 'domain-ee')}").text end @@ -142,6 +147,8 @@ class EppDomainUpdateBaseTest < EppTestCase end @domain.reload + response_xml = Nokogiri::XML(response.body) + assert_correct_against_schema response_xml assert_epp_response :completed_successfully_action_pending assert_not_equal new_registrant, @domain.registrant assert @domain.registrant_verification_asked? @@ -183,6 +190,8 @@ class EppDomainUpdateBaseTest < EppTestCase headers: { 'HTTP_COOKIE' => 'session=api_bestnames' } @domain.reload assert_epp_response :completed_successfully + response_xml = Nokogiri::XML(response.body) + assert_correct_against_schema response_xml assert_equal @domain.registrant, new_registrant assert_not @domain.statuses.include? "pendingUpdate" @@ -221,6 +230,8 @@ class EppDomainUpdateBaseTest < EppTestCase end @domain.reload + response_xml = Nokogiri::XML(response.body) + assert_correct_against_schema response_xml assert_epp_response :completed_successfully_action_pending assert_not_equal new_registrant, @domain.registrant assert @domain.registrant_verification_asked? @@ -259,6 +270,8 @@ class EppDomainUpdateBaseTest < EppTestCase end @domain.reload + response_xml = Nokogiri::XML(response.body) + assert_correct_against_schema response_xml assert_epp_response :completed_successfully_action_pending assert_not_equal new_registrant, @domain.registrant assert @domain.registrant_verification_asked? @@ -290,6 +303,8 @@ class EppDomainUpdateBaseTest < EppTestCase 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 assert_epp_response :required_parameter_missing Setting.legal_document_is_mandatory = old_value end @@ -332,6 +347,8 @@ class EppDomainUpdateBaseTest < EppTestCase @domain.reload # NOTE: completed_successfully_action_pending + response_xml = Nokogiri::XML(response.body) + assert_correct_against_schema response_xml assert_epp_response :completed_successfully refute_includes @domain.statuses, DomainStatus::PENDING_UPDATE @@ -365,6 +382,8 @@ class EppDomainUpdateBaseTest < EppTestCase headers: { 'HTTP_COOKIE' => 'session=api_bestnames' } @domain.reload + response_xml = Nokogiri::XML(response.body) + assert_correct_against_schema response_xml assert_epp_response :completed_successfully assert_not @domain.registrant_verification_asked? refute_includes @domain.statuses, DomainStatus::PENDING_UPDATE @@ -407,6 +426,8 @@ class EppDomainUpdateBaseTest < EppTestCase headers: { 'HTTP_COOKIE' => 'session=api_bestnames' } @domain.reload + response_xml = Nokogiri::XML(response.body) + assert_correct_against_schema response_xml assert_epp_response :completed_successfully assert new_registrant, @domain.registrant assert_not @domain.registrant_verification_asked? @@ -450,6 +471,8 @@ class EppDomainUpdateBaseTest < EppTestCase headers: { 'HTTP_COOKIE' => 'session=api_bestnames' } @domain.reload + response_xml = Nokogiri::XML(response.body) + assert_correct_against_schema response_xml assert_epp_response :invalid_authorization_information assert_not_equal new_registrant, @domain.registrant assert @domain.disputed? @@ -486,6 +509,8 @@ class EppDomainUpdateBaseTest < EppTestCase headers: { 'HTTP_COOKIE' => 'session=api_bestnames' } @domain.reload + response_xml = Nokogiri::XML(response.body) + assert_correct_against_schema response_xml assert_epp_response :completed_successfully assert_equal new_registrant, @domain.registrant assert_not @domain.registrant_verification_asked? @@ -523,6 +548,8 @@ class EppDomainUpdateBaseTest < EppTestCase headers: { 'HTTP_COOKIE' => 'session=api_bestnames' } @domain.reload + response_xml = Nokogiri::XML(response.body) + assert_correct_against_schema response_xml assert_epp_response :completed_successfully assert_equal new_registrant, @domain.registrant assert_not @domain.registrant_verification_asked? @@ -562,6 +589,8 @@ class EppDomainUpdateBaseTest < EppTestCase headers: { 'HTTP_COOKIE' => 'session=api_bestnames' } @domain.reload + response_xml = Nokogiri::XML(response.body) + assert_correct_against_schema response_xml assert_epp_response :completed_successfully assert_equal new_registrant, @domain.registrant assert_not @domain.registrant_verification_asked? @@ -599,6 +628,9 @@ class EppDomainUpdateBaseTest < EppTestCase 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 @@ -624,6 +656,9 @@ class EppDomainUpdateBaseTest < EppTestCase 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 assert_includes(@domain.statuses, DomainStatus::CLIENT_HOLD) @@ -652,6 +687,9 @@ class EppDomainUpdateBaseTest < EppTestCase 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 assert_not_includes(@domain.statuses, DomainStatus::CLIENT_HOLD) @@ -677,6 +715,9 @@ class EppDomainUpdateBaseTest < EppTestCase 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_does_not_exist end