mirror of
				https://github.com/DatabaseCleaner/database_cleaner
				synced 2023-03-27 23:22:03 -04:00 
			
		
		
		
	extract database_cleaner-ohm adapater.
This commit is contained in:
		
							parent
							
								
									2998bd43a1
								
							
						
					
					
						commit
						c4e41967cd
					
				
					 23 changed files with 329 additions and 0 deletions
				
			
		
							
								
								
									
										1
									
								
								Gemfile
									
										
									
									
									
								
							
							
						
						
									
										1
									
								
								Gemfile
									
										
									
									
									
								
							| 
						 | 
					@ -9,4 +9,5 @@ path "./adapters" do
 | 
				
			||||||
  gem "database_cleaner-mongo_mapper"
 | 
					  gem "database_cleaner-mongo_mapper"
 | 
				
			||||||
  gem "database_cleaner-moped"
 | 
					  gem "database_cleaner-moped"
 | 
				
			||||||
  gem "database_cleaner-neo4j"
 | 
					  gem "database_cleaner-neo4j"
 | 
				
			||||||
 | 
					  gem "database_cleaner-ohm"
 | 
				
			||||||
end
 | 
					end
 | 
				
			||||||
| 
						 | 
					
 | 
				
			||||||
| 
						 | 
					@ -31,6 +31,10 @@ PATH
 | 
				
			||||||
    database_cleaner-neo4j (1.8.0)
 | 
					    database_cleaner-neo4j (1.8.0)
 | 
				
			||||||
      database_cleaner (~> 1.8.0)
 | 
					      database_cleaner (~> 1.8.0)
 | 
				
			||||||
      neo4j-core
 | 
					      neo4j-core
 | 
				
			||||||
 | 
					    database_cleaner-ohm (1.8.0)
 | 
				
			||||||
 | 
					      database_cleaner (~> 1.8.0)
 | 
				
			||||||
 | 
					      database_cleaner-redis (~> 1.8.0)
 | 
				
			||||||
 | 
					      ohm
 | 
				
			||||||
 | 
					
 | 
				
			||||||
GEM
 | 
					GEM
 | 
				
			||||||
  remote: https://rubygems.org/
 | 
					  remote: https://rubygems.org/
 | 
				
			||||||
| 
						 | 
					@ -284,6 +288,7 @@ DEPENDENCIES
 | 
				
			||||||
  database_cleaner-mongoid!
 | 
					  database_cleaner-mongoid!
 | 
				
			||||||
  database_cleaner-moped!
 | 
					  database_cleaner-moped!
 | 
				
			||||||
  database_cleaner-neo4j!
 | 
					  database_cleaner-neo4j!
 | 
				
			||||||
 | 
					  database_cleaner-ohm!
 | 
				
			||||||
  datamapper
 | 
					  datamapper
 | 
				
			||||||
  dm-migrations
 | 
					  dm-migrations
 | 
				
			||||||
  dm-sqlite-adapter
 | 
					  dm-sqlite-adapter
 | 
				
			||||||
| 
						 | 
					
 | 
				
			||||||
							
								
								
									
										11
									
								
								adapters/database_cleaner-ohm/.gitignore
									
										
									
									
										vendored
									
									
										Normal file
									
								
							
							
						
						
									
										11
									
								
								adapters/database_cleaner-ohm/.gitignore
									
										
									
									
										vendored
									
									
										Normal file
									
								
							| 
						 | 
					@ -0,0 +1,11 @@
 | 
				
			||||||
 | 
					/.bundle/
 | 
				
			||||||
 | 
					/.yardoc
 | 
				
			||||||
 | 
					/_yardoc/
 | 
				
			||||||
 | 
					/coverage/
 | 
				
			||||||
 | 
					/doc/
 | 
				
			||||||
 | 
					/pkg/
 | 
				
			||||||
 | 
					/spec/reports/
 | 
				
			||||||
 | 
					/tmp/
 | 
				
			||||||
 | 
					
 | 
				
			||||||
 | 
					# rspec failure tracking
 | 
				
			||||||
 | 
					.rspec_status
 | 
				
			||||||
							
								
								
									
										3
									
								
								adapters/database_cleaner-ohm/.rspec
									
										
									
									
									
										Normal file
									
								
							
							
						
						
									
										3
									
								
								adapters/database_cleaner-ohm/.rspec
									
										
									
									
									
										Normal file
									
								
							| 
						 | 
					@ -0,0 +1,3 @@
 | 
				
			||||||
 | 
					--format documentation
 | 
				
			||||||
 | 
					--color
 | 
				
			||||||
 | 
					--require spec_helper
 | 
				
			||||||
							
								
								
									
										5
									
								
								adapters/database_cleaner-ohm/.travis.yml
									
										
									
									
									
										Normal file
									
								
							
							
						
						
									
										5
									
								
								adapters/database_cleaner-ohm/.travis.yml
									
										
									
									
									
										Normal file
									
								
							| 
						 | 
					@ -0,0 +1,5 @@
 | 
				
			||||||
 | 
					sudo: false
 | 
				
			||||||
 | 
					language: ruby
 | 
				
			||||||
 | 
					rvm:
 | 
				
			||||||
 | 
					  - 2.2.9
 | 
				
			||||||
 | 
					before_install: gem install bundler -v 1.16.1
 | 
				
			||||||
							
								
								
									
										9
									
								
								adapters/database_cleaner-ohm/Gemfile
									
										
									
									
									
										Normal file
									
								
							
							
						
						
									
										9
									
								
								adapters/database_cleaner-ohm/Gemfile
									
										
									
									
									
										Normal file
									
								
							| 
						 | 
					@ -0,0 +1,9 @@
 | 
				
			||||||
 | 
					source "https://rubygems.org"
 | 
				
			||||||
 | 
					
 | 
				
			||||||
 | 
					git_source(:github) {|repo_name| "https://github.com/#{repo_name}" }
 | 
				
			||||||
 | 
					
 | 
				
			||||||
 | 
					# Specify your gem's dependencies in database_cleaner-ohm.gemspec
 | 
				
			||||||
 | 
					gemspec
 | 
				
			||||||
 | 
					
 | 
				
			||||||
 | 
					gem "database_cleaner", path: "../.."
 | 
				
			||||||
 | 
					gem "database_cleaner-redis", path: ".."
 | 
				
			||||||
							
								
								
									
										57
									
								
								adapters/database_cleaner-ohm/Gemfile.lock
									
										
									
									
									
										Normal file
									
								
							
							
						
						
									
										57
									
								
								adapters/database_cleaner-ohm/Gemfile.lock
									
										
									
									
									
										Normal file
									
								
							| 
						 | 
					@ -0,0 +1,57 @@
 | 
				
			||||||
 | 
					PATH
 | 
				
			||||||
 | 
					  remote: ../..
 | 
				
			||||||
 | 
					  specs:
 | 
				
			||||||
 | 
					    database_cleaner (1.8.0)
 | 
				
			||||||
 | 
					
 | 
				
			||||||
 | 
					PATH
 | 
				
			||||||
 | 
					  remote: ..
 | 
				
			||||||
 | 
					  specs:
 | 
				
			||||||
 | 
					    database_cleaner-redis (1.8.0)
 | 
				
			||||||
 | 
					      database_cleaner (~> 1.8.0)
 | 
				
			||||||
 | 
					      redis
 | 
				
			||||||
 | 
					
 | 
				
			||||||
 | 
					PATH
 | 
				
			||||||
 | 
					  remote: .
 | 
				
			||||||
 | 
					  specs:
 | 
				
			||||||
 | 
					    database_cleaner-ohm (1.8.0)
 | 
				
			||||||
 | 
					      database_cleaner (~> 1.8.0)
 | 
				
			||||||
 | 
					      database_cleaner-redis (~> 1.8.0)
 | 
				
			||||||
 | 
					      ohm
 | 
				
			||||||
 | 
					
 | 
				
			||||||
 | 
					GEM
 | 
				
			||||||
 | 
					  remote: https://rubygems.org/
 | 
				
			||||||
 | 
					  specs:
 | 
				
			||||||
 | 
					    diff-lcs (1.3)
 | 
				
			||||||
 | 
					    nest (1.1.2)
 | 
				
			||||||
 | 
					      redis
 | 
				
			||||||
 | 
					    ohm (0.1.5)
 | 
				
			||||||
 | 
					      nest (~> 1.0)
 | 
				
			||||||
 | 
					    rake (10.4.2)
 | 
				
			||||||
 | 
					    redis (3.1.0)
 | 
				
			||||||
 | 
					    rspec (3.7.0)
 | 
				
			||||||
 | 
					      rspec-core (~> 3.7.0)
 | 
				
			||||||
 | 
					      rspec-expectations (~> 3.7.0)
 | 
				
			||||||
 | 
					      rspec-mocks (~> 3.7.0)
 | 
				
			||||||
 | 
					    rspec-core (3.7.1)
 | 
				
			||||||
 | 
					      rspec-support (~> 3.7.0)
 | 
				
			||||||
 | 
					    rspec-expectations (3.7.0)
 | 
				
			||||||
 | 
					      diff-lcs (>= 1.2.0, < 2.0)
 | 
				
			||||||
 | 
					      rspec-support (~> 3.7.0)
 | 
				
			||||||
 | 
					    rspec-mocks (3.7.0)
 | 
				
			||||||
 | 
					      diff-lcs (>= 1.2.0, < 2.0)
 | 
				
			||||||
 | 
					      rspec-support (~> 3.7.0)
 | 
				
			||||||
 | 
					    rspec-support (3.7.1)
 | 
				
			||||||
 | 
					
 | 
				
			||||||
 | 
					PLATFORMS
 | 
				
			||||||
 | 
					  ruby
 | 
				
			||||||
 | 
					
 | 
				
			||||||
 | 
					DEPENDENCIES
 | 
				
			||||||
 | 
					  bundler (~> 1.16)
 | 
				
			||||||
 | 
					  database_cleaner!
 | 
				
			||||||
 | 
					  database_cleaner-ohm!
 | 
				
			||||||
 | 
					  database_cleaner-redis!
 | 
				
			||||||
 | 
					  rake (~> 10.0)
 | 
				
			||||||
 | 
					  rspec (~> 3.0)
 | 
				
			||||||
 | 
					
 | 
				
			||||||
 | 
					BUNDLED WITH
 | 
				
			||||||
 | 
					   1.16.1
 | 
				
			||||||
							
								
								
									
										21
									
								
								adapters/database_cleaner-ohm/LICENSE.txt
									
										
									
									
									
										Normal file
									
								
							
							
						
						
									
										21
									
								
								adapters/database_cleaner-ohm/LICENSE.txt
									
										
									
									
									
										Normal file
									
								
							| 
						 | 
					@ -0,0 +1,21 @@
 | 
				
			||||||
 | 
					The MIT License (MIT)
 | 
				
			||||||
 | 
					
 | 
				
			||||||
 | 
					Copyright (c) 2009 Ben Mabey
 | 
				
			||||||
 | 
					
 | 
				
			||||||
 | 
					Permission is hereby granted, free of charge, to any person obtaining a copy
 | 
				
			||||||
 | 
					of this software and associated documentation files (the "Software"), to deal
 | 
				
			||||||
 | 
					in the Software without restriction, including without limitation the rights
 | 
				
			||||||
 | 
					to use, copy, modify, merge, publish, distribute, sublicense, and/or sell
 | 
				
			||||||
 | 
					copies of the Software, and to permit persons to whom the Software is
 | 
				
			||||||
 | 
					furnished to do so, subject to the following conditions:
 | 
				
			||||||
 | 
					
 | 
				
			||||||
 | 
					The above copyright notice and this permission notice shall be included in
 | 
				
			||||||
 | 
					all copies or substantial portions of the Software.
 | 
				
			||||||
 | 
					
 | 
				
			||||||
 | 
					THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR
 | 
				
			||||||
 | 
					IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY,
 | 
				
			||||||
 | 
					FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE
 | 
				
			||||||
 | 
					AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER
 | 
				
			||||||
 | 
					LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM,
 | 
				
			||||||
 | 
					OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN
 | 
				
			||||||
 | 
					THE SOFTWARE.
 | 
				
			||||||
							
								
								
									
										39
									
								
								adapters/database_cleaner-ohm/README.md
									
										
									
									
									
										Normal file
									
								
							
							
						
						
									
										39
									
								
								adapters/database_cleaner-ohm/README.md
									
										
									
									
									
										Normal file
									
								
							| 
						 | 
					@ -0,0 +1,39 @@
 | 
				
			||||||
 | 
					# DatabaseCleaner::Ohm
 | 
				
			||||||
 | 
					
 | 
				
			||||||
 | 
					Welcome to your new gem! In this directory, you'll find the files you need to be able to package up your Ruby library into a gem. Put your Ruby code in the file `lib/database_cleaner/ohm`. To experiment with that code, run `bin/console` for an interactive prompt.
 | 
				
			||||||
 | 
					
 | 
				
			||||||
 | 
					TODO: Delete this and the text above, and describe your gem
 | 
				
			||||||
 | 
					
 | 
				
			||||||
 | 
					## Installation
 | 
				
			||||||
 | 
					
 | 
				
			||||||
 | 
					Add this line to your application's Gemfile:
 | 
				
			||||||
 | 
					
 | 
				
			||||||
 | 
					```ruby
 | 
				
			||||||
 | 
					gem 'database_cleaner-ohm'
 | 
				
			||||||
 | 
					```
 | 
				
			||||||
 | 
					
 | 
				
			||||||
 | 
					And then execute:
 | 
				
			||||||
 | 
					
 | 
				
			||||||
 | 
					    $ bundle
 | 
				
			||||||
 | 
					
 | 
				
			||||||
 | 
					Or install it yourself as:
 | 
				
			||||||
 | 
					
 | 
				
			||||||
 | 
					    $ gem install database_cleaner-ohm
 | 
				
			||||||
 | 
					
 | 
				
			||||||
 | 
					## Usage
 | 
				
			||||||
 | 
					
 | 
				
			||||||
 | 
					TODO: Write usage instructions here
 | 
				
			||||||
 | 
					
 | 
				
			||||||
 | 
					## Development
 | 
				
			||||||
 | 
					
 | 
				
			||||||
 | 
					After checking out the repo, run `bin/setup` to install dependencies. Then, run `rake spec` to run the tests. You can also run `bin/console` for an interactive prompt that will allow you to experiment.
 | 
				
			||||||
 | 
					
 | 
				
			||||||
 | 
					To install this gem onto your local machine, run `bundle exec rake install`. To release a new version, update the version number in `version.rb`, and then run `bundle exec rake release`, which will create a git tag for the version, push git commits and tags, and push the `.gem` file to [rubygems.org](https://rubygems.org).
 | 
				
			||||||
 | 
					
 | 
				
			||||||
 | 
					## Contributing
 | 
				
			||||||
 | 
					
 | 
				
			||||||
 | 
					Bug reports and pull requests are welcome on GitHub at https://github.com/[USERNAME]/database_cleaner-ohm.
 | 
				
			||||||
 | 
					
 | 
				
			||||||
 | 
					## License
 | 
				
			||||||
 | 
					
 | 
				
			||||||
 | 
					The gem is available as open source under the terms of the [MIT License](https://opensource.org/licenses/MIT).
 | 
				
			||||||
							
								
								
									
										6
									
								
								adapters/database_cleaner-ohm/Rakefile
									
										
									
									
									
										Normal file
									
								
							
							
						
						
									
										6
									
								
								adapters/database_cleaner-ohm/Rakefile
									
										
									
									
									
										Normal file
									
								
							| 
						 | 
					@ -0,0 +1,6 @@
 | 
				
			||||||
 | 
					require "bundler/gem_tasks"
 | 
				
			||||||
 | 
					require "rspec/core/rake_task"
 | 
				
			||||||
 | 
					
 | 
				
			||||||
 | 
					RSpec::Core::RakeTask.new(:spec)
 | 
				
			||||||
 | 
					
 | 
				
			||||||
 | 
					task :default => :spec
 | 
				
			||||||
							
								
								
									
										14
									
								
								adapters/database_cleaner-ohm/bin/console
									
										
									
									
									
										Executable file
									
								
							
							
						
						
									
										14
									
								
								adapters/database_cleaner-ohm/bin/console
									
										
									
									
									
										Executable file
									
								
							| 
						 | 
					@ -0,0 +1,14 @@
 | 
				
			||||||
 | 
					#!/usr/bin/env ruby
 | 
				
			||||||
 | 
					
 | 
				
			||||||
 | 
					require "bundler/setup"
 | 
				
			||||||
 | 
					require "database_cleaner/ohm"
 | 
				
			||||||
 | 
					
 | 
				
			||||||
 | 
					# You can add fixtures and/or initialization code here to make experimenting
 | 
				
			||||||
 | 
					# with your gem easier. You can also use a different console, if you like.
 | 
				
			||||||
 | 
					
 | 
				
			||||||
 | 
					# (If you use this, don't forget to add pry to your Gemfile!)
 | 
				
			||||||
 | 
					# require "pry"
 | 
				
			||||||
 | 
					# Pry.start
 | 
				
			||||||
 | 
					
 | 
				
			||||||
 | 
					require "irb"
 | 
				
			||||||
 | 
					IRB.start(__FILE__)
 | 
				
			||||||
							
								
								
									
										8
									
								
								adapters/database_cleaner-ohm/bin/setup
									
										
									
									
									
										Executable file
									
								
							
							
						
						
									
										8
									
								
								adapters/database_cleaner-ohm/bin/setup
									
										
									
									
									
										Executable file
									
								
							| 
						 | 
					@ -0,0 +1,8 @@
 | 
				
			||||||
 | 
					#!/usr/bin/env bash
 | 
				
			||||||
 | 
					set -euo pipefail
 | 
				
			||||||
 | 
					IFS=$'\n\t'
 | 
				
			||||||
 | 
					set -vx
 | 
				
			||||||
 | 
					
 | 
				
			||||||
 | 
					bundle install
 | 
				
			||||||
 | 
					
 | 
				
			||||||
 | 
					# Do any other automated setup that you need to do here
 | 
				
			||||||
							
								
								
									
										31
									
								
								adapters/database_cleaner-ohm/database_cleaner-ohm.gemspec
									
										
									
									
									
										Normal file
									
								
							
							
						
						
									
										31
									
								
								adapters/database_cleaner-ohm/database_cleaner-ohm.gemspec
									
										
									
									
									
										Normal file
									
								
							| 
						 | 
					@ -0,0 +1,31 @@
 | 
				
			||||||
 | 
					
 | 
				
			||||||
 | 
					lib = File.expand_path("../lib", __FILE__)
 | 
				
			||||||
 | 
					$LOAD_PATH.unshift(lib) unless $LOAD_PATH.include?(lib)
 | 
				
			||||||
 | 
					require "database_cleaner/ohm/version"
 | 
				
			||||||
 | 
					
 | 
				
			||||||
 | 
					Gem::Specification.new do |spec|
 | 
				
			||||||
 | 
					  spec.name          = "database_cleaner-ohm"
 | 
				
			||||||
 | 
					  spec.version       = DatabaseCleaner::Ohm::VERSION
 | 
				
			||||||
 | 
					  spec.authors       = ["Ernesto Tagwerker"]
 | 
				
			||||||
 | 
					  spec.email         = ["ernesto@ombulabs.com"]
 | 
				
			||||||
 | 
					
 | 
				
			||||||
 | 
					  spec.summary       = "Strategies for cleaning databases using Ohm. Can be used to ensure a clean state for testing."
 | 
				
			||||||
 | 
					  spec.description   = "Strategies for cleaning databases using Ohm. Can be used to ensure a clean state for testing."
 | 
				
			||||||
 | 
					  spec.homepage      = "https://github.com/DatabaseCleaner/database_cleaner-ohm"
 | 
				
			||||||
 | 
					  spec.license       = "MIT"
 | 
				
			||||||
 | 
					
 | 
				
			||||||
 | 
					  spec.files         = `git ls-files -z`.split("\x0").reject do |f|
 | 
				
			||||||
 | 
					    f.match(%r{^(test|spec|features)/})
 | 
				
			||||||
 | 
					  end
 | 
				
			||||||
 | 
					  spec.bindir        = "exe"
 | 
				
			||||||
 | 
					  spec.executables   = spec.files.grep(%r{^exe/}) { |f| File.basename(f) }
 | 
				
			||||||
 | 
					  spec.require_paths = ["lib"]
 | 
				
			||||||
 | 
					
 | 
				
			||||||
 | 
					  spec.add_dependency "database_cleaner", "~> 1.8.0"
 | 
				
			||||||
 | 
					  spec.add_dependency "database_cleaner-redis", "~> 1.8.0"
 | 
				
			||||||
 | 
					  spec.add_dependency "ohm"
 | 
				
			||||||
 | 
					
 | 
				
			||||||
 | 
					  spec.add_development_dependency "bundler", "~> 1.16"
 | 
				
			||||||
 | 
					  spec.add_development_dependency "rake", "~> 10.0"
 | 
				
			||||||
 | 
					  spec.add_development_dependency "rspec", "~> 3.0"
 | 
				
			||||||
 | 
					end
 | 
				
			||||||
| 
						 | 
					@ -0,0 +1 @@
 | 
				
			||||||
 | 
					require "database_cleaner/ohm"
 | 
				
			||||||
| 
						 | 
					@ -0,0 +1,4 @@
 | 
				
			||||||
 | 
					require "database_cleaner/ohm/version"
 | 
				
			||||||
 | 
					require "database_cleaner"
 | 
				
			||||||
 | 
					require "database_cleaner/ohm/truncation"
 | 
				
			||||||
 | 
					
 | 
				
			||||||
| 
						 | 
					@ -0,0 +1,19 @@
 | 
				
			||||||
 | 
					require 'database_cleaner/redis/truncation'
 | 
				
			||||||
 | 
					
 | 
				
			||||||
 | 
					module DatabaseCleaner
 | 
				
			||||||
 | 
					  module Ohm
 | 
				
			||||||
 | 
					    def self.available_strategies
 | 
				
			||||||
 | 
					      %w(truncation)
 | 
				
			||||||
 | 
					    end
 | 
				
			||||||
 | 
					
 | 
				
			||||||
 | 
					    class Truncation < ::DatabaseCleaner::Redis::Truncation
 | 
				
			||||||
 | 
					
 | 
				
			||||||
 | 
					      private
 | 
				
			||||||
 | 
					
 | 
				
			||||||
 | 
					      def default_redis
 | 
				
			||||||
 | 
					        ::Ohm.redis
 | 
				
			||||||
 | 
					      end
 | 
				
			||||||
 | 
					
 | 
				
			||||||
 | 
					    end
 | 
				
			||||||
 | 
					  end
 | 
				
			||||||
 | 
					end
 | 
				
			||||||
| 
						 | 
					@ -0,0 +1,5 @@
 | 
				
			||||||
 | 
					module DatabaseCleaner
 | 
				
			||||||
 | 
					  module Ohm
 | 
				
			||||||
 | 
					    VERSION = "1.8.0"
 | 
				
			||||||
 | 
					  end
 | 
				
			||||||
 | 
					end
 | 
				
			||||||
| 
						 | 
					@ -0,0 +1,54 @@
 | 
				
			||||||
 | 
					require 'ohm'
 | 
				
			||||||
 | 
					require 'database_cleaner/ohm/truncation'
 | 
				
			||||||
 | 
					
 | 
				
			||||||
 | 
					module OhmTests
 | 
				
			||||||
 | 
					  class Widget < ::Ohm::Model
 | 
				
			||||||
 | 
					    attribute :name
 | 
				
			||||||
 | 
					  end
 | 
				
			||||||
 | 
					
 | 
				
			||||||
 | 
					  class Gadget < ::Ohm::Model
 | 
				
			||||||
 | 
					    attribute :name
 | 
				
			||||||
 | 
					  end
 | 
				
			||||||
 | 
					end
 | 
				
			||||||
 | 
					
 | 
				
			||||||
 | 
					RSpec.describe DatabaseCleaner::Ohm::Truncation do
 | 
				
			||||||
 | 
					  around do |example|
 | 
				
			||||||
 | 
					    config = YAML::load(File.open("spec/support/redis.yml"))
 | 
				
			||||||
 | 
					    Ohm.connect url: config['test']['url']
 | 
				
			||||||
 | 
					    @redis = Ohm.redis
 | 
				
			||||||
 | 
					
 | 
				
			||||||
 | 
					    example.run
 | 
				
			||||||
 | 
					
 | 
				
			||||||
 | 
					    @redis.flushdb
 | 
				
			||||||
 | 
					  end
 | 
				
			||||||
 | 
					
 | 
				
			||||||
 | 
					  before do
 | 
				
			||||||
 | 
					    OhmTests::Widget.new(name: 'some widget').save
 | 
				
			||||||
 | 
					    OhmTests::Gadget.new(name: 'some gadget').save
 | 
				
			||||||
 | 
					  end
 | 
				
			||||||
 | 
					
 | 
				
			||||||
 | 
					  context "by default" do
 | 
				
			||||||
 | 
					    it "truncates all keys" do
 | 
				
			||||||
 | 
					      expect { subject.clean }.to change { @redis.keys.size }.from(6).to(0)
 | 
				
			||||||
 | 
					    end
 | 
				
			||||||
 | 
					  end
 | 
				
			||||||
 | 
					
 | 
				
			||||||
 | 
					  context "when keys are provided to the :only option" do
 | 
				
			||||||
 | 
					    subject { described_class.new(only: ['*Widget*']) }
 | 
				
			||||||
 | 
					
 | 
				
			||||||
 | 
					    it "only truncates the specified keys" do
 | 
				
			||||||
 | 
					      expect { subject.clean }.to change { @redis.keys.size }.from(6).to(3)
 | 
				
			||||||
 | 
					      expect(@redis.get('OhmTests::Gadget:id')).to eq '1'
 | 
				
			||||||
 | 
					    end
 | 
				
			||||||
 | 
					  end
 | 
				
			||||||
 | 
					
 | 
				
			||||||
 | 
					  context "when keys are provided to the :except option" do
 | 
				
			||||||
 | 
					    subject { described_class.new(except: ['*Widget*']) }
 | 
				
			||||||
 | 
					
 | 
				
			||||||
 | 
					    it "truncates all but the specified keys" do
 | 
				
			||||||
 | 
					      expect { subject.clean }.to change { @redis.keys.size }.from(6).to(3)
 | 
				
			||||||
 | 
					      expect(@redis.get('OhmTests::Widget:id')).to eq '1'
 | 
				
			||||||
 | 
					    end
 | 
				
			||||||
 | 
					  end
 | 
				
			||||||
 | 
					end
 | 
				
			||||||
 | 
					
 | 
				
			||||||
							
								
								
									
										14
									
								
								adapters/database_cleaner-ohm/spec/spec_helper.rb
									
										
									
									
									
										Normal file
									
								
							
							
						
						
									
										14
									
								
								adapters/database_cleaner-ohm/spec/spec_helper.rb
									
										
									
									
									
										Normal file
									
								
							| 
						 | 
					@ -0,0 +1,14 @@
 | 
				
			||||||
 | 
					require "bundler/setup"
 | 
				
			||||||
 | 
					require "database_cleaner/ohm"
 | 
				
			||||||
 | 
					
 | 
				
			||||||
 | 
					RSpec.configure do |config|
 | 
				
			||||||
 | 
					  # Enable flags like --only-failures and --next-failure
 | 
				
			||||||
 | 
					  config.example_status_persistence_file_path = ".rspec_status"
 | 
				
			||||||
 | 
					
 | 
				
			||||||
 | 
					  # Disable RSpec exposing methods globally on `Module` and `main`
 | 
				
			||||||
 | 
					  config.disable_monkey_patching!
 | 
				
			||||||
 | 
					
 | 
				
			||||||
 | 
					  config.expect_with :rspec do |c|
 | 
				
			||||||
 | 
					    c.syntax = :expect
 | 
				
			||||||
 | 
					  end
 | 
				
			||||||
 | 
					end
 | 
				
			||||||
							
								
								
									
										8
									
								
								adapters/database_cleaner-ohm/spec/support/redis.yml
									
										
									
									
									
										Normal file
									
								
							
							
						
						
									
										8
									
								
								adapters/database_cleaner-ohm/spec/support/redis.yml
									
										
									
									
									
										Normal file
									
								
							| 
						 | 
					@ -0,0 +1,8 @@
 | 
				
			||||||
 | 
					test:
 | 
				
			||||||
 | 
					  url: 'redis://localhost:6379/0'
 | 
				
			||||||
 | 
					
 | 
				
			||||||
 | 
					one:
 | 
				
			||||||
 | 
					  url: 'redis://localhost:6379/1'
 | 
				
			||||||
 | 
					
 | 
				
			||||||
 | 
					two:
 | 
				
			||||||
 | 
					  url: 'redis://localhost:6379/2'
 | 
				
			||||||
| 
						 | 
					@ -23,6 +23,7 @@ Feature: database cleaning
 | 
				
			||||||
    | Neo4j        | deletion    |
 | 
					    | Neo4j        | deletion    |
 | 
				
			||||||
    | Neo4j        | truncation  |
 | 
					    | Neo4j        | truncation  |
 | 
				
			||||||
    | Neo4j        | transaction |
 | 
					    | Neo4j        | transaction |
 | 
				
			||||||
 | 
					    | Ohm          | truncation  |
 | 
				
			||||||
 | 
					
 | 
				
			||||||
  Scenario Outline: ruby app
 | 
					  Scenario Outline: ruby app
 | 
				
			||||||
    Given I am using <ORM>
 | 
					    Given I am using <ORM>
 | 
				
			||||||
| 
						 | 
					
 | 
				
			||||||
| 
						 | 
					@ -18,6 +18,7 @@ Feature: database cleaning
 | 
				
			||||||
    | Mongoid      |
 | 
					    | Mongoid      |
 | 
				
			||||||
    | MongoMapper  |
 | 
					    | MongoMapper  |
 | 
				
			||||||
    | Neo4j        |
 | 
					    | Neo4j        |
 | 
				
			||||||
 | 
					    | Ohm          |
 | 
				
			||||||
 | 
					
 | 
				
			||||||
  Scenario Outline: ruby app
 | 
					  Scenario Outline: ruby app
 | 
				
			||||||
    Given I am using <ORM>
 | 
					    Given I am using <ORM>
 | 
				
			||||||
| 
						 | 
					
 | 
				
			||||||
| 
						 | 
					@ -16,31 +16,43 @@ Feature: database cleaning using multiple ORMs
 | 
				
			||||||
    | ActiveRecord | Mongoid      |
 | 
					    | ActiveRecord | Mongoid      |
 | 
				
			||||||
    | ActiveRecord | MongoMapper  |
 | 
					    | ActiveRecord | MongoMapper  |
 | 
				
			||||||
    | ActiveRecord | Neo4j        |
 | 
					    | ActiveRecord | Neo4j        |
 | 
				
			||||||
 | 
					    | ActiveRecord | Ohm          |
 | 
				
			||||||
    | CouchPotato  | ActiveRecord |
 | 
					    | CouchPotato  | ActiveRecord |
 | 
				
			||||||
    | CouchPotato  | DataMapper   |
 | 
					    | CouchPotato  | DataMapper   |
 | 
				
			||||||
    | CouchPotato  | Mongoid      |
 | 
					    | CouchPotato  | Mongoid      |
 | 
				
			||||||
    | CouchPotato  | MongoMapper  |
 | 
					    | CouchPotato  | MongoMapper  |
 | 
				
			||||||
    | CouchPotato  | Neo4j        |
 | 
					    | CouchPotato  | Neo4j        |
 | 
				
			||||||
 | 
					    | CouchPotato  | Ohm          |
 | 
				
			||||||
    | DataMapper   | ActiveRecord |
 | 
					    | DataMapper   | ActiveRecord |
 | 
				
			||||||
    | DataMapper   | CouchPotato  |
 | 
					    | DataMapper   | CouchPotato  |
 | 
				
			||||||
    | DataMapper   | Mongoid      |
 | 
					    | DataMapper   | Mongoid      |
 | 
				
			||||||
    | DataMapper   | MongoMapper  |
 | 
					    | DataMapper   | MongoMapper  |
 | 
				
			||||||
    | DataMapper   | Neo4j        |
 | 
					    | DataMapper   | Neo4j        |
 | 
				
			||||||
 | 
					    | DataMapper   | Ohm          |
 | 
				
			||||||
    | Mongoid      | ActiveRecord |
 | 
					    | Mongoid      | ActiveRecord |
 | 
				
			||||||
    | Mongoid      | CouchPotato  |
 | 
					    | Mongoid      | CouchPotato  |
 | 
				
			||||||
    | Mongoid      | DataMapper   |
 | 
					    | Mongoid      | DataMapper   |
 | 
				
			||||||
    | Mongoid      | MongoMapper  |
 | 
					    | Mongoid      | MongoMapper  |
 | 
				
			||||||
    | Mongoid      | Neo4j        |
 | 
					    | Mongoid      | Neo4j        |
 | 
				
			||||||
 | 
					    | Mongoid      | Ohm          |
 | 
				
			||||||
    | MongoMapper  | ActiveRecord |
 | 
					    | MongoMapper  | ActiveRecord |
 | 
				
			||||||
    | MongoMapper  | CouchPotato  |
 | 
					    | MongoMapper  | CouchPotato  |
 | 
				
			||||||
    | MongoMapper  | DataMapper   |
 | 
					    | MongoMapper  | DataMapper   |
 | 
				
			||||||
    | MongoMapper  | Mongoid      |
 | 
					    | MongoMapper  | Mongoid      |
 | 
				
			||||||
    | MongoMapper  | Neo4j        |
 | 
					    | MongoMapper  | Neo4j        |
 | 
				
			||||||
 | 
					    | MongoMapper  | Ohm          |
 | 
				
			||||||
    | Neo4j        | ActiveRecord |
 | 
					    | Neo4j        | ActiveRecord |
 | 
				
			||||||
    | Neo4j        | CouchPotato  |
 | 
					    | Neo4j        | CouchPotato  |
 | 
				
			||||||
    | Neo4j        | DataMapper   |
 | 
					    | Neo4j        | DataMapper   |
 | 
				
			||||||
    | Neo4j        | Mongoid      |
 | 
					    | Neo4j        | Mongoid      |
 | 
				
			||||||
    | Neo4j        | MongoMapper  |
 | 
					    | Neo4j        | MongoMapper  |
 | 
				
			||||||
 | 
					    | Neo4j        | Ohm          |
 | 
				
			||||||
 | 
					    | Ohm          | ActiveRecord |
 | 
				
			||||||
 | 
					    | Ohm          | CouchPotato  |
 | 
				
			||||||
 | 
					    | Ohm          | DataMapper   |
 | 
				
			||||||
 | 
					    | Ohm          | Mongoid      |
 | 
				
			||||||
 | 
					    | Ohm          | MongoMapper  |
 | 
				
			||||||
 | 
					    | Ohm          | Neo4j        |
 | 
				
			||||||
 | 
					
 | 
				
			||||||
  Scenario Outline: ruby app
 | 
					  Scenario Outline: ruby app
 | 
				
			||||||
    Given I am using <ORM1> and <ORM2>
 | 
					    Given I am using <ORM1> and <ORM2>
 | 
				
			||||||
| 
						 | 
					
 | 
				
			||||||
		Loading…
	
	Add table
		Add a link
		
	
		Reference in a new issue