Sha256: bbbb415a9e5a559704e50927d312119cdc00043a06b56aee20aefd133f6a38e1
Contents?: true
Size: 1.85 KB
Versions: 4
Compression:
Stored size: 1.85 KB
Contents
require "pod4" require "pod4/pg_interface" require "pod4/encrypting" require "pg" require_relative '../fixtures/database' describe "(writing encrypted data via pg_interface)" do def db_setup(connect) client = PG.connect(connect) client.exec(%Q| drop table if exists medical; create table medical ( id serial primary key, nonce text, name text, ailment text );| ) ensure client.finish if client end def db_truncate(connect) client = PG.connect(connect) client.exec(%Q| truncate table medical restart identity; |) ensure client.finish if client end before(:all) do @connect_hash = DB[:pg] db_setup(@connect_hash) end before(:each) do db_truncate(@connect_hash) medical_model_class.set_interface medical_interface_class.new(@connect_hash) end let(:medical_interface_class) do Class.new Pod4::PgInterface do set_table :medical set_id_fld :id end end let(:medical_model_class) do Class.new Pod4::Model do include Pod4::Encrypting encrypted_columns :name, :ailment set_key "dflkasdgklajndgnalkghlgasdgasdghaalsdg" set_iv_column :nonce end end ##### it "writes encrypted data to the database" do m = medical_model_class.new m.name = "frank" m.ailment = "sore toe" expect{ m.create }.not_to raise_exception record = m.class.interface.list.first expect( record ).not_to be_nil end it "reads encrypted data back from the database" do m1 = medical_model_class.new m1.name = "roger" m1.ailment = "hiccups" m1.create m2 = medical_model_class.list.first expect( m2 ).not_to be_nil expect( m2.name ).to eq "roger" expect( m2.ailment ).to eq "hiccups" end end
Version data entries
4 entries across 4 versions & 1 rubygems
Version | Path |
---|---|
pod4-0.10.6 | spec/mri/pg_encrypting_spec.rb |
pod4-0.10.5 | spec/mri/pg_encrypting_spec.rb |
pod4-0.10.4 | spec/mri/pg_encrypting_spec.rb |
pod4-0.10.3 | spec/mri/pg_encrypting_spec.rb |