mirror of
https://github.com/internetee/registry.git
synced 2025-05-19 18:59:38 +02:00
Refactor + dummy domain spec
This commit is contained in:
parent
dad57ffa8b
commit
9f30ec3cc7
3 changed files with 34 additions and 11 deletions
14
spec/epp/domain_spec.rb
Normal file
14
spec/epp/domain_spec.rb
Normal file
|
@ -0,0 +1,14 @@
|
||||||
|
require 'rails_helper'
|
||||||
|
|
||||||
|
describe 'EPP Domain', epp: true do
|
||||||
|
let(:server) { server = Epp::Server.new({server: 'localhost', tag: 'test', password: 'test'}) }
|
||||||
|
|
||||||
|
context 'with valid user' do
|
||||||
|
before(:each) { Fabricate(:epp_user) }
|
||||||
|
|
||||||
|
it 'creates a domain' do
|
||||||
|
response = epp_request('create_domain.xml')
|
||||||
|
end
|
||||||
|
|
||||||
|
end
|
||||||
|
end
|
|
@ -16,18 +16,18 @@ describe 'EPP Session', epp: true do
|
||||||
after(:each) { server.close_connection }
|
after(:each) { server.close_connection }
|
||||||
|
|
||||||
it 'does not log in with invalid user' do
|
it 'does not log in with invalid user' do
|
||||||
response = epp_request('login.xml')
|
response = epp_plain_request('login.xml')
|
||||||
expect(response[:result_code]).to eq('2501')
|
expect(response[:result_code]).to eq('2501')
|
||||||
expect(response[:msg]).to eq('Authentication error; server closing connection')
|
expect(response[:msg]).to eq('Authentication error; server closing connection')
|
||||||
|
|
||||||
Fabricate(:epp_user, active: false)
|
Fabricate(:epp_user, active: false)
|
||||||
|
|
||||||
response = epp_request('login.xml')
|
response = epp_plain_request('login.xml')
|
||||||
expect(response[:result_code]).to eq('2501')
|
expect(response[:result_code]).to eq('2501')
|
||||||
end
|
end
|
||||||
|
|
||||||
it 'prohibits further actions unless logged in' do
|
it 'prohibits further actions unless logged in' do
|
||||||
response = epp_request('create_domain.xml')
|
response = epp_plain_request('create_domain.xml')
|
||||||
expect(response[:result_code]).to eq('2002')
|
expect(response[:result_code]).to eq('2002')
|
||||||
expect(response[:msg]).to eq('You need to login first.')
|
expect(response[:msg]).to eq('You need to login first.')
|
||||||
end
|
end
|
||||||
|
@ -36,23 +36,23 @@ describe 'EPP Session', epp: true do
|
||||||
before(:each) { Fabricate(:epp_user) }
|
before(:each) { Fabricate(:epp_user) }
|
||||||
|
|
||||||
it 'logs in epp user' do
|
it 'logs in epp user' do
|
||||||
response = epp_request('login.xml')
|
response = epp_plain_request('login.xml')
|
||||||
expect(response[:result_code]).to eq('1000')
|
expect(response[:result_code]).to eq('1000')
|
||||||
expect(response[:msg]).to eq('Command completed successfully')
|
expect(response[:msg]).to eq('Command completed successfully')
|
||||||
end
|
end
|
||||||
|
|
||||||
it 'logs out epp user' do
|
it 'logs out epp user' do
|
||||||
epp_request('login.xml')
|
epp_plain_request('login.xml')
|
||||||
|
|
||||||
response = epp_request('logout.xml')
|
response = epp_plain_request('logout.xml')
|
||||||
expect(response[:result_code]).to eq('1500')
|
expect(response[:result_code]).to eq('1500')
|
||||||
expect(response[:msg]).to eq('Command completed successfully; ending session')
|
expect(response[:msg]).to eq('Command completed successfully; ending session')
|
||||||
end
|
end
|
||||||
|
|
||||||
it 'does not log in twice' do
|
it 'does not log in twice' do
|
||||||
epp_request('login.xml')
|
epp_plain_request('login.xml')
|
||||||
|
|
||||||
response = epp_request('login.xml')
|
response = epp_plain_request('login.xml')
|
||||||
expect(response[:result_code]).to eq('2002')
|
expect(response[:result_code]).to eq('2002')
|
||||||
expect(response[:msg]).to match(/Already logged in. Use/)
|
expect(response[:msg]).to match(/Already logged in. Use/)
|
||||||
end
|
end
|
||||||
|
|
|
@ -3,12 +3,21 @@ module Epp
|
||||||
File.read("spec/epp/requests/#{filename}")
|
File.read("spec/epp/requests/#{filename}")
|
||||||
end
|
end
|
||||||
|
|
||||||
|
# handles connection and login automatically
|
||||||
def epp_request filename
|
def epp_request filename
|
||||||
response = Nokogiri::XML(server.send_request(read_body(filename)))
|
res = Nokogiri::XML(server.request(read_body(filename)))
|
||||||
|
parse_response(res)
|
||||||
|
end
|
||||||
|
|
||||||
|
def epp_plain_request filename
|
||||||
|
res = Nokogiri::XML(server.send_request(read_body(filename)))
|
||||||
|
parse_response(res)
|
||||||
|
end
|
||||||
|
|
||||||
|
def parse_response res
|
||||||
{
|
{
|
||||||
result_code: response.css('epp response result').first[:code],
|
result_code: res.css('epp response result').first[:code],
|
||||||
msg: response.css('epp response result msg').text
|
msg: res.css('epp response result msg').text
|
||||||
}
|
}
|
||||||
end
|
end
|
||||||
|
|
||||||
|
|
Loading…
Add table
Add a link
Reference in a new issue