From aeb0f39362b2195d4aec418349538b5f8443f693 Mon Sep 17 00:00:00 2001 From: Azul Date: Thu, 12 May 2016 14:30:23 +0200 Subject: minor: no need to vendor couchrest_session_store --- .../couchrest_session_store/test/couch_tester.rb | 27 ---- .../test/database_method_test.rb | 116 -------------- .../test/database_rotation_test.rb | 88 ----------- .../test/session_document_test.rb | 27 ---- .../test/session_store_test.rb | 168 --------------------- .../couchrest_session_store/test/setup_couch.sh | 7 - .../couchrest_session_store/test/stress_test.rb | 51 ------- .../couchrest_session_store/test/test_clock.rb | 12 -- .../couchrest_session_store/test/test_helper.rb | 9 -- 9 files changed, 505 deletions(-) delete mode 100644 vendor/gems/couchrest_session_store/test/couch_tester.rb delete mode 100644 vendor/gems/couchrest_session_store/test/database_method_test.rb delete mode 100644 vendor/gems/couchrest_session_store/test/database_rotation_test.rb delete mode 100644 vendor/gems/couchrest_session_store/test/session_document_test.rb delete mode 100644 vendor/gems/couchrest_session_store/test/session_store_test.rb delete mode 100755 vendor/gems/couchrest_session_store/test/setup_couch.sh delete mode 100644 vendor/gems/couchrest_session_store/test/stress_test.rb delete mode 100644 vendor/gems/couchrest_session_store/test/test_clock.rb delete mode 100644 vendor/gems/couchrest_session_store/test/test_helper.rb (limited to 'vendor/gems/couchrest_session_store/test') diff --git a/vendor/gems/couchrest_session_store/test/couch_tester.rb b/vendor/gems/couchrest_session_store/test/couch_tester.rb deleted file mode 100644 index b623044..0000000 --- a/vendor/gems/couchrest_session_store/test/couch_tester.rb +++ /dev/null @@ -1,27 +0,0 @@ -# -# Access the couch directly so we can test its state without relying -# on the SessionStore -# - -class CouchTester < CouchRest::Document - include CouchRest::Model::Configuration - include CouchRest::Model::Connection - include CouchRest::Model::Rotation - - rotate_database 'sessions', - :every => 1.month, :expiration_field => :expires - - def initialize(options = {}) - end - - def get(sid) - database.get(sid) - end - - def update(sid, diff) - doc = database.get(sid) - doc.merge! diff - database.save_doc(doc) - end - -end diff --git a/vendor/gems/couchrest_session_store/test/database_method_test.rb b/vendor/gems/couchrest_session_store/test/database_method_test.rb deleted file mode 100644 index 18985c3..0000000 --- a/vendor/gems/couchrest_session_store/test/database_method_test.rb +++ /dev/null @@ -1,116 +0,0 @@ -require_relative 'test_helper' - -class DatabaseMethodTest < MiniTest::Test - - class TestModel < CouchRest::Model::Base - include CouchRest::Model::DatabaseMethod - - use_database_method :db_name - property :dbname, String - property :confirm, String - - def db_name - "test_db_#{self[:dbname]}" - end - end - - def test_instance_method - doc1 = TestModel.new({:dbname => 'one'}) - doc1.database.create! - assert doc1.database.root.ends_with?('test_db_one') - assert doc1.save - doc1.update_attributes(:confirm => 'yep') - - doc2 = TestModel.new({:dbname => 'two'}) - doc2.database.create! - assert doc2.database.root.ends_with?('test_db_two') - assert doc2.save - doc2.confirm = 'sure' - doc2.save! - - doc1_copy = CouchRest.get([doc1.database.root, doc1.id].join('/')) - assert_equal "yep", doc1_copy["confirm"] - - doc2_copy = CouchRest.get([doc2.database.root, doc2.id].join('/')) - assert_equal "sure", doc2_copy["confirm"] - - doc1.database.delete! - doc2.database.delete! - end - - def test_switch_db - doc_red = TestModel.new({:dbname => 'red', :confirm => 'rose'}) - doc_red.database.create! - root = doc_red.database.root - - doc_blue = doc_red.clone - doc_blue.dbname = 'blue' - doc_blue.database! - doc_blue.save! - - doc_blue_copy = CouchRest.get([root.sub('red','blue'), doc_blue.id].join('/')) - assert_equal "rose", doc_blue_copy["confirm"] - - doc_red.database.delete! - doc_blue.database.delete! - end - - # - # A test scenario for database_method in which some user accounts - # are stored in a seperate temporary database (so that the test - # accounts don't bloat the normal database). - # - - class User < CouchRest::Model::Base - include CouchRest::Model::DatabaseMethod - - use_database_method :db_name - property :login, String - before_save :create_db - - class << self - def get(id, db = database) - result = super(id, db) - if result.nil? - return super(id, choose_database('test-user')) - else - return result - end - end - alias :find :get - end - - protected - - def self.db_name(login = nil) - if !login.nil? && login =~ /test-user/ - 'tmp_users' - else - 'users' - end - end - - def db_name - self.class.db_name(self.login) - end - - def create_db - unless database_exists?(db_name) - self.database! - end - end - - end - - def test_tmp_user_db - user1 = User.new({:login => 'test-user-1'}) - assert user1.save - assert User.find(user1.id), 'should find user in tmp_users' - assert_equal user1.login, User.find(user1.id).login - assert_equal 'test-user-1', User.server.database('couchrest_tmp_users').get(user1.id)['login'] - assert_raises CouchRest::NotFound do - User.server.database('couchrest_users').get(user1.id) - end - end - -end diff --git a/vendor/gems/couchrest_session_store/test/database_rotation_test.rb b/vendor/gems/couchrest_session_store/test/database_rotation_test.rb deleted file mode 100644 index 856db11..0000000 --- a/vendor/gems/couchrest_session_store/test/database_rotation_test.rb +++ /dev/null @@ -1,88 +0,0 @@ -require_relative 'test_helper' - -class RotationTest < MiniTest::Test - - class Token < CouchRest::Model::Base - include CouchRest::Model::Rotation - property :token, String - rotate_database 'test_rotate', :every => 1.day - end - - TEST_DB_RE = /test_rotate_\d+/ - - def test_rotate - delete_all_dbs - doc = nil - original_name = nil - next_db_name = nil - - Time.stub :now, Time.gm(2015,3,7,0) do - Token.create_database! - doc = Token.create!(:token => 'aaaa') - original_name = Token.rotated_database_name - assert database_exists?(original_name) - assert_equal 1, count_dbs - end - - # do nothing yet - Time.stub :now, Time.gm(2015,3,7,22) do - Token.rotate_database_now(:window => 1.hour) - assert_equal original_name, Token.rotated_database_name - assert_equal 1, count_dbs - end - - # create next db, but don't switch yet. - Time.stub :now, Time.gm(2015,3,7,23) do - Token.rotate_database_now(:window => 1.hour) - assert_equal 2, count_dbs - next_db_name = Token.rotated_database_name(Time.gm(2015,3,8)) - assert original_name != next_db_name - assert database_exists?(next_db_name) - sleep 0.2 # allow time for documents to replicate - assert_equal( - Token.get(doc.id).token, - Token.get(doc.id, database(next_db_name)).token - ) - end - - # use next db - Time.stub :now, Time.gm(2015,3,8) do - Token.rotate_database_now(:window => 1.hour) - assert_equal 2, count_dbs - assert_equal next_db_name, Token.rotated_database_name - token = Token.get(doc.id) - token.update_attributes(:token => 'bbbb') - assert_equal 'bbbb', Token.get(doc.id).token - assert_equal 'aaaa', Token.get(doc.id, database(original_name)).token - end - - # delete prior db - Time.stub :now, Time.gm(2015,3,8,1) do - Token.rotate_database_now(:window => 1.hour) - assert_equal 1, count_dbs - end - end - - private - - def database(db_name) - Token.server.database(Token.db_name_with_prefix(db_name)) - end - - def database_exists?(dbname) - Token.database_exists?(dbname) - end - - def delete_all_dbs(regexp=TEST_DB_RE) - Token.server.databases.each do |db| - if regexp.match(db) - Token.server.database(db).delete! - end - end - end - - def count_dbs(regexp=TEST_DB_RE) - Token.server.databases.grep(regexp).count - end - -end diff --git a/vendor/gems/couchrest_session_store/test/session_document_test.rb b/vendor/gems/couchrest_session_store/test/session_document_test.rb deleted file mode 100644 index 43fbbca..0000000 --- a/vendor/gems/couchrest_session_store/test/session_document_test.rb +++ /dev/null @@ -1,27 +0,0 @@ -require_relative 'test_helper' - -class SessionDocumentTest < MiniTest::Test - - def test_storing_session - sid = '1234' - session = {'a' => 'b'} - options = {} - couchrest_session = CouchRest::Session.build_or_update(sid, session, options) - couchrest_session.save - couchrest_session.fetch(sid) - assert_equal session, couchrest_session.to_session - end - - def test_storing_session_with_conflict - sid = '1234' - session = {'a' => 'b'} - options = {} - cr_session = CouchRest::Session.build_or_update(sid, session, options) - cr_session2 = CouchRest::Session.build_or_update(sid, session, options) - cr_session.save - cr_session2.save - cr_session2.fetch(sid) - assert_equal session, cr_session2.to_session - end - -end diff --git a/vendor/gems/couchrest_session_store/test/session_store_test.rb b/vendor/gems/couchrest_session_store/test/session_store_test.rb deleted file mode 100644 index 5949ae6..0000000 --- a/vendor/gems/couchrest_session_store/test/session_store_test.rb +++ /dev/null @@ -1,168 +0,0 @@ -require File.expand_path(File.dirname(__FILE__) + '/test_helper') - -class SessionStoreTest < MiniTest::Test - - def test_session_initialization - sid, session = store.send :get_session, env, nil - assert sid - assert_equal Hash.new, session - end - - def test_normal_session_flow - sid, session = never_expiring_session - assert_equal [sid, session], store.send(:get_session, env, sid) - store.send :destroy_session, env, sid, {} - end - - def test_updating_session - sid, session = never_expiring_session - session[:bla] = "blub" - store.send :set_session, env, sid, session, {} - assert_equal [sid, session], store.send(:get_session, env, sid) - store.send :destroy_session, env, sid, {} - end - - def test_prevent_access_to_design_docs - sid = '_design/bla' - session = {views: 'my hacked view'} - assert_raises CouchRest::NotFound do - store_session(sid, session) - end - end - - def test_unmarshalled_session_flow - sid, session = init_session - store_session sid, session, :marshal_data => false - new_sid, new_session = store.send(:get_session, env, sid) - assert_equal sid, new_sid - assert_equal session[:key], new_session["key"] - store.send :destroy_session, env, sid, {} - end - - def test_unmarshalled_data - sid, session = init_session - store_session sid, session, :marshal_data => false - couch = CouchTester.new - data = couch.get(sid)["data"] - assert_equal session[:key], data["key"] - end - - def test_logout_in_between - sid, session = never_expiring_session - store.send :destroy_session, env, sid, {} - other_sid, other_session = store.send(:get_session, env, sid) - assert_equal Hash.new, other_session - end - - def test_can_logout_twice - sid, session = never_expiring_session - store.send :destroy_session, env, sid, {} - store.send :destroy_session, env, sid, {} - other_sid, other_session = store.send(:get_session, env, sid) - assert_equal Hash.new, other_session - end - - def test_stored_and_not_expired_yet - sid, session = expiring_session - couchrest_session = CouchRest::Session.fetch(sid) - expires = couchrest_session.send :expires - assert expires - assert !couchrest_session.expired? - assert (expires - Time.now) > 0, "Exiry should be in the future" - assert (expires - Time.now) <= 300, "Should expire after 300 seconds - not more" - assert_equal [sid, session], store.send(:get_session, env, sid) - end - - def test_stored_but_expired - sid, session = expired_session - other_sid, other_session = store.send(:get_session, env, sid) - assert_equal Hash.new, other_session, "session should have expired" - assert other_sid != sid - end - - def test_find_expired_sessions - expired, expiring, never_expiring = seed_sessions - expired_session_ids = store.expired.map {|row| row['id']} - assert expired_session_ids.include?(expired) - assert !expired_session_ids.include?(expiring) - assert !expired_session_ids.include?(never_expiring) - end - - def test_find_never_expiring_sessions - expired, expiring, never_expiring = seed_sessions - never_expiring_session_ids = store.never_expiring.map {|row| row['id']} - assert never_expiring_session_ids.include?(never_expiring) - assert !never_expiring_session_ids.include?(expiring) - assert !never_expiring_session_ids.include?(expired) - end - - def test_cleanup_expired_sessions - sid, session = expired_session - store.cleanup(store.expired) - assert_raises CouchRest::NotFound do - CouchTester.new.get(sid) - end - end - - def test_keep_fresh_during_cleanup - sid, session = expiring_session - store.cleanup(store.expired) - assert_equal [sid, session], store.send(:get_session, env, sid) - end - - def test_store_without_expiry - sid, session = never_expiring_session - couch = CouchTester.new - assert_nil couch.get(sid)["expires"] - assert_equal [sid, session], store.send(:get_session, env, sid) - end - - def app - nil - end - - def store(options = {}) - @store ||= CouchRest::Session::Store.new(app, options) - end - - def env(settings = {}) - env ||= settings - end - - # returns the session ids of an expired, and expiring and a never - # expiring session - def seed_sessions - [expired_session, expiring_session, never_expiring_session].map(&:first) - end - - def never_expiring_session - store_session *init_session - end - - def expiring_session - sid, session = init_session - store_session(sid, session, expire_after: 300) - end - - def expired_session - expire_session *expiring_session - end - - def init_session - sid, session = store.send :get_session, env, nil - session[:key] = "stub" - return sid, session - end - - def store_session(sid, session, options = {}) - store.send :set_session, env, sid, session, options - return sid, session - end - - def expire_session(sid, session) - CouchTester.new.update sid, - "expires" => (Time.now - 10.minutes).utc.iso8601 - return sid, session - end - -end diff --git a/vendor/gems/couchrest_session_store/test/setup_couch.sh b/vendor/gems/couchrest_session_store/test/setup_couch.sh deleted file mode 100755 index 731534b..0000000 --- a/vendor/gems/couchrest_session_store/test/setup_couch.sh +++ /dev/null @@ -1,7 +0,0 @@ -HOST="http://localhost:5984" -echo "couch version :" -curl -X GET $HOST - -curl -X PUT $HOST/couchrest_sessions -curl -X PUT $HOST/couchrest_sessions/_design/Session --data @design/Session.json - diff --git a/vendor/gems/couchrest_session_store/test/stress_test.rb b/vendor/gems/couchrest_session_store/test/stress_test.rb deleted file mode 100644 index b74b132..0000000 --- a/vendor/gems/couchrest_session_store/test/stress_test.rb +++ /dev/null @@ -1,51 +0,0 @@ -require_relative 'test_helper' - -# -# This doesn't really test much, but is useful if you want to see what happens -# when you have a lot of documents. -# - -class StressTest < MiniTest::Test - - COUNT = 200 # change to 200,000 if you dare - - class Stress < CouchRest::Model::Base - include CouchRest::Model::Rotation - property :token, String - property :expires_at, Time - rotate_database 'stress_test', :every => 1.day, :expiration_field => :expires_at - end - - def test_stress - delete_all_dbs /^couchrest_stress_test_\d+$/ - - Stress.database! - COUNT.times do |i| - doc = Stress.create!(:token => SecureRandom.hex(32), :expires_at => expires(i)) - end - - Time.stub :now, 1.day.from_now do - Stress.rotate_database_now(:window => 1.hour) - sleep 0.5 - assert_equal (COUNT/100)+1, Stress.database.info["doc_count"] - end - end - - private - - def delete_all_dbs(regexp=TEST_DB_RE) - Stress.server.databases.each do |db| - if regexp.match(db) - Stress.server.database(db).delete! - end - end - end - - def expires(i) - if i % 100 == 0 - 1.hour.from_now.utc - else - 1.hour.ago.utc - end - end -end diff --git a/vendor/gems/couchrest_session_store/test/test_clock.rb b/vendor/gems/couchrest_session_store/test/test_clock.rb deleted file mode 100644 index 4170763..0000000 --- a/vendor/gems/couchrest_session_store/test/test_clock.rb +++ /dev/null @@ -1,12 +0,0 @@ -class TestClock - attr_accessor :now - - def initialize(tick = 60) - @tick = tick - @now = Time.now - end - - def tick(seconds = nil) - @now += seconds || @tick - end -end diff --git a/vendor/gems/couchrest_session_store/test/test_helper.rb b/vendor/gems/couchrest_session_store/test/test_helper.rb deleted file mode 100644 index 32f147d..0000000 --- a/vendor/gems/couchrest_session_store/test/test_helper.rb +++ /dev/null @@ -1,9 +0,0 @@ -require "rubygems" -gem 'minitest' -require 'minitest/autorun' -require File.expand_path(File.dirname(__FILE__) + '/../lib/couchrest_session_store.rb') -require File.expand_path(File.dirname(__FILE__) + '/couch_tester.rb') -require File.expand_path(File.dirname(__FILE__) + '/test_clock.rb') - -# Create the session db if it does not already exist. -CouchRest::Session::Document.create_database! -- cgit v1.2.3