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.
Files changed (41) hide show
  1. checksums.yaml +4 -4
  2. data/.rspec +0 -1
  3. data/.rubocop.yml +13 -1
  4. data/.rubocop_u2i.yml +9 -1
  5. data/.travis.yml +19 -0
  6. data/Guardfile +12 -1
  7. data/README.md +3 -1
  8. data/Rakefile +11 -2
  9. data/examples/{query.rb → lib/query.rb} +2 -5
  10. data/examples/{hive_tests_config.yml.example → rspec-hive.yml.example} +0 -0
  11. data/examples/spec/query_spec.rb +103 -0
  12. data/examples/spec/spec_helper.rb +22 -0
  13. data/lib/rspec/hive.rb +7 -2
  14. data/lib/rspec/hive/connection_delegator.rb +17 -5
  15. data/lib/rspec/hive/connector.rb +0 -1
  16. data/lib/rspec/hive/exponential_backoff.rb +15 -0
  17. data/lib/rspec/hive/matchers.rb +29 -0
  18. data/lib/rspec/hive/query_builder.rb +83 -0
  19. data/lib/rspec/hive/query_builder/null_strategy.rb +11 -0
  20. data/lib/rspec/hive/query_builder/row_transformer.rb +63 -0
  21. data/lib/rspec/hive/query_builder/type_faker.rb +36 -0
  22. data/lib/rspec/hive/query_builder/value_by_type_strategy.rb +13 -0
  23. data/lib/rspec/hive/query_builder_helper.rb +24 -0
  24. data/lib/rspec/{rake_tasks → hive}/railtie.rb +2 -2
  25. data/lib/rspec/{rake_tasks → hive/rake_tasks}/docker.rake +0 -0
  26. data/lib/rspec/hive/version.rb +1 -1
  27. data/lib/rspec/hive/with_hive_connection.rb +16 -10
  28. data/rspec-hive.gemspec +6 -4
  29. data/spec/.rubocop.yml +4 -0
  30. data/spec/lib/rspec/hive/configuration_spec.rb +9 -6
  31. data/spec/lib/rspec/hive/connection_delegator_spec.rb +1 -1
  32. data/spec/lib/rspec/hive/connector_spec.rb +1 -1
  33. data/spec/lib/rspec/hive/db_name_spec.rb +1 -1
  34. data/spec/lib/rspec/hive/matchers_spec.rb +94 -0
  35. data/spec/lib/rspec/hive/query_builder/row_transformer_spec.rb +37 -0
  36. data/spec/lib/rspec/hive/query_builder_spec.rb +143 -0
  37. data/spec/lib/rspec/hive_spec.rb +1 -1
  38. data/spec/spec_helper.rb +2 -62
  39. metadata +68 -24
  40. data/examples/config_helper.rb +0 -1
  41. data/examples/query_spec.rb +0 -41
@@ -1 +0,0 @@
1
- RSpec::Hive.configure(File.join(__dir__, 'config.yml'))
@@ -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