Commit 88a27663cc9650b208e4f9ffadaba8da0f8d9f8d
1 parent
297813f6
Exists in
elasticsearch_api
Start tests with rspec for elasticsearch
Signed-off-by: Lucas Moura <lucas.moura128@gmail.com> Signed-off-by: Luciano Prestes <lucianopcbr@gmail.com> Signed-off-by: Macartur Sousa <macartur.sc@gmail.com>
Showing
3 changed files
with
182 additions
and
0 deletions
Show diff stats
@@ -0,0 +1,38 @@ | @@ -0,0 +1,38 @@ | ||
1 | +require 'rails_helper' | ||
2 | +require 'rake' | ||
3 | +require 'elasticsearch/extensions/test/cluster/tasks' | ||
4 | + | ||
5 | +RSpec.configure do |config| | ||
6 | + config.before :each, elasticsearch: true do | ||
7 | + puts '='*10, 'before', '='*10 | ||
8 | + Elasticsearch::Extensions::Test::Cluster.start() unless Elasticsearch::Extensions::Test::Cluster.running? | ||
9 | + end | ||
10 | + | ||
11 | + config.after :suite do | ||
12 | + puts '='*10, 'after', '='*10 | ||
13 | + Elasticsearch::Extensions::Test::Cluster.stop() if Elasticsearch::Extensions::Test::Cluster.running? | ||
14 | + end | ||
15 | +end | ||
16 | + | ||
17 | +RSpec.describe Community, type: :model, elasticsearch: true do | ||
18 | + before do | ||
19 | + Environment.create!(:name => 'Noosfero', :contact_email => 'noosfero@localhost.localdomain', :is_default => true) | ||
20 | + | ||
21 | + @environment = Environment.default | ||
22 | + @environment.enabled_plugins = ['ElasticsearchPlugin'] | ||
23 | + @environment.save! | ||
24 | + | ||
25 | + @community = Community.new(name: "Debian") | ||
26 | + @community.save! | ||
27 | + | ||
28 | + sleep 2 | ||
29 | + end | ||
30 | + | ||
31 | + it "assert true" do | ||
32 | + communities = Community.__elasticsearch__.search({}).records.to_a | ||
33 | + | ||
34 | + p communities | ||
35 | + | ||
36 | + expect(true).to be true | ||
37 | + end | ||
38 | +end |
@@ -0,0 +1,52 @@ | @@ -0,0 +1,52 @@ | ||
1 | +# This file is copied to spec/ when you run 'rails generate rspec:install' | ||
2 | +ENV['RAILS_ENV'] ||= 'test' | ||
3 | +require File.expand_path('../../config/environment', __FILE__) | ||
4 | +# Prevent database truncation if the environment is production | ||
5 | +abort("The Rails environment is running in production mode!") if Rails.env.production? | ||
6 | +require 'spec_helper' | ||
7 | +require 'rspec/rails' | ||
8 | +# Add additional requires below this line. Rails is not loaded until this point! | ||
9 | + | ||
10 | +# Requires supporting ruby files with custom matchers and macros, etc, in | ||
11 | +# spec/support/ and its subdirectories. Files matching `spec/**/*_spec.rb` are | ||
12 | +# run as spec files by default. This means that files in spec/support that end | ||
13 | +# in _spec.rb will both be required and run as specs, causing the specs to be | ||
14 | +# run twice. It is recommended that you do not name files matching this glob to | ||
15 | +# end with _spec.rb. You can configure this pattern with the --pattern | ||
16 | +# option on the command line or in ~/.rspec, .rspec or `.rspec-local`. | ||
17 | +# | ||
18 | +# The following line is provided for convenience purposes. It has the downside | ||
19 | +# of increasing the boot-up time by auto-requiring all files in the support | ||
20 | +# directory. Alternatively, in the individual `*_spec.rb` files, manually | ||
21 | +# require only the support files necessary. | ||
22 | +# | ||
23 | +# Dir[Rails.root.join('spec/support/**/*.rb')].each { |f| require f } | ||
24 | + | ||
25 | +# Checks for pending migrations before tests are run. | ||
26 | +# If you are not using ActiveRecord, you can remove this line. | ||
27 | +ActiveRecord::Migration.maintain_test_schema! | ||
28 | + | ||
29 | +RSpec.configure do |config| | ||
30 | + # Remove this line if you're not using ActiveRecord or ActiveRecord fixtures | ||
31 | + config.fixture_path = "#{::Rails.root}/spec/fixtures" | ||
32 | + | ||
33 | + # If you're not using ActiveRecord, or you'd prefer not to run each of your | ||
34 | + # examples within a transaction, remove the following line or assign false | ||
35 | + # instead of true. | ||
36 | + config.use_transactional_fixtures = true | ||
37 | + | ||
38 | + # RSpec Rails can automatically mix in different behaviours to your tests | ||
39 | + # based on their file location, for example enabling you to call `get` and | ||
40 | + # `post` in specs under `spec/controllers`. | ||
41 | + # | ||
42 | + # You can disable this behaviour by removing the line below, and instead | ||
43 | + # explicitly tag your specs with their type, e.g.: | ||
44 | + # | ||
45 | + # RSpec.describe UsersController, :type => :controller do | ||
46 | + # # ... | ||
47 | + # end | ||
48 | + # | ||
49 | + # The different available types are documented in the features, such as in | ||
50 | + # https://relishapp.com/rspec/rspec-rails/docs | ||
51 | + config.infer_spec_type_from_file_location! | ||
52 | +end |
@@ -0,0 +1,92 @@ | @@ -0,0 +1,92 @@ | ||
1 | +# This file was generated by the `rails generate rspec:install` command. Conventionally, all | ||
2 | +# specs live under a `spec` directory, which RSpec adds to the `$LOAD_PATH`. | ||
3 | +# The generated `.rspec` file contains `--require spec_helper` which will cause | ||
4 | +# this file to always be loaded, without a need to explicitly require it in any | ||
5 | +# files. | ||
6 | +# | ||
7 | +# Given that it is always loaded, you are encouraged to keep this file as | ||
8 | +# light-weight as possible. Requiring heavyweight dependencies from this file | ||
9 | +# will add to the boot time of your test suite on EVERY test run, even for an | ||
10 | +# individual file that may not need all of that loaded. Instead, consider making | ||
11 | +# a separate helper file that requires the additional dependencies and performs | ||
12 | +# the additional setup, and require it from the spec files that actually need | ||
13 | +# it. | ||
14 | +# | ||
15 | +# The `.rspec` file also contains a few flags that are not defaults but that | ||
16 | +# users commonly want. | ||
17 | +# | ||
18 | +# See http://rubydoc.info/gems/rspec-core/RSpec/Core/Configuration | ||
19 | +RSpec.configure do |config| | ||
20 | + # rspec-expectations config goes here. You can use an alternate | ||
21 | + # assertion/expectation library such as wrong or the stdlib/minitest | ||
22 | + # assertions if you prefer. | ||
23 | + config.expect_with :rspec do |expectations| | ||
24 | + # This option will default to `true` in RSpec 4. It makes the `description` | ||
25 | + # and `failure_message` of custom matchers include text for helper methods | ||
26 | + # defined using `chain`, e.g.: | ||
27 | + # be_bigger_than(2).and_smaller_than(4).description | ||
28 | + # # => "be bigger than 2 and smaller than 4" | ||
29 | + # ...rather than: | ||
30 | + # # => "be bigger than 2" | ||
31 | + expectations.include_chain_clauses_in_custom_matcher_descriptions = true | ||
32 | + end | ||
33 | + | ||
34 | + # rspec-mocks config goes here. You can use an alternate test double | ||
35 | + # library (such as bogus or mocha) by changing the `mock_with` option here. | ||
36 | + config.mock_with :rspec do |mocks| | ||
37 | + # Prevents you from mocking or stubbing a method that does not exist on | ||
38 | + # a real object. This is generally recommended, and will default to | ||
39 | + # `true` in RSpec 4. | ||
40 | + mocks.verify_partial_doubles = true | ||
41 | + end | ||
42 | + | ||
43 | +# The settings below are suggested to provide a good initial experience | ||
44 | +# with RSpec, but feel free to customize to your heart's content. | ||
45 | +=begin | ||
46 | + # These two settings work together to allow you to limit a spec run | ||
47 | + # to individual examples or groups you care about by tagging them with | ||
48 | + # `:focus` metadata. When nothing is tagged with `:focus`, all examples | ||
49 | + # get run. | ||
50 | + config.filter_run :focus | ||
51 | + config.run_all_when_everything_filtered = true | ||
52 | + | ||
53 | + # Allows RSpec to persist some state between runs in order to support | ||
54 | + # the `--only-failures` and `--next-failure` CLI options. We recommend | ||
55 | + # you configure your source control system to ignore this file. | ||
56 | + config.example_status_persistence_file_path = "spec/examples.txt" | ||
57 | + | ||
58 | + # Limits the available syntax to the non-monkey patched syntax that is | ||
59 | + # recommended. For more details, see: | ||
60 | + # - http://myronmars.to/n/dev-blog/2012/06/rspecs-new-expectation-syntax | ||
61 | + # - http://www.teaisaweso.me/blog/2013/05/27/rspecs-new-message-expectation-syntax/ | ||
62 | + # - http://myronmars.to/n/dev-blog/2014/05/notable-changes-in-rspec-3#new__config_option_to_disable_rspeccore_monkey_patching | ||
63 | + config.disable_monkey_patching! | ||
64 | + | ||
65 | + # Many RSpec users commonly either run the entire suite or an individual | ||
66 | + # file, and it's useful to allow more verbose output when running an | ||
67 | + # individual spec file. | ||
68 | + if config.files_to_run.one? | ||
69 | + # Use the documentation formatter for detailed output, | ||
70 | + # unless a formatter has already been configured | ||
71 | + # (e.g. via a command-line flag). | ||
72 | + config.default_formatter = 'doc' | ||
73 | + end | ||
74 | + | ||
75 | + # Print the 10 slowest examples and example groups at the | ||
76 | + # end of the spec run, to help surface which specs are running | ||
77 | + # particularly slow. | ||
78 | + config.profile_examples = 10 | ||
79 | + | ||
80 | + # Run specs in random order to surface order dependencies. If you find an | ||
81 | + # order dependency and want to debug it, you can fix the order by providing | ||
82 | + # the seed, which is printed after each run. | ||
83 | + # --seed 1234 | ||
84 | + config.order = :random | ||
85 | + | ||
86 | + # Seed global randomization in this process using the `--seed` CLI option. | ||
87 | + # Setting this allows you to use `--seed` to deterministically reproduce | ||
88 | + # test failures related to randomization by passing the same `--seed` value | ||
89 | + # as the one that triggered the failure. | ||
90 | + Kernel.srand config.seed | ||
91 | +=end | ||
92 | +end |