require 'test_helper'
class EppLoginCredentialsTest < ActionDispatch::IntegrationTest
def test_correct_credentials
request_xml = <<-XML
test_bestnames
testtest
1.0
en
https://epp.tld.ee/schema/domain-eis-1.0.xsd
https://epp.tld.ee/schema/contact-ee-1.1.xsd
urn:ietf:params:xml:ns:host-1.0
urn:ietf:params:xml:ns:keyrelay-1.0
XML
post '/epp/session/login', { frame: request_xml }, { 'HTTP_COOKIE' => 'session=new_session_id' }
assert EppSession.find_by(session_id: 'new_session_id')
assert_equal users(:api_bestnames), EppSession.find_by(session_id: 'new_session_id').user
assert Nokogiri::XML(response.body).at_css('result[code="1000"]')
assert_equal 1, Nokogiri::XML(response.body).css('result').size
end
def test_already_logged_in
assert true # Handled by mod_epp
end
def test_wrong_credentials
request_xml = <<-XML
non-existent
valid-but-wrong
1.0
en
https://epp.tld.ee/schema/domain-eis-1.0.xsd
https://epp.tld.ee/schema/contact-ee-1.1.xsd
urn:ietf:params:xml:ns:host-1.0
urn:ietf:params:xml:ns:keyrelay-1.0
XML
post '/epp/session/login', { frame: request_xml }, { 'HTTP_COOKIE' => 'session=any_random_string' }
assert Nokogiri::XML(response.body).at_css('result[code="2501"]')
end
end