From 9df682843f87972f84b758b6314e9af10cb86f59 Mon Sep 17 00:00:00 2001 From: Tute Costa Date: Tue, 5 May 2015 00:24:42 -0400 Subject: [PATCH] Add ORM specifics to spec --- .travis.yml | 1 - Gemfile | 8 -------- Rakefile | 2 +- doorkeeper | 2 +- doorkeeper-mongodb.gemspec | 3 --- gemfiles/Gemfile.common.rb | 2 +- spec/dummy/app/models/user.rb | 28 ++++++++++++++++++++++++++++ spec/dummy/config/mongo.yml | 11 +++++++++++ spec/dummy/config/mongoid2.yml | 9 +++++++++ spec/dummy/config/mongoid3.yml | 18 ++++++++++++++++++ spec/dummy/config/mongoid4.yml | 19 +++++++++++++++++++ spec/support/orm/mongo_mapper.rb | 10 ++++++++++ spec/support/orm/mongoid.rb | 10 ++++++++++ spec/support/orm/mongoid2.rb | 1 + spec/support/orm/mongoid3.rb | 1 + spec/support/orm/mongoid4.rb | 1 + 16 files changed, 111 insertions(+), 15 deletions(-) delete mode 100644 Gemfile create mode 100644 spec/dummy/app/models/user.rb create mode 100644 spec/dummy/config/mongo.yml create mode 100644 spec/dummy/config/mongoid2.yml create mode 100644 spec/dummy/config/mongoid3.yml create mode 100644 spec/dummy/config/mongoid4.yml create mode 100644 spec/support/orm/mongo_mapper.rb create mode 100644 spec/support/orm/mongoid.rb create mode 100644 spec/support/orm/mongoid2.rb create mode 100644 spec/support/orm/mongoid3.rb create mode 100644 spec/support/orm/mongoid4.rb diff --git a/.travis.yml b/.travis.yml index 3b5082f..23dff69 100644 --- a/.travis.yml +++ b/.travis.yml @@ -13,7 +13,6 @@ env: - rails=4.2.0 gemfile: - - Gemfile - gemfiles/Gemfile.mongoid2.rb - gemfiles/Gemfile.mongoid3.rb - gemfiles/Gemfile.mongoid4.rb diff --git a/Gemfile b/Gemfile deleted file mode 100644 index 00bdf63..0000000 --- a/Gemfile +++ /dev/null @@ -1,8 +0,0 @@ -ENV['rails'] ||= '4.2.0' - -source 'https://rubygems.org' - -gem 'rails', "~> #{ENV['rails']}" -gem "doorkeeper" - -gemspec diff --git a/Rakefile b/Rakefile index db23caf..b84b07d 100644 --- a/Rakefile +++ b/Rakefile @@ -7,7 +7,7 @@ task :default => :spec task :load_doorkeeper do `git submodule init` `git submodule update` - `cp -r doorkeeper/spec .` + `cp -r -n doorkeeper/spec .` `bundle exec rspec` end diff --git a/doorkeeper b/doorkeeper index 0b0031e..7fe4940 160000 --- a/doorkeeper +++ b/doorkeeper @@ -1 +1 @@ -Subproject commit 0b0031e759334a4db8c815aed34483d140416660 +Subproject commit 7fe4940786de5b310f30d1ea0bef832abe82fa31 diff --git a/doorkeeper-mongodb.gemspec b/doorkeeper-mongodb.gemspec index 610f3e5..fd777b8 100644 --- a/doorkeeper-mongodb.gemspec +++ b/doorkeeper-mongodb.gemspec @@ -26,7 +26,4 @@ Gem::Specification.new do |s| s.add_development_dependency "factory_girl", "~> 4.5.0" s.add_development_dependency "timecop", "~> 0.7.0" s.add_development_dependency "database_cleaner", "~> 1.3.0" - s.add_development_dependency "rspec-activemodel-mocks", "~> 1.0.0" - s.add_development_dependency "bcrypt-ruby", "~> 3.0.1" - s.add_development_dependency "pry", "~> 0.10.0" end diff --git a/gemfiles/Gemfile.common.rb b/gemfiles/Gemfile.common.rb index c011553..3be75ac 100644 --- a/gemfiles/Gemfile.common.rb +++ b/gemfiles/Gemfile.common.rb @@ -3,6 +3,6 @@ source 'https://rubygems.org' gem 'rails', "~> #{ENV['rails']}" -gem "doorkeeper" +gem 'doorkeeper' gemspec path: '../' diff --git a/spec/dummy/app/models/user.rb b/spec/dummy/app/models/user.rb new file mode 100644 index 0000000..d274316 --- /dev/null +++ b/spec/dummy/app/models/user.rb @@ -0,0 +1,28 @@ +case DOORKEEPER_ORM.to_s +when /mongoid/ + class User + include Mongoid::Document + include Mongoid::Timestamps + + field :name, type: String + field :password, type: String + end +when "mongo_mapper" + class User + include MongoMapper::Document + timestamps! + + key :name, String + key :password, String + end +end + +class User + if ::Rails.version.to_i < 4 || defined?(::ProtectedAttributes) + attr_accessible :name, :password + end + + def self.authenticate!(name, password) + User.where(name: name, password: password).first + end +end diff --git a/spec/dummy/config/mongo.yml b/spec/dummy/config/mongo.yml new file mode 100644 index 0000000..4fa128b --- /dev/null +++ b/spec/dummy/config/mongo.yml @@ -0,0 +1,11 @@ +defaults: &defaults + host: 127.0.0.1 + port: 27017 + +development: + <<: *defaults + database: doorkeeper-mongomapper-development + +test: + <<: *defaults + database: doorkeeper-mongomapper-test-suite diff --git a/spec/dummy/config/mongoid2.yml b/spec/dummy/config/mongoid2.yml new file mode 100644 index 0000000..93c7c05 --- /dev/null +++ b/spec/dummy/config/mongoid2.yml @@ -0,0 +1,9 @@ +development: + database: doorkeeper-development + persist_in_safe_mode: true + autocreate_indexes: true + +test: + database: doorkeeper-mongoid2-test + persist_in_safe_mode: true + autocreate_indexes: true diff --git a/spec/dummy/config/mongoid3.yml b/spec/dummy/config/mongoid3.yml new file mode 100644 index 0000000..6f8304c --- /dev/null +++ b/spec/dummy/config/mongoid3.yml @@ -0,0 +1,18 @@ +development: + sessions: + default: + database: doorkeeper-mongoid3-development + hosts: + - localhost:27017 + options: + consistency: :strong + safe: true +test: + sessions: + default: + database: doorkeeper-mongoid3-test + hosts: + - localhost:27017 + options: + consistency: :strong + safe: true diff --git a/spec/dummy/config/mongoid4.yml b/spec/dummy/config/mongoid4.yml new file mode 100644 index 0000000..dd06d0d --- /dev/null +++ b/spec/dummy/config/mongoid4.yml @@ -0,0 +1,19 @@ +development: + sessions: + default: + database: doorkeeper-mongoid4-development + hosts: + - localhost:27017 + options: + write: + w: 1 + +test: + sessions: + default: + database: doorkeeper-mongoid4-test + hosts: + - localhost:27017 + options: + write: + w: 1 diff --git a/spec/support/orm/mongo_mapper.rb b/spec/support/orm/mongo_mapper.rb new file mode 100644 index 0000000..8f4733a --- /dev/null +++ b/spec/support/orm/mongo_mapper.rb @@ -0,0 +1,10 @@ +DatabaseCleaner[:mongo_mapper].strategy = :truncation +DatabaseCleaner[:mongo_mapper].clean_with :truncation + +RSpec.configure do |config| + config.before :suite do + Doorkeeper::Application.create_indexes + Doorkeeper::AccessGrant.create_indexes + Doorkeeper::AccessToken.create_indexes + end +end diff --git a/spec/support/orm/mongoid.rb b/spec/support/orm/mongoid.rb new file mode 100644 index 0000000..2073842 --- /dev/null +++ b/spec/support/orm/mongoid.rb @@ -0,0 +1,10 @@ +DatabaseCleaner[:mongoid].strategy = :truncation +DatabaseCleaner[:mongoid].clean_with :truncation + +RSpec.configure do |config| + config.before do + Doorkeeper::Application.create_indexes + Doorkeeper::AccessGrant.create_indexes + Doorkeeper::AccessToken.create_indexes + end +end diff --git a/spec/support/orm/mongoid2.rb b/spec/support/orm/mongoid2.rb new file mode 100644 index 0000000..8f79aff --- /dev/null +++ b/spec/support/orm/mongoid2.rb @@ -0,0 +1 @@ +require_relative "mongoid.rb" diff --git a/spec/support/orm/mongoid3.rb b/spec/support/orm/mongoid3.rb new file mode 100644 index 0000000..8f79aff --- /dev/null +++ b/spec/support/orm/mongoid3.rb @@ -0,0 +1 @@ +require_relative "mongoid.rb" diff --git a/spec/support/orm/mongoid4.rb b/spec/support/orm/mongoid4.rb new file mode 100644 index 0000000..8f79aff --- /dev/null +++ b/spec/support/orm/mongoid4.rb @@ -0,0 +1 @@ +require_relative "mongoid.rb"