Ensure unique EPP session id

#700
This commit is contained in:
Artur Beljajev 2018-02-13 20:16:44 +02:00
parent 40c12380ee
commit 4ec4e50334
2 changed files with 15 additions and 1 deletions

View file

@ -2,5 +2,5 @@ class EppSession < ActiveRecord::Base
belongs_to :user, required: true
belongs_to :registrar
validates :session_id, presence: true
validates :session_id, uniqueness: true, presence: true
end

View file

@ -20,4 +20,18 @@ class EppSessionTest < ActiveSupport::TestCase
@epp_session.validate
assert @epp_session.invalid?
end
def test_invalid_if_persisted_record_with_the_same_session_id_exists
epp_session = EppSession.new(session_id: @epp_session.session_id, user: @epp_session.user)
epp_session.validate
assert epp_session.invalid?
end
def test_database_session_id_unique_constraint
epp_session = EppSession.new(session_id: @epp_session.session_id, user: @epp_session.user)
assert_raises ActiveRecord::RecordNotUnique do
epp_session.save(validate: false)
end
end
end