PageRenderTime 43ms CodeModel.GetById 16ms RepoModel.GetById 0ms app.codeStats 0ms

/plugins/solr/vendor/plugins/acts_as_solr_reloaded/test/test_helper.rb

https://gitlab.com/naneves/noosfero
Ruby | 85 lines | 66 code | 18 blank | 1 comment | 5 complexity | 94b85f9fd9c883dcfdc8f92a36ff2cbe MD5 | raw file
Possible License(s): Apache-2.0, AGPL-3.0, MIT, LGPL-2.1, BSD-3-Clause
  1. require 'rubygems'
  2. require 'test/unit'
  3. require 'active_record'
  4. require 'active_record/fixtures'
  5. require 'shoulda'
  6. require 'mocha'
  7. require 'ruby-debug'
  8. begin
  9. require 'active_support/test_case'
  10. rescue
  11. end
  12. require 'mongo_mapper'
  13. class Rails
  14. def self.root
  15. Rails.root
  16. end
  17. def self.env
  18. RAILS_ENV
  19. end
  20. end
  21. MongoMapper.database = "acts_as_solr_reloaded-test"
  22. RAILS_ENV = 'test' unless defined? RAILS_ENV
  23. ENV["RAILS_ENV"] = "test"
  24. require File.expand_path(File.dirname(__FILE__) + '/../config/solr_environment')
  25. require File.expand_path(File.dirname(__FILE__) + '/../lib/acts_as_solr')
  26. ActiveRecord::Base.logger = Logger.new('/dev/null')
  27. # Load Models
  28. models_dir = File.join(File.dirname( __FILE__ ), 'models')
  29. require "#{models_dir}/book.rb"
  30. Dir[ models_dir + '/*.rb'].each { |m| require m }
  31. if defined?(ActiveSupport::TestCase)
  32. class ActiveSupport::TestCase
  33. include ActiveRecord::TestFixtures
  34. self.fixture_path = File.dirname(__FILE__) + "/fixtures/"
  35. end unless ActiveSupport::TestCase.respond_to?(:fixture_path=)
  36. else
  37. Test::Unit::TestCase.fixture_path = File.dirname(__FILE__) + "/fixtures/"
  38. end
  39. class Test::Unit::TestCase
  40. def self.fixtures(*table_names)
  41. fixture_path = defined?(ActiveSupport::TestCase) ? ActiveSupport::TestCase.fixture_path : Test::Unit::TestCase.fixture_path
  42. if block_given?
  43. Fixtures.create_fixtures(fixture_path, table_names) { yield }
  44. else
  45. Fixtures.create_fixtures(fixture_path, table_names)
  46. end
  47. table_names.each do |table_name|
  48. clear_from_solr(table_name)
  49. klass = instance_eval table_name.to_s.capitalize.singularize
  50. klass.find(:all).each{|content| content.solr_save}
  51. end
  52. clear_from_solr(:novels)
  53. end
  54. private
  55. def self.clear_from_solr(table_name)
  56. ActsAsSolr::Post.execute(Solr::Request::Delete.new(:query => "type_s:#{table_name.to_s.capitalize.singularize}"))
  57. end
  58. def assert_equivalent(enum1, enum2)
  59. assert( ((enum1 - enum2) == []) && ((enum2 - enum1) == []), "<#{enum1.inspect}> expected to be equivalent to <#{enum2.inspect}>")
  60. end
  61. def assert_includes(array, element)
  62. assert(array.include?(element), "<#{array.inspect}> expected to include <#{element.inspect}>")
  63. end
  64. def assert_not_includes(array, element)
  65. assert(!array.include?(element), "<#{array.inspect}> expected to NOT include <#{element.inspect}>")
  66. end
  67. end