mirror of
https://github.com/internetee/registry.git
synced 2025-06-11 15:14:47 +02:00
parent
5a101ddaf4
commit
e2c90cdd40
3 changed files with 91 additions and 2 deletions
4
test/fixtures/epp_sessions.yml
vendored
4
test/fixtures/epp_sessions.yml
vendored
|
@ -1,7 +1,7 @@
|
||||||
api_bestnames:
|
api_bestnames:
|
||||||
session_id: 1
|
session_id: api_bestnames
|
||||||
user: api_bestnames
|
user: api_bestnames
|
||||||
|
|
||||||
api_goodnames:
|
api_goodnames:
|
||||||
session_id: 2
|
session_id: api_goodnames
|
||||||
user: api_goodnames
|
user: api_goodnames
|
||||||
|
|
60
test/integration/epp/session/login_test.rb
Normal file
60
test/integration/epp/session/login_test.rb
Normal file
|
@ -0,0 +1,60 @@
|
||||||
|
require 'test_helper'
|
||||||
|
|
||||||
|
class EppLoginTest < ActionDispatch::IntegrationTest
|
||||||
|
def test_correct_credentials
|
||||||
|
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>
|
||||||
|
<login>
|
||||||
|
<clID>test_bestnames</clID>
|
||||||
|
<pw>testtest</pw>
|
||||||
|
<options>
|
||||||
|
<version>1.0</version>
|
||||||
|
<lang>en</lang>
|
||||||
|
</options>
|
||||||
|
<svcs>
|
||||||
|
<objURI>https://epp.tld.ee/schema/domain-eis-1.0.xsd</objURI>
|
||||||
|
<objURI>https://epp.tld.ee/schema/contact-ee-1.1.xsd</objURI>
|
||||||
|
<objURI>urn:ietf:params:xml:ns:host-1.0</objURI>
|
||||||
|
<objURI>urn:ietf:params:xml:ns:keyrelay-1.0</objURI>
|
||||||
|
</svcs>
|
||||||
|
</login>
|
||||||
|
</command>
|
||||||
|
</epp>
|
||||||
|
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_wrong_credentials
|
||||||
|
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>
|
||||||
|
<login>
|
||||||
|
<clID>non-existent</clID>
|
||||||
|
<pw>valid-but-wrong</pw>
|
||||||
|
<options>
|
||||||
|
<version>1.0</version>
|
||||||
|
<lang>en</lang>
|
||||||
|
</options>
|
||||||
|
<svcs>
|
||||||
|
<objURI>https://epp.tld.ee/schema/domain-eis-1.0.xsd</objURI>
|
||||||
|
<objURI>https://epp.tld.ee/schema/contact-ee-1.1.xsd</objURI>
|
||||||
|
<objURI>urn:ietf:params:xml:ns:host-1.0</objURI>
|
||||||
|
<objURI>urn:ietf:params:xml:ns:keyrelay-1.0</objURI>
|
||||||
|
</svcs>
|
||||||
|
</login>
|
||||||
|
</command>
|
||||||
|
</epp>
|
||||||
|
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
|
29
test/integration/epp/session/logout_test.rb
Normal file
29
test/integration/epp/session/logout_test.rb
Normal file
|
@ -0,0 +1,29 @@
|
||||||
|
require 'test_helper'
|
||||||
|
|
||||||
|
class EppLogoutTest < ActionDispatch::IntegrationTest
|
||||||
|
def setup
|
||||||
|
@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>
|
||||||
|
<logout/>
|
||||||
|
</command>
|
||||||
|
</epp>
|
||||||
|
XML
|
||||||
|
|
||||||
|
post '/epp/session/logout', { frame: @request_xml }, { 'HTTP_COOKIE' => 'session=api_bestnames' }
|
||||||
|
end
|
||||||
|
|
||||||
|
def test_success_response
|
||||||
|
assert Nokogiri::XML(response.body).at_css('result[code="1500"]')
|
||||||
|
assert_equal 1, Nokogiri::XML(response.body).css('result').size
|
||||||
|
end
|
||||||
|
|
||||||
|
def test_ends_current_session
|
||||||
|
assert_nil EppSession.find_by(session_id: 'api_bestnames')
|
||||||
|
end
|
||||||
|
|
||||||
|
def test_keeps_other_sessions_intact
|
||||||
|
assert EppSession.find_by(session_id: 'api_goodnames')
|
||||||
|
end
|
||||||
|
end
|
Loading…
Add table
Add a link
Reference in a new issue