aboutsummaryrefslogtreecommitdiffstats
path: root/activerecord/test/cases/adapter_test.rb
diff options
context:
space:
mode:
authorMichael Schuerig <michael@schuerig.de>2009-04-05 01:19:29 +0200
committerMichael Koziarski <michael@koziarski.com>2009-06-26 16:52:54 +1200
commit53a3eaa8603cf6e7a3c007f327fe5d3bb68de1ee (patch)
treee1f8734cd8b0cc68b99a1acb7c4cde8435204713 /activerecord/test/cases/adapter_test.rb
parent18a97a66017452dbe6cf6881c69d7a7dedc7a7bd (diff)
downloadrails-53a3eaa8603cf6e7a3c007f327fe5d3bb68de1ee.tar.gz
rails-53a3eaa8603cf6e7a3c007f327fe5d3bb68de1ee.tar.bz2
rails-53a3eaa8603cf6e7a3c007f327fe5d3bb68de1ee.zip
Translate adapter errors that indicate a violated uniqueness constraint to ActiveRecord::RecordNotUnique exception derived from ActiveReecord::StatementInvalid.
Signed-off-by: Michael Koziarski <michael@koziarski.com>
Diffstat (limited to 'activerecord/test/cases/adapter_test.rb')
-rw-r--r--activerecord/test/cases/adapter_test.rb7
1 files changed, 7 insertions, 0 deletions
diff --git a/activerecord/test/cases/adapter_test.rb b/activerecord/test/cases/adapter_test.rb
index 04770646b2..8688fbee49 100644
--- a/activerecord/test/cases/adapter_test.rb
+++ b/activerecord/test/cases/adapter_test.rb
@@ -130,4 +130,11 @@ class AdapterTest < ActiveRecord::TestCase
assert_equal " LIMIT 1,7 OFFSET 7", @connection.add_limit_offset!("", :limit=>sql_inject, :offset=>7)
end
end
+
+ def test_uniqueness_violations_are_translated_to_specific_exception
+ @connection.execute "INSERT INTO subscribers(nick) VALUES('me')"
+ assert_raises(ActiveRecord::RecordNotUnique) do
+ @connection.execute "INSERT INTO subscribers(nick) VALUES('me')"
+ end
+ end
end