Sha256: 52e78ec340cffb34d5ea0ba02dd52414e0a0c189641627d2d51314a99341ca41
Contents?: true
Size: 1.69 KB
Versions: 3
Compression:
Stored size: 1.69 KB
Contents
require 'spec_helper' describe 'transformations' do before(:each) do SpecSeeds.setup_mysql end it "can run a native transformation" do plan = SpecPlan.new @rows = [] raw = SpecClient.mysql('forklift_test_destination') plan.do! { source = plan.connections[:mysql][:forklift_test_source_a] destination = plan.connections[:mysql][:forklift_test_destination] source.read('select * from `users`') {|data| destination.write(data, 'users') } expect( destination.columns("users").include?("full_name") ).to eql false transformation_file = "#{File.dirname(__FILE__)}/../template/spec_user_transformation.sql" destination.exec!(transformation_file) expect( destination.columns("users").include?("full_name") ).to eql true } plan.disconnect! end it "can run a ruby transformation" do plan = SpecPlan.new @rows = [] raw = SpecClient.mysql('forklift_test_destination') plan.do! { source = plan.connections[:mysql][:forklift_test_source_a] destination = plan.connections[:mysql][:forklift_test_destination] source.read('select * from `users`') {|data| destination.write(data, 'users') } expect( destination.columns("users").include?("full_name") ).to eql false transformation_file = "#{File.dirname(__FILE__)}/../template/spec_user_transformation.rb" destination.exec!(transformation_file, {prefix: 'my_prefix' }) expect( destination.columns("users").include?("full_name") ).to eql true data = destination.read('select * from `users` where email="evan@example.com"') expect( data.first[:full_name] ).to eql 'my_prefix Evan T' } plan.disconnect! end end
Version data entries
3 entries across 3 versions & 1 rubygems
Version | Path |
---|---|
forklift_etl-1.2.2 | spec/integration/transformations_spec.rb |
forklift_etl-1.2.1 | spec/integration/transformations_spec.rb |
forklift_etl-1.2.0 | spec/integration/transformations_spec.rb |