Remove extra attribute

Registrar can be queried from user

#700
This commit is contained in:
Artur Beljajev 2018-02-12 15:50:12 +02:00
parent b11306eea3
commit fa6edab62a
34 changed files with 38 additions and 38 deletions

View file

@ -94,7 +94,6 @@ class Epp::SessionsController < EppController
epp_session = EppSession.new
epp_session.session_id = cookies[:session]
epp_session.user = @api_user
epp_session.registrar = @api_user.registrar
epp_session.save!
render_epp_response('login_success')
else
@ -117,11 +116,10 @@ class Epp::SessionsController < EppController
end
def connection_limit_ok?
c = EppSession.where(
'registrar_id = ? AND updated_at >= ?', @api_user.registrar_id, Time.zone.now - 1.second
).count
epp_session_count = EppSession.where(user_id: @api_user.registrar.api_users.ids)
.where('updated_at >= ?', Time.zone.now - 1.second).count
return false if c >= 4
return false if epp_session_count >= 4
true
end

View file

@ -0,0 +1,5 @@
class RemoveEppSessionsRegistrarId < ActiveRecord::Migration
def change
remove_column :epp_sessions, :registrar_id, :integer
end
end

View file

@ -1053,7 +1053,6 @@ CREATE TABLE epp_sessions (
session_id character varying NOT NULL,
created_at timestamp without time zone,
updated_at timestamp without time zone,
registrar_id integer,
user_id integer
);
@ -5086,3 +5085,5 @@ INSERT INTO schema_migrations (version) VALUES ('20180207071528');
INSERT INTO schema_migrations (version) VALUES ('20180207072139');
INSERT INTO schema_migrations (version) VALUES ('20180212123810');

View file

@ -51,7 +51,6 @@ namespace :dev do
epp_session = EppSession.new
epp_session.session_id = 'test'
epp_session.registrar = registrar
epp_session.user = api_user
epp_session.save!

View file

@ -1,7 +1,6 @@
FactoryBot.define do
factory :epp_session do
sequence(:session_id) { |n| "test#{n}" }
registrar
association :user, factory: :api_user
end
end

View file

@ -3,7 +3,7 @@ require 'rails_helper'
RSpec.describe 'EPP contact:create' do
let(:registrar) { create(:registrar) }
let(:user) { create(:api_user_epp, registrar: registrar) }
let(:session_id) { create(:epp_session, user: user, registrar: registrar).session_id }
let(:session_id) { create(:epp_session, user: user).session_id }
let(:request) { post '/epp/command/create', { frame: request_xml }, 'HTTP_COOKIE' => "session=#{session_id}" }
before do

View file

@ -4,7 +4,7 @@ require_relative '../shared/phone'
RSpec.describe 'EPP contact:create' do
let(:registrar) { create(:registrar) }
let(:user) { create(:api_user_epp, registrar: registrar) }
let(:session_id) { create(:epp_session, user: user, registrar: registrar).session_id }
let(:session_id) { create(:epp_session, user: user).session_id }
let(:request) { post '/epp/command/create', { frame: request_xml }, 'HTTP_COOKIE' => "session=#{session_id}" }
let(:request_xml) { <<-XML
<?xml version="1.0" encoding="UTF-8" standalone="no"?>

View file

@ -3,7 +3,7 @@ require 'rails_helper'
RSpec.describe 'EPP contact:create' do
let(:registrar) { create(:registrar) }
let(:user) { create(:api_user_epp, registrar: registrar) }
let(:session_id) { create(:epp_session, user: user, registrar: registrar).session_id }
let(:session_id) { create(:epp_session, user: user).session_id }
let(:request_xml_with_address) { '<?xml version="1.0" encoding="UTF-8" standalone="no"?>
<epp xmlns="https://epp.tld.ee/schema/epp-ee-1.0.xsd">
<command>

View file

@ -1,7 +1,7 @@
require 'rails_helper'
RSpec.describe 'EPP contact:delete' do
let(:session_id) { create(:epp_session, user: user, registrar: registrar).session_id }
let(:session_id) { create(:epp_session, user: user).session_id }
let(:user) { create(:api_user, registrar: registrar) }
let(:registrar) { create(:registrar) }
let!(:registrant) { create(:registrant, registrar: registrar, code: 'TEST') }

View file

@ -3,7 +3,7 @@ require 'rails_helper'
RSpec.describe 'EPP contact:update' do
let(:registrar) { create(:registrar) }
let(:user) { create(:api_user_epp, registrar: registrar) }
let(:session_id) { create(:epp_session, user: user, registrar: registrar).session_id }
let(:session_id) { create(:epp_session, user: user).session_id }
let(:request_xml) { '<?xml version="1.0" encoding="UTF-8" standalone="no"?>
<epp xmlns="https://epp.tld.ee/schema/epp-ee-1.0.xsd">
<command>

View file

@ -5,7 +5,7 @@ require 'rails_helper'
RSpec.describe 'EPP contact:update' do
let(:registrar) { create(:registrar) }
let(:user) { create(:api_user_epp, registrar: registrar) }
let(:session_id) { create(:epp_session, user: user, registrar: registrar).session_id }
let(:session_id) { create(:epp_session, user: user).session_id }
let(:ident) { contact.identifier }
let(:request) { post '/epp/command/update', { frame: request_xml }, 'HTTP_COOKIE' => "session=#{session_id}" }
let(:request_xml) { <<-XML

View file

@ -4,7 +4,7 @@ require_relative '../shared/phone'
RSpec.describe 'EPP contact:update' do
let(:registrar) { create(:registrar) }
let(:user) { create(:api_user_epp, registrar: registrar) }
let(:session_id) { create(:epp_session, user: user, registrar: registrar).session_id }
let(:session_id) { create(:epp_session, user: user).session_id }
let!(:contact) { create(:contact, code: 'TEST') }
let(:request) { post '/epp/command/update', { frame: request_xml }, 'HTTP_COOKIE' => "session=#{session_id}" }
let(:request_xml) { <<-XML

View file

@ -3,7 +3,7 @@ require 'rails_helper'
RSpec.describe 'EPP contact:update' do
let(:registrar) { create(:registrar) }
let(:user) { create(:api_user_epp, registrar: registrar) }
let(:session_id) { create(:epp_session, user: user, registrar: registrar).session_id }
let(:session_id) { create(:epp_session, user: user).session_id }
let(:request_xml_with_address) { '<?xml version="1.0" encoding="UTF-8" standalone="no"?>
<epp xmlns="https://epp.tld.ee/schema/epp-ee-1.0.xsd">
<command>

View file

@ -1,7 +1,7 @@
require 'rails_helper'
RSpec.describe 'EPP domain:create', settings: false do
let(:session_id) { create(:epp_session, user: user, registrar: registrar).session_id }
let(:session_id) { create(:epp_session, user: user).session_id }
let(:request) { post '/epp/command/create', { frame: request_xml }, 'HTTP_COOKIE' => "session=#{session_id}" }
let!(:user) { create(:api_user_epp, registrar: registrar) }
let!(:contact) { create(:contact, code: 'test') }

View file

@ -1,7 +1,7 @@
require 'rails_helper'
RSpec.describe 'EPP domain:create', settings: false do
let(:session_id) { create(:epp_session, user: user, registrar: registrar).session_id }
let(:session_id) { create(:epp_session, user: user).session_id }
let(:request) { post '/epp/command/create', { frame: request_xml }, 'HTTP_COOKIE' => "session=#{session_id}" }
let!(:user) { create(:api_user_epp, registrar: registrar) }
let!(:contact) { create(:contact, code: 'test') }

View file

@ -1,7 +1,7 @@
require 'rails_helper'
RSpec.describe 'EPP domain:create', settings: false do
let(:session_id) { create(:epp_session, user: user, registrar: registrar).session_id }
let(:session_id) { create(:epp_session, user: user).session_id }
let(:request) { post '/epp/command/create', { frame: request_xml }, 'HTTP_COOKIE' => "session=#{session_id}" }
let!(:registrar) { create(:registrar_with_unlimited_balance) }
let!(:user) { create(:api_user_epp, registrar: registrar) }

View file

@ -1,7 +1,7 @@
require 'rails_helper'
RSpec.describe 'EPP domain:create', settings: false do
let(:session_id) { create(:epp_session, user: user, registrar: registrar).session_id }
let(:session_id) { create(:epp_session, user: user).session_id }
let(:request) { post '/epp/command/create', { frame: request_xml }, 'HTTP_COOKIE' => "session=#{session_id}" }
let!(:user) { create(:api_user_epp, registrar: registrar) }
let!(:contact) { create(:contact, code: 'test') }

View file

@ -1,7 +1,7 @@
require 'rails_helper'
RSpec.describe 'EPP domain:create', settings: false do
let(:session_id) { create(:epp_session, user: user, registrar: registrar).session_id }
let(:session_id) { create(:epp_session, user: user).session_id }
let(:request) { post '/epp/command/create', { frame: request_xml }, 'HTTP_COOKIE' => "session=#{session_id}" }
let!(:user) { create(:api_user_epp, registrar: registrar) }
let!(:contact) { create(:contact, code: 'test') }

View file

@ -1,7 +1,7 @@
require 'rails_helper'
RSpec.describe 'EPP domain:create', settings: false do
let(:session_id) { create(:epp_session, user: user, registrar: registrar).session_id }
let(:session_id) { create(:epp_session, user: user).session_id }
let(:request) { post '/epp/command/create', { frame: request_xml }, 'HTTP_COOKIE' => "session=#{session_id}" }
let!(:registrar) { create(:registrar_with_unlimited_balance) }
let!(:user) { create(:api_user_epp, registrar: registrar) }

View file

@ -3,7 +3,7 @@ require 'rails_helper'
RSpec.describe 'EPP domain:delete' do
let(:registrar) { create(:registrar) }
let(:user) { create(:api_user_epp, registrar: registrar) }
let(:session_id) { create(:epp_session, user: user, registrar: registrar).session_id }
let(:session_id) { create(:epp_session, user: user).session_id }
let(:request_xml) { <<-XML
<?xml version="1.0" encoding="UTF-8" standalone="no"?>
<epp xmlns="https://epp.tld.ee/schema/epp-ee-1.0.xsd">

View file

@ -1,7 +1,7 @@
require 'rails_helper'
RSpec.describe 'EPP domain:renew' do
let(:session_id) { create(:epp_session, user: user, registrar: registrar).session_id }
let(:session_id) { create(:epp_session, user: user).session_id }
let(:request) { post '/epp/command/renew', { frame: request_xml }, 'HTTP_COOKIE' => "session=#{session_id}" }
let!(:user) { create(:api_user_epp, registrar: registrar) }
let!(:zone) { create(:zone, origin: 'test') }

View file

@ -1,7 +1,7 @@
require 'rails_helper'
RSpec.describe 'EPP domain:renew', settings: false do
let(:session_id) { create(:epp_session, user: user, registrar: registrar).session_id }
let(:session_id) { create(:epp_session, user: user).session_id }
let(:request) { post '/epp/command/renew', { frame: request_xml }, 'HTTP_COOKIE' => "session=#{session_id}" }
let!(:user) { create(:api_user_epp, registrar: registrar) }
let!(:zone) { create(:zone, origin: 'test') }

View file

@ -1,7 +1,7 @@
require 'rails_helper'
RSpec.describe 'EPP domain:renew' do
let(:session_id) { create(:epp_session, user: user, registrar: registrar).session_id }
let(:session_id) { create(:epp_session, user: user).session_id }
let(:request) { post '/epp/command/renew', { frame: request_xml }, 'HTTP_COOKIE' => "session=#{session_id}" }
let!(:user) { create(:api_user_epp, registrar: registrar) }
let!(:registrar) { create(:registrar_with_unlimited_balance) }

View file

@ -1,7 +1,7 @@
require 'rails_helper'
RSpec.describe 'EPP domain:renew' do
let(:session_id) { create(:epp_session, user: user, registrar: registrar).session_id }
let(:session_id) { create(:epp_session, user: user).session_id }
let(:user) { create(:api_user_epp, registrar: registrar) }
let(:registrar) { create(:registrar_with_unlimited_balance) }
let!(:zone) { create(:zone, origin: 'test') }

View file

@ -1,7 +1,7 @@
require 'rails_helper'
RSpec.describe 'EPP domain:renew', settings: false do
let(:session_id) { create(:epp_session, user: user, registrar: registrar).session_id }
let(:session_id) { create(:epp_session, user: user).session_id }
let(:request) { post '/epp/command/renew', { frame: request_xml }, 'HTTP_COOKIE' => "session=#{session_id}" }
let!(:user) { create(:api_user_epp, registrar: registrar) }
let!(:zone) { create(:zone, origin: 'test') }

View file

@ -1,7 +1,7 @@
require 'rails_helper'
RSpec.describe 'EPP domain:renew', settings: false do
let(:session_id) { create(:epp_session, user: user, registrar: registrar).session_id }
let(:session_id) { create(:epp_session, user: user).session_id }
let(:request) { post '/epp/command/renew', { frame: request_xml }, 'HTTP_COOKIE' => "session=#{session_id}" }
let!(:user) { create(:api_user_epp, registrar: registrar) }
let!(:zone) { create(:zone, origin: 'test') }

View file

@ -3,7 +3,7 @@ require 'rails_helper'
RSpec.describe 'EPP domain:transfer' do
let(:registrar) { create(:registrar) }
let(:user) { create(:api_user_epp, registrar: registrar) }
let(:session_id) { create(:epp_session, user: user, registrar: registrar).session_id }
let(:session_id) { create(:epp_session, user: user).session_id }
let(:request_xml) { <<-XML
<?xml version="1.0" encoding="UTF-8" standalone="no"?>
<epp xmlns="https://epp.tld.ee/schema/epp-ee-1.0.xsd">

View file

@ -3,7 +3,7 @@ require 'rails_helper'
RSpec.describe 'EPP domain:update' do
let(:registrar) { create(:registrar) }
let(:user) { create(:api_user_epp, registrar: registrar) }
let(:session_id) { create(:epp_session, user: user, registrar: registrar).session_id }
let(:session_id) { create(:epp_session, user: user).session_id }
let(:request_xml) { <<-XML
<?xml version="1.0" encoding="UTF-8" standalone="no"?>
<epp xmlns="https://epp.tld.ee/schema/epp-ee-1.0.xsd">

View file

@ -3,7 +3,7 @@ require 'rails_helper'
RSpec.describe 'EPP domain:update' do
let(:registrar) { create(:registrar) }
let(:user) { create(:api_user_epp, registrar: registrar) }
let(:session_id) { create(:epp_session, user: user, registrar: registrar).session_id }
let(:session_id) { create(:epp_session, user: user).session_id }
let!(:domain) { create(:domain, name: 'test.com') }
subject(:response_xml) { Nokogiri::XML(response.body) }
subject(:response_code) { response_xml.xpath('//xmlns:result').first['code'] }

View file

@ -3,7 +3,7 @@ require 'rails_helper'
RSpec.describe 'EPP domain:update' do
let(:registrar) { create(:registrar) }
let(:user) { create(:api_user_epp, registrar: registrar) }
let(:session_id) { create(:epp_session, user: user, registrar: registrar).session_id }
let(:session_id) { create(:epp_session, user: user).session_id }
subject(:response_xml) { Nokogiri::XML(response.body) }
subject(:response_code) { response_xml.xpath('//xmlns:result').first['code'] }
subject(:response_description) { response_xml.css('result msg').text }

View file

@ -3,7 +3,7 @@ require 'rails_helper'
RSpec.describe 'EPP domain:update' do
let(:registrar) { create(:registrar) }
let(:user) { create(:api_user_epp, registrar: registrar) }
let(:session_id) { create(:epp_session, user: user, registrar: registrar).session_id }
let(:session_id) { create(:epp_session, user: user).session_id }
let(:request) { post '/epp/command/update', { frame: request_xml }, 'HTTP_COOKIE' => "session=#{session_id}" }
let!(:domain) { create(:domain, name: 'test.com', registrant: registrant) }

View file

@ -3,7 +3,7 @@ require 'rails_helper'
RSpec.describe 'EPP domain:update' do
let(:registrar) { create(:registrar) }
let(:user) { create(:api_user_epp, registrar: registrar) }
let(:session_id) { create(:epp_session, user: user, registrar: registrar).session_id }
let(:session_id) { create(:epp_session, user: user).session_id }
let(:request) { post '/epp/command/update', { frame: request_xml }, 'HTTP_COOKIE' => "session=#{session_id}" }
let!(:registrant) { create(:registrant, code: 'old-code') }
let!(:domain) { create(:domain, name: 'test.com', registrant: registrant) }

View file

@ -3,7 +3,7 @@ require 'rails_helper'
RSpec.describe 'EPP domain:update' do
let(:registrar) { create(:registrar) }
let(:user) { create(:api_user_epp, registrar: registrar) }
let(:session_id) { create(:epp_session, user: user, registrar: registrar).session_id }
let(:session_id) { create(:epp_session, user: user).session_id }
let(:request) { post '/epp/command/update', { frame: request_xml }, 'HTTP_COOKIE' => "session=#{session_id}" }
let(:request_xml) { <<-XML
<?xml version="1.0" encoding="UTF-8" standalone="no"?>

View file

@ -1,9 +1,7 @@
api_bestnames:
session_id: 1
user: api_bestnames
registrar: bestnames
api_goodnames:
session_id: 2
user: api_goodnames
registrar: goodnames