Sha256: 3ed4ac051346431a9a25f7d1a3db313debb12f2ffcb05fc8a290d4008f66b658
Contents?: true
Size: 1.67 KB
Versions: 1
Compression:
Stored size: 1.67 KB
Contents
require 'minitest/autorun' require './lib/amazon_athena/commands/alter_table_add_partition' describe AmazonAthena::Commands::AlterTableAddPartition do before do @klass = AmazonAthena::Commands::AlterTableAddPartition end it "builds a ddl statement" do partitions = [] partitions << AmazonAthena::Partition.new( location: 's3://mystorage/path/to/INDIA_14_May_2014', options: { dt: '2014-05-14', country: 'IN' } ) partitions << AmazonAthena::Partition.new( location: 's3://mystorage/path/to/INDIA_15_May_2014', options: { dt: '2014-05-15', country: 'IN' } ) cmd = @klass.new("mydb.mytable", partitions) expected = <<~SQL ALTER TABLE mydb.mytable ADD PARTITION (dt = '2014-05-14', country = 'IN') LOCATION 's3://mystorage/path/to/INDIA_14_May_2014' PARTITION (dt = '2014-05-15', country = 'IN') LOCATION 's3://mystorage/path/to/INDIA_15_May_2014'; SQL assert_equal expected.strip, cmd.statement end it "executes a query" do partitions = [] partitions << AmazonAthena::Partition.new( location: 's3://mystorage/path/to/INDIA_14_May_2014', options: { dt: '2014-05-14', country: 'IN' } ) cmd = @klass.new("mydb.mytable", partitions) sql = <<~SQL ALTER TABLE mydb.mytable ADD PARTITION (dt = '2014-05-14', country = 'IN') LOCATION 's3://mystorage/path/to/INDIA_14_May_2014'; SQL results = MiniTest::Mock.new results.expect(:raw_output, nil) conn = MiniTest::Mock.new conn.expect(:query, results, [sql.strip]) cmd = @klass.new("mydb.mytable", partitions) cmd.run(conn) end end
Version data entries
1 entries across 1 versions & 1 rubygems
Version | Path |
---|---|
athena-cli-0.1.0 | test/lib/amazon_athena/commands/alter_table_add_partition_test.rb |