rspec-hive 0.1.0 → 0.2.0
Sign up to get free protection for your applications and to get access to all the features.
- checksums.yaml +4 -4
- data/.rspec +0 -1
- data/.rubocop.yml +13 -1
- data/.rubocop_u2i.yml +9 -1
- data/.travis.yml +19 -0
- data/Guardfile +12 -1
- data/README.md +3 -1
- data/Rakefile +11 -2
- data/examples/{query.rb → lib/query.rb} +2 -5
- data/examples/{hive_tests_config.yml.example → rspec-hive.yml.example} +0 -0
- data/examples/spec/query_spec.rb +103 -0
- data/examples/spec/spec_helper.rb +22 -0
- data/lib/rspec/hive.rb +7 -2
- data/lib/rspec/hive/connection_delegator.rb +17 -5
- data/lib/rspec/hive/connector.rb +0 -1
- data/lib/rspec/hive/exponential_backoff.rb +15 -0
- data/lib/rspec/hive/matchers.rb +29 -0
- data/lib/rspec/hive/query_builder.rb +83 -0
- data/lib/rspec/hive/query_builder/null_strategy.rb +11 -0
- data/lib/rspec/hive/query_builder/row_transformer.rb +63 -0
- data/lib/rspec/hive/query_builder/type_faker.rb +36 -0
- data/lib/rspec/hive/query_builder/value_by_type_strategy.rb +13 -0
- data/lib/rspec/hive/query_builder_helper.rb +24 -0
- data/lib/rspec/{rake_tasks → hive}/railtie.rb +2 -2
- data/lib/rspec/{rake_tasks → hive/rake_tasks}/docker.rake +0 -0
- data/lib/rspec/hive/version.rb +1 -1
- data/lib/rspec/hive/with_hive_connection.rb +16 -10
- data/rspec-hive.gemspec +6 -4
- data/spec/.rubocop.yml +4 -0
- data/spec/lib/rspec/hive/configuration_spec.rb +9 -6
- data/spec/lib/rspec/hive/connection_delegator_spec.rb +1 -1
- data/spec/lib/rspec/hive/connector_spec.rb +1 -1
- data/spec/lib/rspec/hive/db_name_spec.rb +1 -1
- data/spec/lib/rspec/hive/matchers_spec.rb +94 -0
- data/spec/lib/rspec/hive/query_builder/row_transformer_spec.rb +37 -0
- data/spec/lib/rspec/hive/query_builder_spec.rb +143 -0
- data/spec/lib/rspec/hive_spec.rb +1 -1
- data/spec/spec_helper.rb +2 -62
- metadata +68 -24
- data/examples/config_helper.rb +0 -1
- data/examples/query_spec.rb +0 -41
data/examples/config_helper.rb
DELETED
@@ -1 +0,0 @@
|
|
1
|
-
RSpec::Hive.configure(File.join(__dir__, 'config.yml'))
|
data/examples/query_spec.rb
DELETED
@@ -1,41 +0,0 @@
|
|
1
|
-
require 'spec_helper'
|
2
|
-
require_relative 'query'
|
3
|
-
require_relative 'config_helper'
|
4
|
-
|
5
|
-
describe Query do
|
6
|
-
include RSpec::Hive::WithHiveConnection
|
7
|
-
|
8
|
-
subject { described_class.new }
|
9
|
-
|
10
|
-
describe 'hive query' do
|
11
|
-
let(:input_data) do
|
12
|
-
[
|
13
|
-
['Mikolaj', 'Cos', 1.23],
|
14
|
-
['Wojtek', 'Cos', 3.76]
|
15
|
-
]
|
16
|
-
end
|
17
|
-
|
18
|
-
before do
|
19
|
-
connection.execute(subject.table_schema.create_table_statement)
|
20
|
-
connection.load_into_table(subject.table_schema, input_data)
|
21
|
-
end
|
22
|
-
|
23
|
-
it 'query returns one row' do
|
24
|
-
query = "SELECT * FROM `#{subject.table_name}` WHERE amount > 3.2"
|
25
|
-
query_result = connection.fetch(query).first.values
|
26
|
-
expect(query_result).to contain_exactly(
|
27
|
-
a_string_matching('Wojtek'),
|
28
|
-
a_string_matching('Cos'),
|
29
|
-
a_string_matching(/3\.7.*/))
|
30
|
-
end
|
31
|
-
|
32
|
-
it 'query returns one row 2' do
|
33
|
-
query = "SELECT * FROM `#{subject.table_name}` WHERE amount < 3.2"
|
34
|
-
query_result = connection.fetch(query).first.values
|
35
|
-
expect(query_result).to contain_exactly(
|
36
|
-
a_string_matching('Mikolaj'),
|
37
|
-
a_string_matching('Cos'),
|
38
|
-
a_string_matching(/1\.2.*/))
|
39
|
-
end
|
40
|
-
end
|
41
|
-
end
|