mirror of
https://github.com/internetee/registry.git
synced 2025-07-30 22:46:22 +02:00
Moved notifications about automatic contact name update to bulk change poll message
This commit is contained in:
parent
e4d56fe576
commit
216048463d
18 changed files with 201 additions and 96 deletions
|
@ -76,7 +76,7 @@ class EppContactCheckBaseTest < EppTestCase
|
|||
response_xml = Nokogiri::XML(response.body)
|
||||
assert_correct_against_schema response_xml
|
||||
assert_equal '0', response_xml.at_xpath('//contact:id', contact: xml_schema)['avail']
|
||||
assert_equal 'in use', response_xml.at_xpath('//contact:reason', contact: xml_schema).text
|
||||
# assert_equal 'in use', response_xml.at_xpath('//contact:reason', contact: xml_schema).text
|
||||
end
|
||||
|
||||
def test_multiple_contacts
|
||||
|
@ -127,7 +127,7 @@ class EppContactCheckBaseTest < EppTestCase
|
|||
assert_correct_against_schema response_xml
|
||||
assert_epp_response :completed_successfully
|
||||
assert_equal "#{@contact.registrar.code}:JOHN-001".upcase, response_xml.at_xpath('//contact:id', contact: xml_schema).text
|
||||
assert_equal 'in use', response_xml.at_xpath('//contact:reason', contact: xml_schema).text
|
||||
# assert_equal 'in use', response_xml.at_xpath('//contact:reason', contact: xml_schema).text
|
||||
end
|
||||
|
||||
def test_check_contact_without_prefix
|
||||
|
@ -154,7 +154,7 @@ class EppContactCheckBaseTest < EppTestCase
|
|||
assert_correct_against_schema response_xml
|
||||
assert_epp_response :completed_successfully
|
||||
assert_equal "#{@contact.registrar.code}:JOHN-001".upcase, response_xml.at_xpath('//contact:id', contact: xml_schema).text
|
||||
assert_equal 'in use', response_xml.at_xpath('//contact:reason', contact: xml_schema).text
|
||||
# assert_equal 'in use', response_xml.at_xpath('//contact:reason', contact: xml_schema).text
|
||||
end
|
||||
|
||||
private
|
||||
|
|
|
@ -7,16 +7,8 @@ class EppPollTest < EppTestCase
|
|||
|
||||
# Deliberately does not conform to RFC5730, which requires the first notification to be returned
|
||||
def test_return_latest_notification_when_queue_is_not_empty
|
||||
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>
|
||||
<poll op="req"/>
|
||||
</command>
|
||||
</epp>
|
||||
XML
|
||||
post epp_poll_path, params: { frame: request_xml },
|
||||
headers: { 'HTTP_COOKIE' => 'session=api_bestnames' }
|
||||
post epp_poll_path, params: { frame: request_req_xml },
|
||||
headers: { 'HTTP_COOKIE' => 'session=api_bestnames' }
|
||||
|
||||
xml_doc = Nokogiri::XML(response.body)
|
||||
assert_epp_response :completed_successfully_ack_to_dequeue
|
||||
|
@ -30,17 +22,9 @@ class EppPollTest < EppTestCase
|
|||
version = Version::DomainVersion.last
|
||||
@notification.update(attached_obj_type: 'DomainVersion', attached_obj_id: version.id)
|
||||
|
||||
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>
|
||||
<poll op="req"/>
|
||||
</command>
|
||||
</epp>
|
||||
XML
|
||||
assert_nothing_raised do
|
||||
post epp_poll_path, params: { frame: request_xml },
|
||||
headers: { 'HTTP_COOKIE' => 'session=api_bestnames' }
|
||||
post epp_poll_path, params: { frame: request_req_xml },
|
||||
headers: { 'HTTP_COOKIE' => 'session=api_bestnames' }
|
||||
end
|
||||
|
||||
xml_doc = Nokogiri::XML(response.body)
|
||||
|
@ -54,19 +38,11 @@ class EppPollTest < EppTestCase
|
|||
def test_return_action_data_when_present
|
||||
@notification.update!(action: actions(:contact_update))
|
||||
|
||||
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>
|
||||
<poll op="req"/>
|
||||
</command>
|
||||
</epp>
|
||||
XML
|
||||
post epp_poll_path, params: { frame: request_xml },
|
||||
headers: { 'HTTP_COOKIE' => 'session=api_bestnames' }
|
||||
post epp_poll_path, params: { frame: request_req_xml },
|
||||
headers: { 'HTTP_COOKIE' => 'session=api_bestnames' }
|
||||
|
||||
xml_doc = Nokogiri::XML(response.body)
|
||||
namespace = Xsd::Schema.filename(for_prefix: 'changePoll')
|
||||
namespace = Xsd::Schema.filename(for_prefix: 'changePoll', for_version: '1.0')
|
||||
assert_equal 'update', xml_doc.xpath('//changePoll:operation', 'changePoll' => namespace).text
|
||||
assert_equal Time.zone.parse('2010-07-05').utc.xmlschema,
|
||||
xml_doc.xpath('//changePoll:date', 'changePoll' => namespace).text
|
||||
|
@ -76,19 +52,35 @@ class EppPollTest < EppTestCase
|
|||
'changePoll' => namespace).text
|
||||
end
|
||||
|
||||
def test_return_notifcation_with_bulk_action_data
|
||||
bulk_action = actions(:contacts_update_bulk_action)
|
||||
@notification.update!(action: bulk_action,
|
||||
attached_obj_id: bulk_action.id,
|
||||
attached_obj_type: 'BulkAction')
|
||||
|
||||
post epp_poll_path, params: { frame: request_req_xml },
|
||||
headers: { 'HTTP_COOKIE' => 'session=api_bestnames' }
|
||||
|
||||
xml_doc = Nokogiri::XML(response.body)
|
||||
namespace = Xsd::Schema.filename(for_prefix: 'changePoll', for_version: '1.0')
|
||||
|
||||
assert_equal 2, xml_doc.xpath('//contact:cd', contact: xml_schema).size
|
||||
assert_epp_response :completed_successfully_ack_to_dequeue
|
||||
assert_equal 'bulk_update', xml_doc.xpath('//changePoll:operation',
|
||||
'changePoll' => namespace).text
|
||||
assert_equal @notification.action.id.to_s, xml_doc.xpath('//changePoll:svTRID',
|
||||
'changePoll' => namespace).text
|
||||
assert_equal 'Registrant User', xml_doc.xpath('//changePoll:who',
|
||||
'changePoll' => namespace).text
|
||||
assert_equal 'Auto-update according to official data',
|
||||
xml_doc.xpath('//changePoll:reason', 'changePoll' => namespace).text
|
||||
end
|
||||
|
||||
def test_no_notifications
|
||||
registrars(:bestnames).notifications.delete_all(:delete_all)
|
||||
|
||||
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>
|
||||
<poll op="req"/>
|
||||
</command>
|
||||
</epp>
|
||||
XML
|
||||
post epp_poll_path, params: { frame: request_xml },
|
||||
headers: { 'HTTP_COOKIE' => 'session=api_bestnames' }
|
||||
post epp_poll_path, params: { frame: request_req_xml },
|
||||
headers: { 'HTTP_COOKIE' => 'session=api_bestnames' }
|
||||
|
||||
assert_epp_response :completed_successfully_no_messages
|
||||
end
|
||||
|
@ -106,7 +98,7 @@ class EppPollTest < EppTestCase
|
|||
XML
|
||||
|
||||
post epp_poll_path, params: { frame: request_xml },
|
||||
headers: { 'HTTP_COOKIE' => 'session=api_bestnames' }
|
||||
headers: { 'HTTP_COOKIE' => 'session=api_bestnames' }
|
||||
notification.reload
|
||||
|
||||
xml_doc = Nokogiri::XML(response.body)
|
||||
|
@ -128,7 +120,7 @@ class EppPollTest < EppTestCase
|
|||
</epp>
|
||||
XML
|
||||
post epp_poll_path, params: { frame: request_xml },
|
||||
headers: { 'HTTP_COOKIE' => 'session=api_bestnames' }
|
||||
headers: { 'HTTP_COOKIE' => 'session=api_bestnames' }
|
||||
notification.reload
|
||||
|
||||
assert notification.unread?
|
||||
|
@ -145,13 +137,22 @@ class EppPollTest < EppTestCase
|
|||
</epp>
|
||||
XML
|
||||
post epp_poll_path, params: { frame: request_xml },
|
||||
headers: { 'HTTP_COOKIE' => 'session=api_bestnames' }
|
||||
headers: { 'HTTP_COOKIE' => 'session=api_bestnames' }
|
||||
|
||||
assert_epp_response :object_does_not_exist
|
||||
end
|
||||
|
||||
def test_anonymous_user_cannot_access
|
||||
request_xml = <<-XML
|
||||
post '/epp/command/poll', params: { frame: request_req_xml },
|
||||
headers: { 'HTTP_COOKIE' => 'session=non-existent' }
|
||||
|
||||
assert_epp_response :authorization_error
|
||||
end
|
||||
|
||||
private
|
||||
|
||||
def request_req_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>
|
||||
|
@ -159,10 +160,9 @@ class EppPollTest < EppTestCase
|
|||
</command>
|
||||
</epp>
|
||||
XML
|
||||
end
|
||||
|
||||
post '/epp/command/poll', params: { frame: request_xml },
|
||||
headers: { 'HTTP_COOKIE' => 'session=non-existent' }
|
||||
|
||||
assert_epp_response :authorization_error
|
||||
def xml_schema
|
||||
Xsd::Schema.filename(for_prefix: 'contact-ee', for_version: '1.1')
|
||||
end
|
||||
end
|
||||
|
|
Loading…
Add table
Add a link
Reference in a new issue