mirror of
https://github.com/internetee/registry.git
synced 2025-07-02 09:13:36 +02:00
Fix keyrelay tests
This commit is contained in:
parent
d468068b96
commit
07c3a58c26
4 changed files with 13 additions and 12 deletions
|
@ -6,8 +6,8 @@ class Epp::KeyrelaysController < ApplicationController
|
||||||
@domain = find_domain
|
@domain = find_domain
|
||||||
|
|
||||||
handle_errors(@domain) and return unless @domain
|
handle_errors(@domain) and return unless @domain
|
||||||
handle_errors(@domain) and return unless @domain.authenticate(parsed_frame.css('pw').text)
|
handle_errors(@domain) and return unless @domain.authenticate(params[:parsed_frame].css('pw').text)
|
||||||
handle_errors(@domain) and return unless @domain.keyrelay(parsed_frame, current_epp_user.registrar)
|
handle_errors(@domain) and return unless @domain.keyrelay(params[:parsed_frame], current_epp_user.registrar)
|
||||||
|
|
||||||
render_epp_response '/epp/shared/success'
|
render_epp_response '/epp/shared/success'
|
||||||
end
|
end
|
||||||
|
@ -18,7 +18,7 @@ class Epp::KeyrelaysController < ApplicationController
|
||||||
epp_request_valid?('pubKey', 'flags', 'protocol', 'alg', 'name', 'pw')
|
epp_request_valid?('pubKey', 'flags', 'protocol', 'alg', 'name', 'pw')
|
||||||
|
|
||||||
begin
|
begin
|
||||||
abs_datetime = parsed_frame.css('absolute').text
|
abs_datetime = params[:parsed_frame].css('absolute').text
|
||||||
abs_datetime = DateTime.parse(abs_datetime) if abs_datetime.present?
|
abs_datetime = DateTime.parse(abs_datetime) if abs_datetime.present?
|
||||||
rescue => _e
|
rescue => _e
|
||||||
epp_errors << {
|
epp_errors << {
|
||||||
|
@ -34,7 +34,7 @@ class Epp::KeyrelaysController < ApplicationController
|
||||||
# rubocop: enable Metrics/CyclomaticComplexity
|
# rubocop: enable Metrics/CyclomaticComplexity
|
||||||
|
|
||||||
def find_domain
|
def find_domain
|
||||||
domain_name = parsed_frame.css('name').text.strip.downcase
|
domain_name = params[:parsed_frame].css('name').text.strip.downcase
|
||||||
domain = Epp::EppDomain.find_by(name: domain_name)
|
domain = Epp::EppDomain.find_by(name: domain_name)
|
||||||
|
|
||||||
unless domain
|
unless domain
|
||||||
|
|
|
@ -2,8 +2,6 @@ class Epp::SessionsController < ApplicationController
|
||||||
include Epp::Common
|
include Epp::Common
|
||||||
layout false
|
layout false
|
||||||
|
|
||||||
private
|
|
||||||
|
|
||||||
def hello
|
def hello
|
||||||
render_epp_response('greeting')
|
render_epp_response('greeting')
|
||||||
end
|
end
|
||||||
|
|
|
@ -9,9 +9,12 @@ class EppConstraint
|
||||||
end
|
end
|
||||||
|
|
||||||
def matches?(request)
|
def matches?(request)
|
||||||
element = "//#{@type}:#{request.params[:action]}"
|
|
||||||
parsed_frame = Nokogiri::XML(request.params[:raw_frame])
|
parsed_frame = Nokogiri::XML(request.params[:raw_frame])
|
||||||
return false if parsed_frame.xpath("#{element}", OBJECT_TYPES[@type]).none?
|
|
||||||
|
unless [:keyrelay].include?(@type)
|
||||||
|
element = "//#{@type}:#{request.params[:action]}"
|
||||||
|
return false if parsed_frame.xpath("#{element}", OBJECT_TYPES[@type]).none?
|
||||||
|
end
|
||||||
|
|
||||||
request.params[:parsed_frame] = parsed_frame.remove_namespaces!
|
request.params[:parsed_frame] = parsed_frame.remove_namespaces!
|
||||||
request.params[:epp_object_type] = @type
|
request.params[:epp_object_type] = @type
|
||||||
|
@ -24,11 +27,11 @@ Rails.application.routes.draw do
|
||||||
post 'command/:action', controller: 'domains', constraints: EppConstraint.new(:domain)
|
post 'command/:action', controller: 'domains', constraints: EppConstraint.new(:domain)
|
||||||
post 'command/:action', controller: 'contacts', constraints: EppConstraint.new(:contact)
|
post 'command/:action', controller: 'contacts', constraints: EppConstraint.new(:contact)
|
||||||
post 'command/poll', to: 'polls#poll'
|
post 'command/poll', to: 'polls#poll'
|
||||||
post 'command/keyrelay', to: 'keyrelays#keyrelay'
|
post 'command/keyrelay', to: 'keyrelays#keyrelay', constraints: EppConstraint.new(:keyrelay)
|
||||||
|
|
||||||
match 'session/:command', to: 'sessions#proxy', defaults: { format: :xml }, via: [:get, :post]
|
match 'session/:action', controller: 'sessions', via: :all
|
||||||
# match 'command/:command', to: 'commands#proxy', defaults: { format: :xml }, via: [:post, :get]
|
# match 'command/:command', to: 'commands#proxy', defaults: { format: :xml }, via: [:post, :get]
|
||||||
get 'error/:command', to: 'errors#error', defaults: { format: :xml }
|
get 'error/:command', to: 'errors#error'
|
||||||
end
|
end
|
||||||
|
|
||||||
mount Repp::API => '/'
|
mount Repp::API => '/'
|
||||||
|
|
|
@ -52,7 +52,7 @@ describe 'EPP Keyrelay', epp: true do
|
||||||
expect(log[1].api_user_registrar).to eq('Elkdata')
|
expect(log[1].api_user_registrar).to eq('Elkdata')
|
||||||
|
|
||||||
expect(log[2].request_command).to eq('keyrelay')
|
expect(log[2].request_command).to eq('keyrelay')
|
||||||
expect(log[2].request_object).to eq('domain')
|
expect(log[2].request_object).to eq('keyrelay')
|
||||||
expect(log[2].request_successful).to eq(true)
|
expect(log[2].request_successful).to eq(true)
|
||||||
expect(log[2].api_user_name).to eq('elkdata')
|
expect(log[2].api_user_name).to eq('elkdata')
|
||||||
expect(log[2].api_user_registrar).to eq('Elkdata')
|
expect(log[2].api_user_registrar).to eq('Elkdata')
|
||||||
|
|
Loading…
Add table
Add a link
Reference in a new issue