Merge pull request #949 from internetee/registry-948

Return UTC date in EPP poll response
This commit is contained in:
Timo Võhmar 2018-09-17 11:58:04 +03:00 committed by GitHub
commit 4bf24d8ba7
No known key found for this signature in database
GPG key ID: 4AEE18F83AFDEB23
3 changed files with 28 additions and 6 deletions

View file

@ -5,7 +5,7 @@ xml.epp_head do
end
xml.tag!('msgQ', 'count' => current_user.queued_messages.count, 'id' => @message.id) do
xml.qDate @message.created_at.try(:iso8601)
xml.qDate @message.created_at.utc.xmlschema
xml.msg @message.body
end

View file

@ -2,3 +2,9 @@ greeting:
body: Welcome!
queued: true
registrar: bestnames
domain_deleted:
body: Your domain has been deleted
queued: true
registrar: bestnames
created_at: <%= Time.zone.parse('2010-07-05') %>

View file

@ -1,11 +1,27 @@
require 'test_helper'
class EppPollTest < ApplicationIntegrationTest
def test_messages
post '/epp/command/poll', { frame: request_xml }, { 'HTTP_COOKIE' => 'session=api_bestnames' }
assert_equal '1301', Nokogiri::XML(response.body).at_css('result')[:code]
assert_equal 1, Nokogiri::XML(response.body).css('msgQ').size
assert_equal 1, Nokogiri::XML(response.body).css('result').size
# Deliberately does not conform to RFC5730, which requires the first message to be returned
def test_return_latest_message_when_queue_is_not_empty
message = messages(:domain_deleted)
request_xml = <<-XML
<?xml version="1.0" encoding="UTF-8" standalone="no"?>
<epp xmlns="https://epp.tld.ee/schema/epp-ee-1.0.xsd">
<command>
<poll op="req"/>
</command>
</epp>
XML
post '/epp/command/poll', { frame: request_xml }, 'HTTP_COOKIE' => 'session=api_bestnames'
response_xml = Nokogiri::XML(response.body)
assert_equal 1301.to_s, response_xml.at_css('result')[:code]
assert_equal 1, response_xml.css('result').size
assert_equal 2.to_s, response_xml.at_css('msgQ')[:count]
assert_equal message.id.to_s, response_xml.at_css('msgQ')[:id]
assert_equal Time.zone.parse('2010-07-05').utc.xmlschema, response_xml.at_css('msgQ qDate').text
assert_equal 'Your domain has been deleted', response_xml.at_css('msgQ msg').text
end
def test_no_messages