Skip to content

Instantly share code, notes, and snippets.

@marekkirejczyk
Created June 18, 2016 12:55
Show Gist options
  • Save marekkirejczyk/5a5d295cbb0d82a1daf57879418b379f to your computer and use it in GitHub Desktop.
Save marekkirejczyk/5a5d295cbb0d82a1daf57879418b379f to your computer and use it in GitHub Desktop.
Test for: ActiveRecord - no exception is thrown when invalid UUID value is supplied on update!
begin
require 'bundler/inline'
rescue LoadError => e
$stderr.puts 'Bundler version 1.10 or later is required. Please update your Bundler'
raise e
end
gemfile(true) do
source 'https://rubygems.org'
gem 'rails', github: 'rails/rails'
gem 'pg'
end
require 'active_record'
require 'minitest/autorun'
require 'logger'
ActiveRecord::Base.establish_connection(adapter: 'postgresql', database: 'uuid_issue')
ActiveRecord::Base.logger = Logger.new(STDOUT)
ActiveRecord::Schema.define do
drop_table :hypervisors if (data_source_exists? :hypervisors)
create_table :hypervisors do |t|
t.uuid :hypervisors, :blah
end
end
class Hypervisor < ActiveRecord::Base
end
class BugTest < Minitest::Test
def test_uuid_issue
Hypervisor.create! blah: SecureRandom.uuid
refute_nil Hypervisor.last.blah
Hypervisor.last.update!(blah: '1234')
refute_nil Hypervisor.last.blah
end
end
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment