added method in test_helper & updated method for compare schema version

This commit is contained in:
Oleg Hasjanov 2021-05-26 14:42:00 +03:00 committed by Alex Sherman
parent ecd2bc9fa6
commit a747aa3c0f
3 changed files with 14 additions and 2 deletions

View file

@ -25,8 +25,11 @@ class EppDomainInfoBaseTest < EppTestCase
headers: { 'HTTP_COOKIE' => 'session=api_bestnames' } headers: { 'HTTP_COOKIE' => 'session=api_bestnames' }
response_xml = Nokogiri::XML(response.body) response_xml = Nokogiri::XML(response.body)
p response_xml
schema_version = return_xml_domain_schema_version(response_xml)
assert_epp_response :completed_successfully assert_epp_response :completed_successfully
assert schema_version >= 1.1
assert_equal 'shop.test', response_xml.at_xpath('//domain:name', 'domain' => "#{Xsd::Schema.filename(for_prefix: 'domain-eis')}").text assert_equal 'shop.test', response_xml.at_xpath('//domain:name', 'domain' => "#{Xsd::Schema.filename(for_prefix: 'domain-eis')}").text
assert_equal 'ok', response_xml.at_xpath('//domain:status', 'domain' => "#{Xsd::Schema.filename(for_prefix: 'domain-eis')}")['s'] assert_equal 'ok', response_xml.at_xpath('//domain:status', 'domain' => "#{Xsd::Schema.filename(for_prefix: 'domain-eis')}")['s']
assert_equal 'john-001', response_xml.at_xpath('//domain:registrant', 'domain' => "#{Xsd::Schema.filename(for_prefix: 'domain-eis')}").text assert_equal 'john-001', response_xml.at_xpath('//domain:registrant', 'domain' => "#{Xsd::Schema.filename(for_prefix: 'domain-eis')}").text

View file

@ -18,4 +18,5 @@ class XsdSchemaTest < ActiveSupport::TestCase
assert_equal Xsd::Schema::BASE_URL + 'abcde-fghij-1.3.xsd', filename assert_equal Xsd::Schema::BASE_URL + 'abcde-fghij-1.3.xsd', filename
end end
end end

View file

@ -22,7 +22,6 @@ require 'sidekiq/testing'
Sidekiq::Testing.fake! Sidekiq::Testing.fake!
# `bin/rails test` is not the same as `bin/rake test`. # `bin/rails test` is not the same as `bin/rake test`.
# All tasks will be loaded (and executed) twice when using the former without `Rake::Task.clear`. # All tasks will be loaded (and executed) twice when using the former without `Rake::Task.clear`.
# https://github.com/rails/rails/issues/28786 # https://github.com/rails/rails/issues/28786
@ -69,4 +68,13 @@ end
class EppTestCase < ActionDispatch::IntegrationTest class EppTestCase < ActionDispatch::IntegrationTest
include Assertions::EppAssertions include Assertions::EppAssertions
def return_xml_domain_schema_version(response_xml)
version_regex = /-\d+\S\d+/
domain_schema_tag = response_xml.to_s.scan(/xmlns:domain\S+/)
schema_path = domain_schema_tag.to_s.match(%r{https?://\S+})[0]
version = schema_path.to_s.match(version_regex)[0]
-version.to_f
end
end end