Sha256: 924fb3a1be3fa7d7c2cf90b5b5fa684e66e19b76f66b1af9d3cd4580b6821878
Contents?: true
Size: 1.68 KB
Versions: 3
Compression:
Stored size: 1.68 KB
Contents
require 'active_record' require 'logger' ::ActiveRecord::Base.logger = Logger.new SPEC_ROOT.join('debug.log').to_s ::ActiveRecord::Migration.verbose = false module CryptKeeper class SensitiveData < ActiveRecord::Base; end module ConnectionHelpers def use_postgres before :all do ::ActiveRecord::Base.clear_active_connections! config = YAML.load_file SPEC_ROOT.join('database.yml') ::ActiveRecord::Base.establish_connection(config['postgres']) end end def use_mysql before :all do ::ActiveRecord::Base.clear_active_connections! config = YAML.load_file SPEC_ROOT.join('database.yml') ::ActiveRecord::Base.establish_connection(config['mysql']) end end def use_sqlite before :all do ::ActiveRecord::Base.clear_active_connections! ::ActiveRecord::Base.establish_connection(:adapter => 'sqlite3', :database => ':memory:') ::ActiveRecord::Schema.define do create_table :sensitive_data, :force => true do |t| t.column :name, :string t.column :storage, :text t.column :secret, :text end end end end end end module LoggedQueries # Logs the queries run inside the block, and return them. def logged_queries(&block) queries = [] subscriber = ActiveSupport::Notifications .subscribe('sql.active_record') do |name, started, finished, id, payload| queries << payload[:sql] end block.call queries ensure ActiveSupport::Notifications.unsubscribe(subscriber) end end RSpec.configure do |config| config.extend CryptKeeper::ConnectionHelpers config.include LoggedQueries end
Version data entries
3 entries across 3 versions & 1 rubygems
Version | Path |
---|---|
crypt_keeper-0.14.0.pre | spec/support/active_record.rb |
crypt_keeper-0.13.1 | spec/support/active_record.rb |
crypt_keeper-0.13.0 | spec/support/active_record.rb |