Sha256: b510c3ca7effbd8a19a33cc629e3eaf261a433006deec9fd98d57088d7bcd25b

Contents?: true

Size: 984 Bytes

Versions: 1

Compression:

Stored size: 984 Bytes

Contents

require 'spec_helper'
require 'my_obfuscate/database_helper_shared_examples'

describe MyObfuscate::Mysql 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/mysql_spec.rb