data-anonymization
data-anonymization copied to clipboard
Instructions to run tests
After cloning the repo and installing the gems, I get this running the tests:
~/data-anonymization (master) $ rspec
[Coveralls] Set up the SimpleCov formatter.
[Coveralls] Using SimpleCov's default settings.
FF............................................................................................./Users/jasonbarnabe/data-anonymization/spec/strategy/field/default_anon_spec.rb:32: warning: constant ::Fixnum is deprecated
./Users/jasonbarnabe/data-anonymization/spec/strategy/field/default_anon_spec.rb:39: warning: constant ::Bignum is deprecated
....................................................................F................
Failures:
1) End 2 End MongoDB Blacklist Acceptance Test should anonymize plans collection
Failure/Error: Mongo::Client.new('mongodb://localhost/test').database().drop()
Mongo::Error::NoServerAvailable:
No server is available matching preference: #<Mongo::ServerSelector::Primary:0x70356459022600 tag_sets=[] max_staleness=nil> using server_selection_timeout=30 and local_threshold=0.015
# /Users/jasonbarnabe/.rvm/gems/ruby-2.4.1/gems/mongo-2.5.1/lib/mongo/server_selector/selectable.rb:119:in `select_server'
# /Users/jasonbarnabe/.rvm/gems/ruby-2.4.1/gems/mongo-2.5.1/lib/mongo/cluster.rb:254:in `next_primary'
# /Users/jasonbarnabe/.rvm/gems/ruby-2.4.1/gems/mongo-2.5.1/lib/mongo/database.rb:188:in `block in drop'
# /Users/jasonbarnabe/.rvm/gems/ruby-2.4.1/gems/mongo-2.5.1/lib/mongo/cluster.rb:515:in `with_session'
# /Users/jasonbarnabe/.rvm/gems/ruby-2.4.1/gems/mongo-2.5.1/lib/mongo/client.rb:449:in `with_session'
# /Users/jasonbarnabe/.rvm/gems/ruby-2.4.1/gems/mongo-2.5.1/lib/mongo/database.rb:182:in `drop'
# ./spec/acceptance/mongodb_blacklist_spec.rb:7:in `block (2 levels) in <top (required)>'
2) End 2 End MongoDB Whitelist Acceptance Test should anonymize plans collection
Failure/Error: Mongo::Client.new('mongodb://localhost/test').database.drop
Mongo::Error::NoServerAvailable:
No server is available matching preference: #<Mongo::ServerSelector::Primary:0x70356456624360 tag_sets=[] max_staleness=nil> using server_selection_timeout=30 and local_threshold=0.015
# /Users/jasonbarnabe/.rvm/gems/ruby-2.4.1/gems/mongo-2.5.1/lib/mongo/server_selector/selectable.rb:119:in `select_server'
# /Users/jasonbarnabe/.rvm/gems/ruby-2.4.1/gems/mongo-2.5.1/lib/mongo/cluster.rb:254:in `next_primary'
# /Users/jasonbarnabe/.rvm/gems/ruby-2.4.1/gems/mongo-2.5.1/lib/mongo/database.rb:188:in `block in drop'
# /Users/jasonbarnabe/.rvm/gems/ruby-2.4.1/gems/mongo-2.5.1/lib/mongo/cluster.rb:515:in `with_session'
# /Users/jasonbarnabe/.rvm/gems/ruby-2.4.1/gems/mongo-2.5.1/lib/mongo/client.rb:449:in `with_session'
# /Users/jasonbarnabe/.rvm/gems/ruby-2.4.1/gems/mongo-2.5.1/lib/mongo/database.rb:182:in `drop'
# ./spec/acceptance/mongodb_whitelist_spec.rb:7:in `block (2 levels) in <top (required)>'
3) Utils should test the connection to destination database
Failure/Error: album.count.should == 0
ActiveRecord::StatementInvalid:
Could not find table 'Album'
# /Users/jasonbarnabe/.rvm/gems/ruby-2.4.1/gems/activerecord-5.1.5/lib/active_record/connection_adapters/sqlite3_adapter.rb:417:in `table_structure'
# /Users/jasonbarnabe/.rvm/gems/ruby-2.4.1/gems/activerecord-5.1.5/lib/active_record/connection_adapters/abstract_adapter.rb:167:in `columns'
# /Users/jasonbarnabe/.rvm/gems/ruby-2.4.1/gems/activerecord-5.1.5/lib/active_record/connection_adapters/schema_cache.rb:67:in `columns'
# /Users/jasonbarnabe/.rvm/gems/ruby-2.4.1/gems/activerecord-5.1.5/lib/active_record/connection_adapters/schema_cache.rb:73:in `columns_hash'
# /Users/jasonbarnabe/.rvm/gems/ruby-2.4.1/gems/activerecord-5.1.5/lib/active_record/model_schema.rb:471:in `load_schema!'
# /Users/jasonbarnabe/.rvm/gems/ruby-2.4.1/gems/activerecord-5.1.5/lib/active_record/attributes.rb:233:in `load_schema!'
# /Users/jasonbarnabe/.rvm/gems/ruby-2.4.1/gems/activerecord-5.1.5/lib/active_record/attribute_decorators.rb:50:in `load_schema!'
# /Users/jasonbarnabe/.rvm/gems/ruby-2.4.1/gems/activerecord-5.1.5/lib/active_record/model_schema.rb:464:in `block in load_schema'
# /Users/jasonbarnabe/.rvm/gems/ruby-2.4.1/gems/activerecord-5.1.5/lib/active_record/model_schema.rb:461:in `load_schema'
# /Users/jasonbarnabe/.rvm/gems/ruby-2.4.1/gems/activerecord-5.1.5/lib/active_record/model_schema.rb:353:in `attribute_types'
# /Users/jasonbarnabe/.rvm/gems/ruby-2.4.1/gems/activerecord-5.1.5/lib/active_record/attribute_methods.rb:179:in `has_attribute?'
# /Users/jasonbarnabe/.rvm/gems/ruby-2.4.1/gems/activerecord-5.1.5/lib/active_record/relation/calculations.rb:223:in `aggregate_column'
# /Users/jasonbarnabe/.rvm/gems/ruby-2.4.1/gems/activerecord-5.1.5/lib/active_record/relation/calculations.rb:246:in `execute_simple_calculation'
# /Users/jasonbarnabe/.rvm/gems/ruby-2.4.1/gems/activerecord-5.1.5/lib/active_record/relation/calculations.rb:216:in `perform_calculation'
# /Users/jasonbarnabe/.rvm/gems/ruby-2.4.1/gems/activerecord-5.1.5/lib/active_record/relation/calculations.rb:125:in `calculate'
# /Users/jasonbarnabe/.rvm/gems/ruby-2.4.1/gems/activerecord-5.1.5/lib/active_record/relation/calculations.rb:41:in `count'
# /Users/jasonbarnabe/.rvm/gems/ruby-2.4.1/gems/activerecord-5.1.5/lib/active_record/querying.rb:13:in `count'
# ./spec/utils/database_spec.rb:21:in `block (2 levels) in <top (required)>'
Finished in 2 minutes 1.5 seconds (files took 1.48 seconds to load)
181 examples, 3 failures
Failed examples:
rspec ./spec/acceptance/mongodb_blacklist_spec.rb:43 # End 2 End MongoDB Blacklist Acceptance Test should anonymize plans collection
rspec ./spec/acceptance/mongodb_whitelist_spec.rb:57 # End 2 End MongoDB Whitelist Acceptance Test should anonymize plans collection
rspec ./spec/utils/database_spec.rb:19 # Utils should test the connection to destination database
[Coveralls] Outside the Travis environment, not sending data.
If there is something else I need to do to run the tests, it should be documented.
It required MongoDB running for functional end-2-end tests to pass.