Sha256: a4f5a5541d28942d8166621758ab9e82ade67e6d093eb73174889e0df808067c

Contents?: true

Size: 977 Bytes

Versions: 1

Compression:

Stored size: 977 Bytes

Contents

require 'spec_helper'
require 'my_obfuscate/database_helper_shared_examples'

describe MyObfuscate::Postgres do

  it_behaves_like MyObfuscate::DatabaseHelperShared

  describe "#parse_insert_statement" do
    it "should return nil for other SQL syntaxes (MS SQL Server)" do
      subject.parse_insert_statement("INSERT [dbo].[TASKS] ([TaskID], [TaskName]) VALUES (61, N'Report Thing')").should be_nil
    end

    it "should return nil for MySQL non-insert statements" do
      subject.parse_insert_statement("CREATE TABLE `some_table`;").should be_nil
    end

    it "should return a hash of table name, column names for MySQL insert statements" do
      hash = subject.parse_insert_statement("INSERT INTO some_table (email, name, something, age) VALUES ('bob@honk.com','bob', 'some\\'thin,ge())lse1', 25),('joe@joe.com','joe', 'somethingelse2', 54);")
      hash.should == {:table_name => :some_table, :column_names => [:email, :name, :something, :age]}
    end
  end

end

Version data entries

1 entries across 1 versions & 1 rubygems

Version Path
my_obfuscate-0.4.2 spec/my_obfuscate/postgres_spec.rb